LVM(Logic Volume Manager)是逻辑卷管理的简称。它是Linux环境下对磁盘分区管理的一种机制。对于其他的的UNIX(AIX/HP/SUM)操作系统,以及Windows系统也有类似的磁盘管理软件。
LVM管理的方式非常简单,就是通过将底层的物料磁盘抽象并封装起来,然后以逻辑的方式呈现给上层应用。
LVM技术最大的特点就是对磁盘进行动态管理。
一 LVM基本术语和建立过程
volume group (VG) :卷组是LVM中使用的最高级别的抽象。 它将逻辑卷和物理卷集合在一起成为一个管理单元。
physical volume (PV):一个物理卷通常是一个硬盘,虽然它可能只是一个看起来像一个硬盘(如软件RAID设备)的设备。
logical volume (LV):相当于非LVM系统中的磁盘分区。 LV作为标准块设备可见; 因此LV可以包含文件系统(例如/ home)。
physical extent (PE) :每个物理卷都被划分为数据块(称为物理扩展盘区),这些扩展盘区与卷组的逻辑盘区具有相同的大小。
PE与VG关系如下:
先总结以下指令,接下来在鸟哥的案例中学习:
二 实作开始:
0 DISK阶段
用gdisk工具分出五个lvm分区
1 PV阶段
PV指令:
把刚才的5-8分区变成PV格式
2 VG阶段
VG 指令
将部分PV划分为VG,VG需要自命名
试试增加VG容量
3 LV阶段
LV指令
在VG中划分一部分容量建立LV
LV划分完成,把这部分格式化后就可以挂载文件系统是利用了!
文件系统阶段
逻辑卷建立过程就是这样了,那么怎么体现它的动态分配呢,我们来扩展文件系统容量多500M看看:
扩大文件系统容量,肯定需要有多余的LV容量可供扩展;同理,扩展LV也需要有多余的VG,增加VG的方法就是加硬盘,然后进行上述的pvcreat,再vgextent把新的PV加进VG。
LV增加到2.5G,但是文件系统还是2G。
文件系统的block增大了
三 LVM的快照
Linux中,使用lvm快照(snapshot)来快速备份数据
lv快照的工作原理是建立一个快照区,如果原来的数据发生变化,那么就把变化前的数据放到快照区,借用鸟哥的图:
也就是说,原来数据的修改量,不能超过快照区的大小,否则这个快照,就不能用了。因为快照区与源LV共享很多pe区块,所以快照去应该与被快照的LV在同一VG。
下面是鸟哥的案例:
建立挂载目录并挂载:
因为xfs文件系统不允许相同的uuid的文件系统挂载,因此加上nouuid。
利用快照区复原系统试试:但是你要回复的数据量不能高于快照区的容量,不然很显然会丢失数据
如果直接格式化vbirdlv,那么快照区会记录原来的所有数据,如果容量不够大会失效,就是说vbirdlv恢复不到原来的样子了。所以这里先把快照区备份到另一个目录。
四 LVM关闭
流程
最后用gdisk更改磁盘的code id。8e00是lvm,8300是文件系统