Linux中LVM逻辑卷管理
一.简介
lvm是逻辑盘卷管理(logical volume manager)的简称,它是linux环境下对磁盘分区 进行管理的一种机制,lvm是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。
lvm最大的特点就是可以对磁盘进行动态管理。使用了lvm管理分区,动态的调整分区的 大小,标准分区是做不到的!
二.lvm包含的组件
pv(physical volume) 物理卷
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。
vg(volume group) 卷组
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添 加物理卷到卷组中。
一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。
lv(logical volume) 逻辑卷
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后 可以动态地扩展和缩小空间。
系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。
pe(physical extent) 物理块
pe是整个lvm 最小的储存区块,默认每个pe区块是4mb大小,也就是说,其实我们的数 据都是由写入pe 来处理的。简单的说,这个pe 就有点像文件系统里面的block 大小。
三.建立 lvm 的步骤:
要有新的物理盘或者分区
把物理分区/或整个磁盘建立成为物理卷(pv)
把物理卷整合成为卷组(vg)。卷组就已经可以动态的调整大小了,可以把 物理卷pv加入卷组,实现扩容
把卷组再划分成为逻辑卷(lv),当然逻辑卷也是可以直接调整大小的。 对于上层应用或者用户来说逻辑卷就是分区,所以也需要格式化和挂载。
创建简化: 分区 创建pv 创建vg 创建lv 格式化 挂载
删除简化: 卸载 删除lv 删除vg 删除pv
创建pv #pvcreate
例:pvcreate /dev/sdb1
删除pv #pvremove
例:pvremove /dev/sdb1
pvdisplay #查看pv
创建vg #vgcreate
例: vgcreate vg1 /dev/sdb1
删除vg vgremove vg1 /dev/sdb1
例:vgremove
vgdisplay #查看vg
常用选项:
-s pe 大小:指定 pe 的大小,单位可以是 mb,gb,tb 等。如果不写默认 pe 大小事 4mb,一般不改
vgdisplay #查看vg
创建lv #lvcreate
例:lvcreate -l 5g -n lv1 vg1 #创建一个5g的lv1
删除lv #lvremove
例:lvremove -l 5g -n lv1 vg1
常用选项:
-l 容量:指定逻辑卷大小,单位 mb,gb,tb 等
-l 个数:按照 pe 个数指定逻辑卷大小
-n 逻辑卷名:指定逻辑卷名
lvs 格式化lv mkfs.xfs /dev/vg0/lv1
挂载 mkdir /mnt/lv1
mount /dev/vg0/lv1 /mnt/lv1/
四.lvm的扩容
lvm最大的好处就是可以对磁盘进行动态管理,而且不会丢失现有的数据。 如果lv1的使用量达到了80%,需要扩容,那么 vg的先扩容
增加pv,然后将新的pv添加到vg中
vg的扩容 vgextend vg1 /dev/sdc1 卷组vg1扩大
lv的扩容
查看vg1 的剩余容量,决定好扩容多少 对lv1进行扩容。
# lvextend -l +1g /dev/vg1/lv1 有+:原有的基础质上增加1g
# lvextend -l 30g /dev/vg1/lv1 没有+:容量改变到30g
五.lvm的缩小
命令: vgreduce lvreduce
注意:我们一般情况下,都是对磁盘进行扩容,缩减没的什么实际意义.