LVM(logical volume manager ,逻辑卷管理) 可以实现将多块硬盘的分区整合在一起,当做一块硬盘使用,而且LVM 不像传统分区那样,一旦分区完成,分区的大小就不可以再进行调整,包括可以重新设定文件系统的大小,而且允许在多个物理设备间重新组织文件系统。
通过几道练习题来说明LVM的实现
1、创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录
2、 新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制/etc/pam.d目录至自己的家目录
3、扩展testlv至7G,要求archlinux用户的文件不能丢失
4、收缩testlv至3G,要求archlinux用户的文件不能丢失
5、对testlv创建快照,并尝试基于快照备份数据,验正快照的功能
(1)pv,vg以及lv的创建
在创建pv之前,要先将物理硬盘的分区类型改为8e
创建pv
创建vg
创建文件系统
在创建lv大小时,也可以通过指定PE 数量确定大小
查询pv的信息
查询vg信息
(3)lv的扩展(逻辑卷的扩展是在线扩展,不影响用户使用)
在线扩展lv的时候文件系统并不会同时增加,需要手动扩展文件系统大小,也可以在扩展逻辑卷的同时使用-r选项同时扩展文件系统
1)同样可以按照PE数量指定
为testlv新增600个PE:lvextend -l 600 /dev/vg0/testlv 把卷组剩余所有空闲PE分配给testlv:lvextend-l 100%free /dev/vgtest/testlv
2)resize2fs 只用于ext系统;对于xfs系统要用xfs_growfs +挂载点(注意不是设备名)
此例中是在挂载的状态下进行扩展,如果事先卸载的话,就需要先进行强制磁盘检查–> e2fsck -f/dev/vg0/testlv
其实在扩展lv时加上-r选项就可以一并扩展文件系统–> lvextend -r -l +100%free /dev/vg0/testlv (使用这种方法不区分问价系统类型)
(4)减小逻辑卷大小
缩减逻辑卷大小会影响用户使用,不能在线操作,建议在缩减之前先备份,而且要卸载。在缩减文件系统之前必须先强直进行磁盘检查,这是一个必要步骤,如果不进行磁盘扫描可能会在缩减文件系统的时候进入死循环,接下来要先缩减文件系统然后才可以减小逻辑卷大小
(5)创建快照
快照是一种特殊的逻辑卷,它是在生成快照时对存在同一VG下的逻辑卷的准确拷贝,快照区有两部分组成,变更之前的数据以及未变更的数据。当原来的逻辑卷有所改变时,会将旧数据复制到快照中,而没有改变的数据依旧保存在原本的区块中。
在设置快照大小之前要下查看一下逻辑卷的大小,快摘大小设置应不大于要备份的lv的大小。创建快照时,-s指定创建的逻辑卷为快照;-n指定快照名称;-L
指定快照大小,(必须是整数个PE大小。还可以用-l 指定PE的数量),-p r 是设置快照为只读属性。快照在恢复之后自动删除。
补充:将LVM迁移到其他主机
将一台主机上lvm里面的数据迁移到另一台主机上。首先要查看该设备上是否有分配给lv的PE(注意不是数据),如果有要转移到对应vg下的其它pv上, 而且其PE数量要小于对应vg的剩余free PE数量
完成以上操作之后,关闭centos6 ,找到拷贝有数据的硬盘,将该硬盘加载到另一台主机上(如果是物理机可以直接将硬盘拔掉插到另一台主机上就可以)