Linux Unit17--lvm

来源:互联网 发布:淘宝神笔下载 编辑:程序博客网 时间:2024/06/06 13:59

1.lvm 


lvm  逻辑卷管理器,lvm可以将一个或者多个硬盘的分区在逻辑上集合在一起,相当于一个大的硬盘,当硬盘空间不够使用使用的时候,可以再添加一个硬盘的分区进来,从而实现动态地对硬盘空间进行管理,相对于普通的磁盘分区方式有很大的灵活性,与传统的分区方式相比,lvm为计算机提供了更高层次的磁盘储存。它使系统管理员可以更方便的为用户与应用分配储存空间,在lvm管理下的储存卷可以按照需要随时改变大小或者移除(可能需要改变该分区的文件系统)

pv  物理卷(里面含有pe),物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘

pe  物理区域,pv中的最小单位,物理区域的大小一旦确立就不可再进行更改,且同一卷组中的所有物理卷的物理区域大小需要一致

vg  物理卷组,物理卷组建立在物理卷上,一个卷组中至少包括一个物理卷,在卷组建立之后可以动态添加物理卷到别的卷组中去,一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组

lv  逻辑卷建立在卷组之上,逻辑卷建立后可以动态的扩展和缩小空间,卷组中未分配的空间也可以用于建立新的逻辑卷

关系图:



2.lvm的建立

划分物理分区,并修改分区标签为lvm

pvcreate /dev/vdb1                        ##创建物理卷

vgcreate vg0 /dev/vdb1                  ##创建物理卷组

lvcreate -L 100M -n lv0 vg0             ##创建逻辑卷    

mkfs.xfs /dev/vg0/lv0                      ##格式化设备

mount /dev/vg0/lv0 /westos            ##设备挂载投入使用



监控命令:

watch -n 1'pvs;echo=====;vgs;echo=====;lvs;echo=====;df -h /westos'



3.lvm的拉伸

1>.当vg中剩余容量充足时

lvextend -L 300M /dev/vg0/lv0      ##设备扩充

xfs_growfs /dev/vg0/lv0                ##同步文件系统




2>.当vg中剩余容量不足时

pvcreate /dev/vdb2

vgextend vg0 /dev/vdb2

lvextend -L 600M /dev/vg0/lv0

xfs_growfs /dev/vg0/lv0




注意:xfs文件系统并不能做磁盘的缩减,是因为lvm是将多个独立的硬盘分区在逻辑上集合在一起的,所以在该分区上存储的文件不能确定它被存储在哪一块硬盘上,因此当要删掉一块硬盘分区时,不能确定该硬盘分区中是否存在重要的文件


在ext文件系统中:

取消挂载,并修改文件格式为ext4



拉伸:

lvextend -L 400M /dev/vg0/lv0       ##拉伸

resize2fs /dev/vg0/lv0                    ##同步文件系统,挂载之后才能显示



缩减:

1>.对设备:

umount /westos                               ##取消挂载

e2fsck -f /dev/vg0/lv0                      ##扫描



resize2fs /dev/vg0/lv0 200M            ##缩减文件系统

mount /dev/vg0/lv0 /westos            ##挂载设备,使缩减文件系统的结果显示出来

lvreduce -L 200M /dev/vg0/lv0        ##缩减设备



2>.对卷组

pvmove /dev/vdb1 /dev/vdb2

##当要移除的分区存在数据时,需要把数据迁移到其他pv中



vgreduce vg0 /dev/vdb1

pvremove /dev/vdb1



4.lvm的快照

作用:保护原始数据不会被删除


建立原始数据:

mount /dev/vg0/lv0 /westos

touch /westos/file{1..6}

umount /westos



制作快照:

lvcreate -L 100M -n lv0backup -s /dev/vg0/lv0        ##创建快照

mount /dev/vg0/lv0backup /westos                         ##挂载快照

ls /westos                                                                    ##查看数据



测试:

删除挂载到/westos/上的所有数据,并取消挂载,删除快照

lvremove /dev/vg0/lv0backup        ##删除快照



若想恢复数据,重新再创建一个新的快照即可



5.lvm的分区被误删除

fdidk /dev/vdb直接删除分区时

会出现以下错误时:

表示lvm的分区被误删除



解决方法:

vgreduce vg0 --removemissing



删除lvm的所有分区:

lvremove /dev/vg0/lv0

vgremove vg0

pvremove /dev/vdb2

fdisk /dev/vdb






原创粉丝点击