Linux中lvm逻辑卷管理

准备知识

名词解释

PV(Physical Volume)           物理卷,被lv命令处理过的物理分区
VG
Volume Group)              物理卷组,被组装到一起的物理卷
PE
Physical Extend)           物理拓展,lvm设备的最小存储单元,lvm是pe的整数倍
LV
Logical Volume)            逻辑卷,直接使用的设备,可以增大所见并保持原有数据不变

结构图解

                                   (图取自:http://www.cnblogs.com/mchina/p/linux-centos-logical-volume-manager-lvm.html

一.lvm的建立

建立一个分区,并建立其标签位8e(Linux  LVM)。

建立分区过程见上文。

                                                                                (建立一个标签位为LVM的分区)

                                                                                   (同步并查看新建的分区)

                                                                                   (lvm的建立过程)

二.lvm的拉伸

lvm支持热拉伸

1.当vg中的剩余容量充足情况

lvextend -L 80M /dev/vg0/lv1		##拉伸设备
xfs_growfs /dev/vg0/lv0		        ##拉伸文件设备

                                                                                      (拉伸lv0的大小)

2.当vg中的容量不足时

再次建立分区并修改标签8E

                                                                                      (建立第二个分区)

pvcreate /dev/vdb2		#创建第二个物理卷
vgextend vg0 /dev/vdb2		##拉伸物理卷组
lvextend -L 80M dev/vg0/lv0	##给lv0进行扩容
xfs_growfs /dev/vg0/lv0		##拉伸文件设备

                                                                                 (创建第二个物理分区)

                                                                                      (拉伸物理卷组)

                                                                                   (给逻辑卷进行扩容)

                                                                                     (拉伸文件设备)

                                                                                     (查看扩容情况)

3.针对ext文件系统的设备的拉伸和缩减

umount /mnt                    ##卸载设备
mkfs.ext4 /dev/vg0/lv0         ##格式化为ext4文件系统
mount /dev/vg0/lv0 /mnt        ##重新挂载

拉伸

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

缩减

缩减lvm

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

pvmove /dev/vdb1 /dev/vdb2	##将/dev/vdb1中的数据转移到/dev/vdb2中
vgreduce vg0 /dev/vdb1		##把vg0中的/dev/vdb1移除
pvremove /dev/vdb1		##把/dev/vdb1上的lvm管理信息删除

四.lvm快照

在/dev/vg0/lv0挂载的情况下touch /mnt/file{1..3}
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0	##以lv0为模版建立一个大小为40M 的名为lv0-backup的快照
mount /dev/vg0/lv0-backup /mnt			
rm -fr /mnt/*

umount /mnt
lvremove /dev/vg0/lv0-backup
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0
mount /dev/vg0/lv0-backup /mnt
ls /mnt/  ##文件重新回来

                                                                                 (在/mnt/下建立文件)

                                                                                         (建立快照)

                                                                                         (挂载快照)

                                                                                  (删除/mnt/下的文件)

                                                                                         (移除快照)

                                                                                     (重新建立快照)

                                                                                        (挂载快照)

                                                                                     (文件重新出现)

五.lvm的删除

lvremove	/dev/vg0/lvo-backup
lvremove	/dev/vg0/lv0
vgremove	vg0
pvremove	/dev/vdb1
fdisk /dev/vdb

删除和建立过程相反

猜你喜欢

转载自blog.csdn.net/weixin_41179709/article/details/81460461