逻辑滚动条管理员(LVM,是Logical Volume Manager的缩写),是几个partition或者disk通过软件组合而成的一块看起来是独立的大磁盘VG。VG组合成功后,可以通过分割成为分割槽LV,然后就能像普通分区一样挂载使用了。相对于普通分区,LVM最大的优势是可以弹性调整文件系统大小。当原设VG或者LV容量太大时,后期可以调整缩小;而当原设容量太小时,也可以调整扩充。这便是我们需要了解LVM的原因。另外,LVM还有一个特殊功能:系统快照。LVM可以通过系统快照对原始数据进行备份,方便数据更改后继续对原始数据进行备份工作。
那么,在Linux系统中如何实作呢?
一、LVM中的常见单位
1)PV
Physical Volume,LVM中最底层的单位,物理卷。通过将实际的partition调整系统ID为8e后使用pvcreate指令,将partition转成PV。多个实体滚动条可以整合成VG,卷组。
PV常用管理命令:pvcreate,pvremove,pvdisplay,pvscan,pvs,pvmove
2)VG
Volume Group,卷组,由PV组合而成。
VG常用管理命令:vgcreate,vgscan,vgs,vgextend,vgremove,vgreduce
3)PE
Physical Extend,物理区块,预设大小为4MB,相当于文件系统中的block。LVM的VG最多仅能含有65534个PE,所以PE大小会影响VG的容量。
4)LV
Logical Volume,逻辑卷。最终的VG,会被切割成LV,这个LV最后可以被格式化然后挂载使用。
LV常用管理命令:lvcreate,lvscan,lvs,lvextend,lvremove
二、LVM的创建
LVM创建一般步骤如下:
1、用fdisk设定新的partition并修改系统ID为8e
假设三个新的partition为:/dev/sdb1,/dev/sdb2,/dev/sdb3
2、利用pvcreate建置PV
pvcteate /dev/sdb{1,2,3}
此时可能会提醒sdb1,2,3被挂载的问题,解决方法如下:
查看/proc/mdstat,发现sdb1,2,3被某一个raid使用了(此前曾在此磁盘建立过raid)。因此,mdadm –S 停掉相应软盘,强行使用分区转成PV
3、利用vgcreate建置VG
Vgcreate [VG名称],已经转化为PV的装置名称
Vgdisplay查看PE个数,计算每个PE大小。也可以在vgcreate后面加-s 指定PE大小,单位为m,g,t
4、利用lvcreate建置LV
先创建lv物理空间
Lvcreate –l [PE个数] –n [lv名称] [VG名称]
Lvdisplay查看lv大小
5、mke2fs格式化
再格式化创建逻辑空间
Mke2fs –t [文件系统] [LV全名:/dev/VG名称/LV名称]
6、mount挂载使用
三、LVM中的扩容和缩容
LV的扩容
1、新建分区,转化成PV
2、vgextend [vgname][device name]
3、lvextend –L [+PE数量] [/dev/vgname/lvname]
4、resize2fs –f [/dev/vgname/lvname][size:计算扩容后总的PE数量]
LV的缩容
1、umount[dirname/devicename]
2、resize2fs –f [/dev/vgname/lvname][size]
3、e2fsck –f [/dev/vgname/lvname]
4、mount
5、lvreduce –L [-PE数量][/dev/vgname/lvname]
VG的扩容
Vgextend [vgname] [device name]
VG的缩容
Pvmove [device name1] [device name2]把正在使用的PE移到PE空闲的装置中
Vgreduce [vgname] [device name]移出逻辑边界
Pvremove [device name]移出物理边界
四、LVM的快照功能
Lvcreate –l [PE数量] –n [snapshotname] [/dev/vgname/lvname]建立快照
Mount [/dev/vgname/snapshot name] [dirname]挂载快照
在挂载的目录中将快照归档备份在目录下
umount卸载
lvremove移出快照