准备知识
名词解释
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
删除和建立过程相反