1.LVM基本术语
lvm是在磁盘分区和文件系统之间添加一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。
物理卷pv
卷组vg
物理块pe
逻辑卷lvm
2.lvm的建立
fdisk /dev/vdb ##建立分区,修改其类型为8e
pvcreate /dev/vdb1 ##创建物卷
vgcreate vg0 /dev/vdb1 ##创建物理卷组
lvcreate -L 50M -n lv0 vg0 ###创建逻辑卷
mkfs.xfs /dev/vg0/lv0 ###格式化设备
mount /dev/vg0/lv0 /westos ###设备挂载投入使用
[root@localhost ~]# watch -n 1 'pvs;echo +++++++++++;vgs;echo ++++++++;lvs;echo =====================;df -h /mnt' ##监控命令
【示例】先将分区类型改为lvm
执行上面的步骤
监控后可以看到执行后的结果是否符合
3.lvm的拉伸
当vg中剩余量充足时
lvextend -L 70M /dev/vg0/lv0 ###逻辑卷的扩充
xfs_growfs /dev/vg0/lv0 ###更新
【示例】扩充逻辑卷到70M,更新
监控中逻辑卷由原来的49M变为了69M
当vg剩余余量不足时
新建分区
pvcreate /dev/vdb2 ###创建物理卷
vgextend vg0 /dev/vdb2 ###创建物理卷组
lvextend -L 700M /dev/vg0/lv0 ##扩充逻辑卷
xfs_growfs /dev/vg0/lv0 ###更新
【示例】执行上面的步骤
监控中逻辑卷的大小变为了397M
在ext文件系统中
解绑
mkfs.ext4 /dev/vg0/lv0 ##格式化
lvextend -L 900M /dev/vg0/lv0 ##拉伸物理卷组
resize2fs /dev/vg0/lv0 ##拉伸逻辑卷
【示例】如果要用以前的逻辑卷组,先解挂然后格式化
拉伸逻辑卷组然后拉伸物理卷,挂载然后监控
监控中的逻辑卷扩充到了500M
3.缩减
###对设备
umount /mnt ##解挂
e2fsck -f /dev/vg0/lv0 ###扫描
resize2fs /dev/vg0/lv0 200M ###缩减文件系统
mount /dev/vg0/lv0 /mnt ###主要是为了监控
lvreduce -L 200M /dev/vg0/lv0 ###缩减设备
【示例】先缩减文件系统,监控中可以看到文件系统容量变为187M,设备没有变大小
设备缩剪后,监控中设备大小变为200M
###对卷组
pvmove /dev/vdb1 /dev/vdb2 ##要移出的分区存在数据 ,那么需要把数据移到其他pv中
vgreduce vg0 /dev/vdb1 ###把vg0设备移出
pvremove /dev/vdb1 ###移出vdb1设备
【示例】比如下列情况,我可以先把vdb1的内容挪到vdb2中
然后执行上面步骤
移走后vdb1中为空,就可以移走这个设备
删除后的结果
4.lvm 的快照
lvcreate -L 100M -n lv0backup -s /dev/vg0/lv0 ##创建快照
lvremove /dev/vg0/lv0backup ##删除快照
5.lvm 的删除
umount /dev/vg0/lv0backup ###解挂
lvremove /dev/vg0/lv0backup ##删除快照
lvremove /dev/vg0/lv0 ###删除逻辑卷
vgremove vg0 ###删除逻辑卷组
pvremove /dev/vdb2 ###删除物理卷
fdisk /dev/vdb ##删除分区
【示例】执行上面的步骤,每步成功后会有提示