LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它的作用能让磁盘在不损坏数据的情况下,对磁盘进行伸缩扩展。在生产环境中非常有用。
一般装的linux,其根分区都有逻辑卷。
LVM最低层就是物理卷,也就是我们常说的物理设备PV(physical volume)。一个或几个分区划分成PV后,再把其组成一个或多个VG(volume group)卷组。
而LV逻辑卷就是在VG之上建立的,一般用户是看不到底层的物理设备,他们感觉就像一个分区一样。
对应LV而言,它又分逻辑边界和物理边界。物理边界就相当于我们的磁盘分区一样,逻辑边界是在物理边界里建立出来的。
注意逻辑边界必须小于等于物理边界。最好是小于物理边界,因为万一你要缩减逻辑卷时它如果是按1000进行换算,而不是是按1024换算。而VG是按1024换算,那么会出问题。当然一般不会,以防万一。
创建LVM:1. 首先用fdisk把磁盘分区类型调整到8e即linux LVM
2. pvcreate /dev/device
3. vgcreate VG-NAME /dev/device
-s PE(每个磁盘块大小,默认4M)
4. lvcreate –n LV-NAME VG-NAME –L +#(指定空间大小)
5. mke2fs –t ext4 /dev/VG-NMAE/LV-NAME 或者 /dev/mapper/VG-NAME-LV-NAME
VG扩展:
首先准备好一个PV;
使用vgextend命令即可完成扩展;
vgextend VG_NAME /dev/device(设备名)
VG缩减:一般都不会缩减,但是如果磁盘坏了,就用得上
1. 确定要移除的PV;
2. 将此PV上的数据转移至其他PV;
pvmove /dev/device 注意:用vgs查看卷的空闲空间,空闲空间必须大于要移除的分区空间才能移除成功。不然会报错,因为创建好了LV后,PV的空间都挪到了VG上,所以当你pvs查看时就会出现这种情况
3. 从卷组中将此PV移除;
vgreduce VG-NAME /dev/device
4. 删除此pv
pvremove /dev/device
扩展逻辑卷
1. 确定要扩展多大?
2. 确定当前逻辑卷所在的卷组有足够的空闲空间;
扩展:
1、物理边界
lvextend –L [+]SIZE /dev/VG-NAME/LV-NAME 有+号表示:扩展了多少。没+号表示:扩展到多少
2、逻辑边界
resize2fs /dev/VG-NAME/LV-NAME
缩减逻辑卷
确定缩减为多大?前提是:至少能容纳原有的所有数据。
缩减:
1、卸载并强行检测文件系统;
e2fsck –f /dev/VG-NAME/LV-NAME
2、逻辑边界
resize2fs /dev/VG-NAME/LV-NAME SIZE e2fs只适用于ext文件系列,如果是其它的文件系统要用另外的工具
3、物理边界
lvreduce -L [-]SIZE /dev/VG-NAME/LV-NAME
快照卷:
1) 生命周期为整个数据时长;在这段时长内,数据的增长量不能超出快照卷大小;
2) 快照卷应该是只读的;
3) 跟原卷在同一卷组内;
lvcreate
-s : 快照卷;
-p r: 限制快照卷为只读访问
lvcreate -L SIZE -s -p r -n LV_NAME /path/to/lv
移除逻辑卷:
lvremove /path/to/lv
移除卷组:
vgremove VG_NAME