当前位置: 首页 > news >正文

[Linux] Linux逻辑卷管理

目录

逻辑卷基本管理

硬盘分区管理方案缺点

逻辑卷管理硬盘方案优点

逻辑卷基本概念

创建物理卷

创建卷组

创建逻辑卷

扩展和缩减卷组

环境准备

扩展卷组

删除卷组

扩展和缩减逻辑卷

扩展逻辑卷

缩减逻辑卷

扩展和缩减文件系统

扩展xfs文件系统

环境准备

第一步:扩展逻辑卷

第二步:扩展文件系统

扩展ext4文件系统

环境准备

扩展逻辑卷

扩展文件系统

缩减ext4文件系统

创建逻辑卷快照

将 home 未使用空间挪给 root


逻辑卷基本管理

硬盘分区管理方案缺点

  • 硬盘分区空间必须使用连续空间,所以硬盘分区扩容很麻烦,特别是要扩容的分区后没有空间。

  • 使用硬盘分区创建的文件系统不同跨多个硬盘,受单个硬盘容量限制。

  • 如果硬盘损坏,则文件系统中数据也会丢失。

逻辑卷管理硬盘方案优点

  • 使用逻辑卷可以更加灵活地扩展和缩减文件系统空间。

  • 使用逻辑卷创建的文件系统可以跨多个硬盘,适合创建超大容量文件系统。

  • 使用逻辑卷可以创建镜像卷,保证数据的冗余性。即使单个硬盘损坏,文件系统中数据也会丢失。

  • 使用逻辑卷还可以创建快照,保留某一时刻数据,就像虚拟机快照一样。

逻辑卷基本概念

LVM是逻辑卷管理的缩写,LVM将若干个磁盘或者磁盘分区链接为一个整块的卷组,形成一个存储池。管理员可以在卷组上任意创建逻辑卷,并进一步在逻辑卷上创建文件系统。

  • 物理卷PV,是LVM的基本存储逻辑块

  • 卷组VG,有一个或多个物理卷组成

  • 逻辑卷LV,是从卷组中创建出来的一个逻辑空间

创建物理卷

#创建单个pv
pvcreate /dev/sdb
#创建多个pv
pvcreate /dev/sd{c..d}
#查看pv列表

#查看单个pv详细信息
pvdisplay /dev/sdb

创建卷组

#创建包含单个PV的VG
vgcreate vg01 /dev/sdb
#创建包含多个PV的VG
vgcreate vg02 /dev/sd{c..d}
#查看pv表
pvs
#查看VG表
vgs

#查看单个VG详细信息
vgdisplay vg02

PE是PV的最小存储单元。在创建VG时可通过-s选项设置

创建逻辑卷

#在卷组vg01中创建一个逻辑卷:名称为data01,大小为5G
lvcreate -n data01 -L 5G vg01
#在卷组vg02中创建一个逻辑卷:名称为data02,大小为5G
lvcreate -n data02 -L 5G vg02#查看lv表
lvs

逻辑卷设备名由如下三种格式:

  • /dev/vname/lvame

  • /dev/mapper/vname-lvame

  • /dev/dm-N

#验证逻辑卷有没有创建成功
ls -l /dev/vg02/data02

清理LVM

[10:34:45 root@rocky8-znf ~]# umount /dev/vg01/data01[10:35:12 root@rocky8-znf ~]# lvremove /dev/vg01/data01 /dev/vg02/data02
Do you really want to remove active logical volume vg01/data01? [y/n]: yLogical volume "data01" successfully removed.
Do you really want to remove active logical volume vg02/data02? [y/n]: yLogical volume "data02" successfully removed.[10:35:44 root@rocky8-znf ~]# vgremove vg01 vg02Volume group "vg01" successfully removedVolume group "vg02" successfully removed[10:35:56 root@rocky8-znf ~]# pvremove /dev/sd{b..d}Labels on physical volume "/dev/sdb" successfully wiped.Labels on physical volume "/dev/sdc" successfully wiped.Labels on physical volume "/dev/sdd" successfully wiped.

扩展和缩减卷组

环境准备

#创建卷组
vgcreate vg01 /dev/sdb
#创建逻辑卷
lvcreate -n data01 -L 10G vg01

扩展卷组

如果卷组空间不足,可以通过添加新的物理卷到卷组中,以扩展卷组容量

vgextend vg01 /dev/sd{c..d}

删除卷组

如果卷组空间中有多余的物理卷或物理卷容量小需要更换,则可以将物理卷从卷组中删除。但是删除的物理卷不能在使用中。

#查看物理卷使用状态
pvs

#此时/dev/sdb正在使用,删除时会报错
vgreduce vg01 /dev/sdb

#将物理卷/dev/sdb中的数据移动到其他物理卷即可解决问题
pvmove /dev/sdb
#或移动到指定物理卷
pvmove /dev/sdb /dev/sdd

#再次查看物理卷状态
pvs

#此时/dev/sdb不在使用,可以删除
vgreduce vg01 /dev/sdb

扩展和缩减逻辑卷

扩展逻辑卷

#逻辑卷增加2G
lvextend -L +2G /dev/vg01/data01lvs /dev/vg01/data01

缩减逻辑卷

#逻辑卷减小2G
lvreduce -L -2G /dev/vg01/data01lvs /dev/vg01/data01

