一、什么是LVM
LVM全名是Logical volume Manager,即逻辑卷管理器。LVM的做法是将几个物理的分区(或磁盘)通用软件组合成为一块看起来是独立的大磁盘(vg),然后将这块大磁盘再经过分成为可使用分区(lv),最终就可以挂载使用了。
-
pv(物理卷)
被lv命令处理过的物理分区 -
vg(物理卷组)
被组装到一起的物理卷 -
pe(物理扩展块)
lvm设备的最小存储单元lvm是pe的整数倍 -
lv(逻辑卷)
直接使用的设备,可以增大缩减并保持原有数据不变
二、LVM的建立
注:为了可以更直观的看到pv,vg,lv的变化可用下面命令监控。
watch -n 1 'pvs;echo ======;vgs;echo ======;lvs;echo =====;df -h /mnt/'
fdisk /dev/vdb ##更改vdb5和vdb6的分区标签为8e,即LVM
pvcreate /dev/vdb5 ##创建vdb5物理卷
pvcreate /dev/vdb6 ##创建vdb6物理卷
vgcreate vg0 /dev/vdb5 ##创建vg0物理卷组,并添加vdb5
vgextend vg0 /dev/vdb6 ##添加vdb6到vg0物理卷组
lvcreate -L 500M -n lv0 vg0 ##从物理卷组vg0中取出500M,放入lv0物理扩展中
mkfs.xfs /dev/vg0/lv0 ##格式化lv0
mount /dev/vg0/lv0 /mnt ##挂载lv0到mnt下
三、lvm的拉伸与缩减
1. xfs文件系统的拉伸
注:xfs文件系统只可以被拉伸,不可缩减
lvextend -L 800M /dev/vg0/lv0 ##改变lv设备大小为800M
xfs_growfs /dev/vg0/lv0 ##格式化扩展出来的部分
2.ext文件系统
(1)拉伸
umount /mnt/ ##卸载
mkfs.ext4 /dev/vg0/lv0 ##格式化文件系统为ext4
mount /dev/vg0/lv0 /mnt/ ##挂载
lvextend -L 900M /dev/vg0/lv0 ##拉伸lv设备到900M
resize2fs /dev/vg0/lv0 ##拉伸文件系统和lv设备大小一致
(2)缩减
umount /mnt ##卸载
e2fsck -f /dev/vg0/lv0 ##查看最小可缩减到多少
resize2fs /dev/vg0/lv0 480M ##缩减文件系统为480M
mount /dev/vg0/lv0 /mnt/ ##挂载
lvreduce -L 480M /dev/vg0/lv0 ##缩减lv设备为480M
vgreduce vg0 /dev/vdb5 ##缩减vg0
pvremove /dev/vdb5 ##删除闲置分区
(3)快照
umount /mnt/ ##卸载
lvcreate -L 50M -n /dev/vg0/lv_ww -s /dev/vg0/lv0 ##建立快照lv_ww为50M
mount /dev/vg0/lv_ww /mnt ##挂载快照
四、LVM的删除
umount /mnt ##卸载
lvremove /dev/vg0/lv0_ww ##删除lv0快照
lvremove /dev/vg0/lv0 ##删除lv0
vgremove vg0 ##删除vg0
pvremove /dev/vdb5 ##删除pv下的vdb5
pvremove /dev/vdb6 ##删除pv下的vdb6
fdisk /dev/vdb ##删除分区