1.lvm
lvm 逻辑卷,可以让设备自由伸缩的一个设备管理软件。如果文件系统需要更多的空间 ,可以将其卷组的可用空间分配给逻辑卷 ,并且可以调整文件系统的大小。如果磁盘开始出现错误 ,可以通过卷组将替换磁盘注册为物理卷 ,并且逻辑卷的范围可迁移到新磁盘。
pv ##物理卷 被lv处理过的物理分区
vg ##物理卷组 被组装到一起的物理卷
pe ##物理扩展 lvm设备的最小存储单元 lvm是pe的整数倍
lvm ##逻辑卷 直接使用的设备,可以增大缩减并保持原有数据不变
2.lvm的制作
监控命令
watch -n 1 'pvs;vgs;lvs;df -H /dev/vg0/lv0'
首先划分lvm所用到的设备,这些设备的功能id必须是linux LVM
#lvm建立
1.分区并指定分区标签为8e
pvcreate /dev/vdb1 ##把物理分区做成物理卷
vgcreate vg0 /dev/vdb1 ##用制作好的/dev/vdb1这个物理卷制作一个物理卷组vg
lvcreate -L 20M -n lv0 vg0 ##在vg0这个组中建立出lv0设备 -L 指定设备大小 -n指定设备名
mkfs.xfs /dev/vg0/lv0
mount /dev/vg0/lv0 /mnt
df -H /mnt
#lvm的拉伸
lvm支持热拉伸 ##xfs文件系统只能扩大不能缩减
1.当vg中的剩余容量充足情况
lvextend -L 80M /dev/vg0/lv0 ##拉神设备
xfs_growfs /dev/vg0/lv0 ##拉神文件系统
2.当vg中的容量不足时
再次建立分区并修改标签8e
pvcreate /dev/vdb2 ## 在pv中增加一块设备/dev/vdb2
vgextend vg0 /dev/vdb2 ##把新建立的/dev/vdb2添加到vg0中
lvcreate -L 80M vg0
xfs_growfs /dev/vg0/lv0
3.针对ext文件系统的设备拉神和缩减 ##ext文件系统可以扩大也可以缩减
umount /mnt
mkfs.ext4 /dev/vg0/lv0
mount /dev/vg0/lv0 /mnt
#拉神
lvextend -L 250M /dev/vg0/lv0 ##扩大lvm设备
resize2fs /dev/vg0/lv0 ##设定文件系统大小和设备同步
##缩减lvm
umount /dev/vg0/lv0 ##卸载设备,因为文件系统缩减不支持在线操作
e2fsck -f /dev/vg0/lv0 ##检测文件系统,确定文件系统中已有数据大小防止过度缩减
resize2fs /dev/vg0/lv0 100M ## 把文件系统缩减
lvreduce -L 100M /dev/vg0/lv0 设备缩减
mount /dev/vg0/lv0 /mnt
##缩减vg
移除空闲pv
vgreduce vg0 /dev/vdb2 #把vg0中的/dev/vdb2删除
移除含有数据的设备
pvmove /dev/vdb1 /dev/vdb2 ##把设备1上的所有数据移动到设备2上
vgreduce vg0 /dev/vdb1 #把vg0中的/dev/vdb1删除
pvremove /dev/vdb1 ##把/dev/vdb1上的lvm管理信息删除
##lvm快照##
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0 ##给/dev/vg0/lv0建立快照,-L指定快照大小,-n指定快照名字 -s指定快照模板设备
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
##lvm的删除##
lvremove /dev/vg0/lv0-backup
lvremove /dev/vg0/lv0
vgremove vg0
pvremove /dev/vdb2