逻辑卷管理器LVM(Logical Volume Manager)在硬盘分区和文件系统之间添加了一个逻辑层,提供了一个抽象的卷组,允许多块硬盘进行卷组合并,不必关注物理硬盘设备的底层架构和布局,实现对硬盘资源的动态调整。
条带化逻辑卷在物理卷上平均写入数据,当数据写入条带化逻辑卷时,数据将条带化到所有磁盘上,从而提高IO性能
1. 创建物理卷
lsblk #查看添加好的物理硬盘
pvcreate /dev/sd[a-d] #创建物理卷
pvs #查看物理卷信息
pvdisplay #查看详细信息
2.创建卷组
vgcreate vg_data /dev/sd[a-d] #创建卷组
vgs #查看卷组信息
vgdisplay #查看详细信息
3.创建逻辑卷/条带卷
lvcreate -L 20G -n lv_data vg_data #创建逻辑卷(20G大小,命名为lv_data)
lvcreate -L 20G -i 4 -I 128k -n lv_data vg_data /dev/sd[a-d] #创建条带卷(20G大小,4个条带数量,128k单个条带大小)
lvdisplay #查看详细信息
lvdisplay /dev/vg_data/lv_data -m #查看条带卷信息
4.验证条带卷使用的磁盘
dmsetup deps /dev/vg_data/lv_data #列出磁盘中的major和minor号对照磁盘是否一致
5.格式化并挂载条带卷
mkdir /data
mkfs.xfs -f /dev/vg_data/lv_data #格式化条带卷(设备映射文件/dev/卷组名称/逻辑卷名称)
mount /dev/vg_data/lv_data /data/ #挂载条带卷
XFS文件系统自身可使用xfs_growfs命令进行磁盘扩容,但推荐使用ext4,XFS与LVM兼容性不是很好。
6.扩容以及缩容逻辑卷
umount /data #提前卸载设备
lvextend -L 20G /dev/vg_data/lv_data #扩容20G
e2fsck -f /dev/vg_data/lv_data #核对系统完整性(支持ext4/ext3/ext2格式)
resize2fs /dev/vg_data/lv_data #手动同步到系统内核(支持ext4/ext3/ext2格式)
mount -a #重新挂载
e2fsck -f /dev/vg_data/lv_data #提前核对系统完整性
resize2fs /dev/vg_data/lv_data #提前通知系统缩容
lvreduce -L 20G /dev/vg_data/lv_data #缩容20G
mount -a #重新挂载
7.卸载并还原磁盘
umount /data #卸载条带卷
lvremove /dev/vg_data/lv_data 移除条带卷
vgremove /dev/vg_data #移除卷组
pvremove /dev/sd[a-d] #移除物理卷
8.快照功能
先确保卷组有存储空间,然后卸载设备(一般操作都需要提前umount)
lvcreate -L 20M -s -n snapshot /dev/vg_data/lv_data #创建snapshot快照
lvconvert --merge /dev/vg_data/snapshot #回复快照(成功后自动删除)