LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制。
pv:物理卷,被lv命令处理过的物理分区
vg:物理卷组,被组装到一起的物理卷
pe:图里扩展,lvm设备的最小存储单元lvm是pe的整数倍
lvm:逻辑卷,直接使用的设备,可以增大缩减并保持原有数据不变
lvm建立
分区并设定分区的标签为8e
fdisk -l
fdisk /dev/vdb
更改标签为8e
pvcreate /dev/vdb1 初始化物理卷分区
vgcreate vg0 /dev/vdb1 名字为vg由/dev/vdb组成的物理卷组
lvcreate -L 20M -n lv0 vg0 划出vg0的20M的空间给lv0
mksf.xfs /dev/vg0/lv0 格式化xfs格式
mount /dev/vg0/lv0 /mnt 挂载
df -H /mnt 查看mnt挂载信息
lvm的拉伸
lvm支持热拉伸(xfs格式只能拉伸不支持缩减,ext可拉伸可缩减)
当vg中的剩余容量充足情况
lvextend -L 80M /dev/vg0/lv0 拉伸设备到80M
xfs_growfs /dev/vg0/lv0 拉伸文件系统
当vg中的容量不足时
再次建立分区并修改标签为8e
fdisk /dev/vdb
pvcreate /dev/vdb2
vgextend vg0 /dev/vdb2 拉伸物理卷组
lvextend -L 80M vg0
xfs_grow /dev/vg0/lv
针对ext文件系统的设备的拉伸和缩减
umount /mnt 卸载
mkfs.ext4 /dev/vg0/lv0 格式化为ext4格式
mount /dev/vg0/lv0 /mnt 重新挂载
拉伸
lvextend -L 250M /dev/vg0/lv0 拉伸设备到250M
resize2fs /dev/vg0/lv0 拉伸文件系统
缩减
umount /dev/vg0/lv0 卸载
e2fsck -f /dev/vg0/lv0 扫描
resize2fs /dev/vg0/lv0 100M 压缩设备到100M
lvreduce -L 100M /dev/vg0/lv0 压缩文件系统到100M
mount /dev/vg0/lv0 /mnt 挂载
缩减vg
移除空闲pv
vgreduce vg0 /dev/vdb2
移除含有数据的设备
pvmove /dev/vdb1 /dev/vdb2 把vdb1 的数据移到vdb2
vgreduce vg0 /dev/vdb1 移除空闲的vdb1
pvremove /dev/vdb1 删除vdb1
lvm快照(等同虚拟机快照原理)
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0
制造一个40M大小的lvm快照,命名为lv0-backup
mount /dev/vg0/lv0-backup /mnt 把快照挂载到/mnt/
ls /mnt ====> lost found lvm快照已损坏
rm -fr /mnt/* 删除/mnt/内挂载的lvm快照,重复过程,制作新的快照挂载到/mnt/
umount /mnt
lvremove /dev/vg0/lv0-backup
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0
mount /dev/vg0/lv0-backup /mnt
lvm的删除
umount /mnt/ 先卸载设备
lvremove /dev/vg0/lv0-backup 删除快照
lvremove /dev/vg0/lv0 移除lv0
vgremove vg0 移除vg0
pvremove /dev/vdb2 移除vdb0
fdisk /dev/vdb 输入d 删除磁盘分区