LVM基本配置(缩减、扩张、快照)实际操作
Linux用户安装Linux操作系统时遇到的一个最常见的难以决定的问题就是如何正确地给评估各分区大小,以分配合适的硬盘空间。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具(比如PatitionMagic等),但这都只是暂时解决办法,没有根本解决问题(分区调整工具不能在服务器零停机的情况下调整分区大小)。随着Linux的逻辑盘卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下方便地调整各个分区大小(包括扩展和缩小磁盘大小)。
LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的区管理的灵活性。
物理卷
物理卷是指硬盘分区或者从逻辑上看起来和硬盘分区类似的设备(比如RAID设备)。
逻辑卷
一个或者多个物理卷组成一个逻辑卷。对于LVM而言,逻辑卷类似于非LVM系统中的硬盘分区。逻辑卷可以包含一个文件系统(比如/home或者/usr)。
卷组
一个或者多个逻辑卷组成一个卷组。对于LVM而言,卷组类似于非LVM系统中的物理硬盘。卷组把多个逻辑卷组合在一起,形成一个可管理的单元。
物理块physical extent (PE)
物理卷按大小相等的“块”为单位存储,块的大小与卷组中逻辑卷块的大小相同。
逻辑块logical extent (LE)
逻辑卷按“块”为单位存储,在一卷组中的所有逻辑卷的块大小是相同的。
PV:是物理的磁盘分区
VG:LVM中的物理的磁盘分区,也就是PV,必须加入VG,可以将VG理解为一个仓库或者是几个大的硬盘。
LV:也就是从VG中划分的逻辑分区
如下图所示PV、VG、LV三者关系:
实际案例操作:
一、LVM磁盘创建过程
示例:首将硬盘sdd分4个分区每个分区200M,分别是sdd{1,2,3,4},将其创建成逻辑卷为vgning和两个大小为300M的vgning-lvhong1、vgning-lvhong2。
2、 创建VG让PV加入逻辑组中PE基本概念:
由于vg是多个PE(块)组成的,而且每个vg块的PE最大数量是65534。默认每个PE的大小是4m
也就是说默认的每个vg最大也就是4m乘65534=256G,因此PE块的大小决定了最终vg的大小。
此处我们定义PE块的大小为16m。由于每个pv的大小是200m总共800m因此总共的pv个数是48。
创建PE为16m大小的逻辑组:vgning
3、 由于VG共大小800M,下面我们来划分两个300M的LV,格式化文件系统为.txt4 并让vgning-lvhong1挂载/root/home1下
[root@localhost~]# mkdir home1
[root@localhost~]# mke2fs -t ext4 /dev/mapper/vgning-lvhong1
[root@localhost~]# mount /dev/mapper/vgning-lvhong1 /root/home1
二、LVM的磁盘的在线扩展
扩展可以在线执行,不需要卸载逻辑卷,但是保证VG中有足够的空间,如果不够的话需要扩展VG的空间。
扩展LV时,首先扩展物理边界,其次在扩展逻辑边界(文件系统)。
示例: 给磁盘vgning-lvhong1扩展200M(这里我们假如VG不够的情况下操作)
1、首先扩展VG空间添加/dev/sdc1分区添加500M
2、扩展PV
[root@localhost ~]# pvcreate /dev/sdc1
3、扩展VG
4、扩展LV的物理边界
5、扩展LV的逻辑边界命令(resize2f)
三、LVM逻辑卷的缩减
此操作是一个危险的动作,在操作时需要谨慎。一旦数据丢失就找不回了。
LV的缩减过程:先缩减逻辑分区,在缩减物理分区。
缩减物理分区,此时磁盘要卸载,而且要确定好缩减后的分区大小,以免数据丢失
示例:缩减vgning-lvhong1逻辑卷300M操作如下:必须先卸载再缩减分区
至此LVM缩减做完
三、LVM创建快照
LVM的快照是LV的在过去某一时间点上的备份。LVM快照是临时保留所更改的逻辑卷的原数据。快照提供原始卷的静态视图,从而能够以一致状态备份其数据。
快照卷的大小:只需足以存储在它存在期间更改的数据即可。
如果数据更改量大于快照存储容量,则快照将自动变为不可用。(原始卷原封不动,仍然需要从卷组中手动解除挂载和删除不可用的快照。)
示例:对磁盘/dev/mapper/vgning-lvhong1做快照,我们以目录/root/home1为例,在目录中创建3个目录分别为1,2,3。创建快照为/dev/mapper/vgning-lvliang,并把/dev/mapper/vgning-lvliang 挂载到目录/root/home2下,看是否有目录/root/home1中的新创建的3个目录。
1、 由于上面vgning-lvhong1刚缩减完成需要先格式化,再挂载上/root/home1
[root@localhost~]# mke2fs -t ext4 /dev/mapper/vgning-lvhong1
[root@localhost~]# mount /dev/mapper/vgning-lvhong1 /root/home1
2、创建快照并挂载到/root/home2下
至此快照做完