lvm

                                                lvm

pv  ##物理卷

     被lv命令处理过的物理分区

vg  ##物理卷组
      被组装到一起的物理卷

pe  ##图里扩展
      lvm设备的最小存储单元lvm是pe的整数倍

lvm  ##逻辑卷
       直接使用的设备,可以增大缩减并保持原有数据不变

一、lvm建立
1.分区并设定分区标签为8e

pvcreate /dev/vdb1            ##把物理分区做成物理卷
pvs|pvdisplay                 ##查看物理卷

lvm
vgcreate vg0 /dev/vdb1        ##用制作好的/dev/vdb1这个物理卷制作一个物理卷组vg0
vgs|vgdisplay                 ##查看物理卷组

lvm

lvm
lvcreate -L 20M -n lv0 vg0    ##在vg0这个组中建立出lv0设备 -L 指定设备大小 -n 指定设备名字
lvs|lvdisplay                 ##对逻辑卷设备进行查看

lvm

lvm
mkfs.xfs /dev/vg0/lv0         ##把lv0格式化成xfs格式

mount /dev/g0/lv0 /mut

 

二、lvm的拉伸
lvm支持热拉伸(也就是在线拉伸)

1.当vg中的剩余容量充足情况
lvextend -L 80M /dev/vg0/lv0       ##扩大lvm设备到80M
xfs_growfs /dev/vg0/lv0         ##扩大xfs文件系统到设备大小

lvm

lvm

lvm

2.当vg中的容量不足时
再次建立分区并修改标签8E
pvcreate /dev/vdb2
vgextend vg0 /dev/vdb2   ##拉伸物理卷
lvextend -L 80M vg0
xfs_growfs /dev/vg0/lv

3.针对ext文件系统的设备的拉伸和缩减
umount /mnt
mkfs.ext4 /dev/vg0/lv0
mount /dev/vg0/lv0 /mnt

lvm

1)lvm拉伸
lvextend -L 250M /dev/vg0/lv0   ##扩大lvm设备到250M
resize2fs /dev/vg0/lv0   ##设定文件系统大小和设备同步

lvm

2)vg扩大
pvcreate /dev/vdb3 ##在pv中增加一块设备/dev/vdb3

#缩减
1)缩减lvm
umount /dev/vg0/lv0   ##卸载设备,因为文件系统缩减不支持在线操作
e2fsck -f /dev/vg0/lv0   ##检测文件系统,确定文件系统中已有数据大小防止过度缩减

lvm
resize2fs /dev/vg0/lv0 100M   ##把文件系统缩减到100M
lvreduce -L 100M /dev/vg0/lv0 ##设备缩减到100M

lvm
mount/dev/vg0lv0 /mnt

2)缩减vg

在vg缩减时只能缩减没有被占用的设备
移除空闲pv
vgreduce vg0 /dev/vdb2

lvm

 

移除含有数据的设备
vgreduce vg0 /dev/vdb2   ##把vg0中的/dev/vdb2删除
vgreduce vg0 /dev/vdb1   ##把vg0中的/dev/vdb1删除
pvreduce /dev/vdb1        ##把设备1上的所有数据移动到设备2上

三、lvm快照
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0    ##给/dev/vg0/lv0建立快照,-L 指定快照大小,-n指定快照名字 -s指定快照模板设备
mount /dev/vg0/lv-backup /mnt   ##当快照设备里的数据被更改,如果想还原,删除快照设备,在重新建立快照即可
rm -fr /mnt/*

lvm

四、lvm的删除

lvremove—->vgremove—–>pvremove
lvremove /dev/vg0/lv-backup
lvremove /dev/vg0/lv0
vgremove vg0
pvremove /dev/vdb2

lvm