LVM逻辑卷管理通过将底层物理硬盘抽象封装起来,以逻辑卷的形式表现给上层系统,逻辑卷的大小可以动态调整,而且不会丢失数据。新加入的硬盘也不会改变现有上层的逻辑卷。
PE:物理扩展
PV:物理卷
VG:卷组
LV:逻辑卷
- 物理磁盘被格式化为PV(物理卷),空间被分为一个个PE
- 不同PV加入同一个VG(卷组),不同PV(物理卷)的PE全部进入VG(卷组)的PE池内
- LV(逻辑卷)基于PE创建,大小为PE的整数倍,组成LV(逻辑卷)的PE可能来自不同的物理磁盘
- LV(逻辑卷)现在就可格式化后挂载直接使用
- LV(逻辑卷)的扩充缩减实际上就是增加或减少组成该LV(逻辑卷)的PE的数量,其过程不丢失数据
创建LVM
1. 将物理磁盘设备初始化为PV(物理卷)
pvcreate /dev/sdb /dev/sdc
2. 创建VG(卷组),并将PV(物理卷)加入卷组中
vgcreate vgname /dev/sdb /dev/sdc
3. 基于VG(卷组)创建LV(逻辑卷)
lvcreate -n lvname -L 10G vgname
4. 为创建好的LV(逻辑卷)创建文件系统
mkfs.xfs /dev/vgname/lvname
5. 将格式化好的LV(逻辑卷)挂载使用
mount /dev/vgname/lvname /mnt
查看PV(物理卷)信息
pvdisplay(详细信息)
pvs
查看VG(卷组)信息
vgdisplay(详细信息)
vgs
查看LV(逻辑卷)信息
lvdisplay(详细信息)
lvs
1. 删除LV(逻辑卷)
lvremove /dev/vgname/lvname
2. 删除VG(卷组)
vgremove vgname
3. 删除PV(物理卷)
pvremove /dev/sdb /dev/sdc
VG(卷组)扩容
1. 将要添加到VG(卷组)的硬盘格式化为PV(物理卷)
pvcreate /dev/sdd
2. 将新的PV(物理卷)添加到指定卷组中
vgextend vgname /dev/sdd
3. 查看扩容后VG(卷组)大小
vgs
LV(逻辑卷)扩容
1. 查看VG(卷组)中是否有足够空间
vgs
2. 扩大LV(逻辑卷)
lvextend -L +10G /dev/vgname/lvname
3. 查看扩充后LV(逻辑卷大小)
lvs
4. 更新文件系统
xfs_growfs /dev/vgname/lvname #xfs文件系统
resize2fs /dev/vgname/lvname #ext4文件系统
5. 查看更新后文件系统
df -h
ext4逻辑卷缩小(xfs文件系统不支持缩小)
1. 逻辑卷缩小必须离线执行,需要卸载
umount /dev/vgname/lvname
2. 检查文件系统
e2fsck -f /dev/vgname/lvname
3. 缩小文件系统到19G
resize2fs /dev/vgname/lvname 19G
4. 缩小LV(逻辑卷)
注意:LV(逻辑卷)缩小空间一定要小于缩小文件系统后的剩余空间,否则可能会造成数据损坏
lvreduce -L -20G /dev/vgname/lvname
5. 查看缩小后的LV(逻辑卷)
lvs
6. 挂载
mount /dev/vgname/lvname /home
ll /home #查看文件是否损坏
ext4VG(卷组)缩小
umount /dev/vgname/lvname
将一个PV从指定卷组中移除
vgreduce vgname /dev/sdc
当pvs中显示sdc不属于任何VG(卷组)是方可移除
pvs
pvremove /dev/sdc
mount /dev/vgname/lvname /home/