lvm是类unix系统下的软件硬盘管理方式
物理卷是lvm所使用的基础“物理”存储,着通常是块设备,例如分区或完整磁盘,设备必须初始化为LVM物理卷,才能与LVM结合使用。
卷组是存储池,由一个或多个物理卷组成。
物理区块是物理卷中存储的小型数据区块,用作LVM存储的后端
逻辑卷有助于更加轻松地管理磁盘空间。如果文件系统需要更多的空间,可以将其卷组的可用空间分配给逻辑卷,并且可以调整文件系统的大小
####lvm逻辑卷管理###
pv ##物理卷,被lv命令处理过的物理分区
vg ##物理卷组,被组装到一起的物理卷
pe ##物理扩展,lvm设备的最小存储单元,1vm是pe的整数倍
lvm ##逻辑卷,直接使用的设备,可以增大缩减并保持原有数据不变
1.lvm建立
分区并设定分区标签为8e
pvcreate /dev/vdb ##用于初始化分区
vgcreate vg0 /dev/vdb ##创建物理卷组
lvcreate -L 20M -n lv0 vg0 ##从vg0上可用物理区块创建名为lv0,容量为2G的信逻辑卷
mkfs.xfs /dev/vg0/lv0 ##创建文件系统,进行格式化
mount /dev/vg0/lv0 /mnt
df -H /mnt ## -H 10^n -h 2^n
2.lvm的拉伸
lvm支持热拉伸
(1)当vg中的剩余容量充足情况
lvextend -L 80M /dev/vg0/lv0 ##拉伸设备
xfs_grow /dev/vg0/lv0 ##拉伸文件系统
注意:如果只执行第一步,那么只是将vg0里面的容量变成80M,lv0里面的文件系统的大小没有变化,不执行下面那一步的话,lv0能使用的大小依旧是原来的大小,扩展后的那部分没有文件系统,所以不能使用。
(2)当vg0中的容量不足时
再次建立分区并修改标签为8e
pvcreate /dev/vdb1
vgextend vg0 /dev/vdb1 ##拉伸物理券组
lvextend -L 200M vg0
xfs_grow /dev/vg0/lv0 ##拉伸文件系统
注意:想要查看pv,vg,lv时,可以使用命令pvs,vgs,lvs.
也可以用监控 watch -n 1 “ pvs;vgs;lvs;df -h /mnt ”
注意:此时的文件类型是xfs,不支持缩减。但是设备可以缩减。ext文件系统的文件支持拉伸和缩减
blkid 可以查看/dev/vdb1是xfs格式的
3.针对ext文件系统的设备的拉伸和缩减
umount /mnt
mkfs.ext4 /dev/vg0/lv0 ##格式化成ext模式
mount /dev/vg0/lv0 /mnt
##拉伸
lvextend -L 250M /dev/vg0/lv0 ##拉伸LVM
resize2fs /dev/vg0/lv0 ##拉伸文件系统
##缩减
(1)缩减lvm
umount /dev/vg0/lv0 /mnt
e2fsck -f /dev/vg0/lv0 ##检测文件的使用情况和总容量
resize2fs /dev/vg0/lv0 100M
##如果这个后面不跟100M,代表将其填满:跟上小容量代表缩减
lvreduce -L 100M /dev/vg0/lv0 ##缩减lvm到100M
mount /dev/vg0/lv0 /mnt
(2)缩减vg
移除空闲的vg
vgremove vg0 /dev/vdb2
移除含有数据的设备(两个都必须在vg0里面)
##可以把含有的数据移到另一个pv里面,当移动数据的时候,不可以按ctrl+c强迫停止,会使两边的数据都丢失
pvmove /dev/vdb1 /dev/vdb2
vgreduce vg0 /dev/vdb1
如果想要把删除的vdb彻底从pv里面删除
pvremove /dev/vdb1
4.lvm的快照
这个快照和虚拟机的快照是一样的,访问快照lv0-backup其实是通过快照,去访问母盘lv0,快照的大小比母盘的大小要小,对快照的修改其实是对通过母盘将修改写入快照
lvcreate -L 40M -n lv0-backup -s
/dev/vg0/lv0
##快照的大小取决于要修改原lvm的大小,如果修改的大小比修改原来定的40M大,那么快照会损坏,损坏的快照不能挂载。
mount /dev/vg0/lv0-backup /mnt
模仿快照损坏 rm -fr
/mnt/*
解决方式:删除原来的快照,再重新照一张
unmount /mnt
lvremove /dev/vg0/lv0-backup
lvcreate -L 40M -n lv0-backup -s
/dev/vg0/lv0
mount /dev/vg0/lv0-backup /mnt
5.lvm的删除(要按照以下的顺序删除)
lvremove /dev/vg0/lv0-backup
lvremove /dev/vg0/lv0
vgremove vg0
pvremove /dev/vdb
原文地址:https://www.cnblogs.com/wf-aiyouwei/p/9420444.html