扩展和缩减文件系统

扩展xfs文件系统

XFS文件系统只支持扩展,不支持缩减

环境准备
#格式化文件系统并创建数据
mkfs.xfs /dev/vg01/data01
mkdir /data01
#挂载
mount /dev/vg01/data01 /data01#创建数据
cp /etc/host* /data01
ls /data01

第一步:扩展逻辑卷
lvextend -L 15G /dev/vg01/data01
lvs /dev/vg01/data01

第二步:扩展文件系统
xfs_growfs /data01
df -h /data01ls /data01

扩展ext4文件系统

EXT4文件系统既支持扩展,也支持缩减

环境准备
#格式化文件系统
umount /data01
mkfs.ext4 /dev/vg01/data01#挂载
mount /dev/vg01/data01 /data01
df -h /data01#准备文件
cp /etc/host* /data01
ls /data01
扩展逻辑卷
lvextend -L 30G /dev/vg01/data01
扩展文件系统
resize2fs /dev/vg01/data01

缩减ext4文件系统

缩减EXT4文件系统注意事项:

  • 不支持在线缩减,必须卸载后缩减。

  • 缩减后的容量,不能小于当前使用的容量。

ext4减容流程:

1.卸载文件系统

  1. e2fsck文件系统

3.缩减文件系统

4.缩减Iv

5.挂载测试

#卸载文件系统
umount /data01#检测文件系统
e2fsck -f /dev/vg01/data01#缩减文件系统
resize2fs /dev/vg01/data01 2G#缩减逻辑卷
lvreduce -L 2G /dev/vg01/data01#挂载验证
mount /dev/vg01/data01 /data01
df -h /data01

补充说明:

如果文件系统是构建在磁盘分区上,扩展文件系统容量和缩减文件系统容量操作相同。

创建逻辑卷快照

#卸载并删除逻辑卷
umount /dev/webapp/webapp01
lvremove /dev/webapp/webapp01#创建一个新的逻辑卷
lvcreate -n webapp01 -L 20G webapp 
#格式化
mkfs.xfs /dev/webapp/webapp01
#挂载
mount /dev/webapp/webapp01 /var/www/html/
#准备文件
cp -a html/* /var/www/html/#创建快照
lvcreate -s -n webapp01-snap1 -L 20G /dev/webapp/webapp01
#卸载,用于测试快照是否正常运行
umount /dev/webapp/webapp01
#挂载快照并验证
mount /dev/webapp/webapp01-snap1 /webapp/webapp01/
ls /webapp/webapp01/

将 home 未使用空间挪给 root

#检查/home挂载情况
df -hT /home
#备份/home数据
cp -a /home/ .
#卸载并删除/home
umount /home
lvremove /dev/rl/home 
#创建新的/home逻辑卷,并格式化
lvcreate -L 30G -n home rl
mkfs.xfs /dev/rl/home
#挂载并恢复数据
mount /dev/rl/home /home/
ls /home/
cp -a ./home/* /home/
#验证用户环境
su - demisse
df -h /home
#检查LVM状态
vgs
lvs
#扩展根文件系统
lvextend -rL +30G /dev/rl/root
lvs
vgs
http://www.dtcms.com/a/334525.html

相关文章:

  • 知识点汇总linuxC高级 -2系统命令压缩与链接
  • RK3568 NPU RKNN(三):RKNN-ToolKit2模型构建与推理
  • 【LeetCode】算法详解#13 ---回文链表
  • Vue 3.5重磅更新:响应式Props解构,让组件开发更简洁高效
  • [Linux] Linux交换空间管理 Linux系统启动原理
  • 慧穗云开放平台 CDK 开票对接
  • echart中x的0位置出现柱子宽度被裁掉一部分的问题
  • 技术日记2025年08月16日
  • 基于FPGA的实时图像处理系统(1)——SDRAM回环测试
  • python---异常处理
  • Redis知识整理
  • 【论文笔记】STORYWRITER: A Multi-Agent Framework for Long Story Generation
  • 云服务平台主流架构的相关知识体系剖析
  • ABM和强化学习-2015年全国大学生数学建模竞赛B题
  • 安卓11 12系统修改定制化_____修改系统 解锁system分区 去除data加密 自由删减系统应用
  • JetPack系列教程(七):Palette——让你的APP色彩“飞”起来!
  • sql链接的url中serverTimezone的作用
  • 【大模型微调系列-04】 神经网络基础与小项目实战
  • windows环境下使用vscode以及相关插件搭建c/c++的编译,调试环境
  • GIMP:功能强大的跨平台图像处理软件
  • 嵌入式硬件篇---电容本质
  • leetcodehot100 矩阵置零
  • Jenkins安装部署(Win11)和常见配置镜像加速
  • B3837 [GESP202303 二级] 画三角形
  • csrf攻击
  • 11、软件需求工程
  • AMD Ryzen AI Max+ 395四机并联:大语言模型集群推理深度测试
  • 智能二维码刷卡人脸识别梯控控制器硬件规格书​
  • 【C++】高效资源管理四剑客:RVO、NRVO、std::move、RAII 深度解析
  • 【3D重建技术】如何基于遥感图像和DEM等数据进行城市级高精度三维重建?