LVM扩容,分为两种,1、增加磁盘给LVM扩容,2、不加硬盘给lvm分区扩容(直接加容量)
一、环境测试
我是在virtualbox上安装的测试环境:centos。其具体硬盘配置如下
df -Th
fdisk -l #磁盘情况
二、加硬盘给lvm分区扩容
可以看到,现有系统是一块硬盘sda,共64G,并分成两个分区,sda1直接挂载到/boot目录,sda2分区则交给了LVM来管理,并挂载到根目录/和/home目录
1.新增硬盘
通过管理台添加新的磁盘
2.给新的硬盘分区
fdisk -l
lsblk
可以看到多了一个硬盘sdb了,现在给sdb分区,注意要选择分区类型为8e。 执行命令: fdisk /dev/sdb
这里需要注意,在依次输入 n p 1之后,输入p查看了下分区格式,显示出的Id那一栏是83,这是默认的分区格式,但我们需要将这个分区后面交给lvm来管理,就需要修改分区格式,输入 t , 8e 修改完分区格式之后,我们再输入p看一下,Id从83变成8e了。输入w保存
这就分区完成了。我们再输入fdisk -l 和 lsblk
看看:
注:如果 lsbkl看不到新的分区,执行partprobe重读分区
3、Lvm操作
其实主要的操作流程就是: 创建物理卷 ->> 将物理卷加入到卷组 ->> 扩展逻辑卷 –>刷新文件系统。 (这里已经有卷组了,不需要再创建卷组)
查看卷组状态:vgdisplay
创建物理卷:pvcreate /dev/sdb1
扩展卷组: vgextend 卷组名 物理卷路径
扩展逻辑卷: lvextend
先看下逻辑卷状态: lvdisplay
我们是想扩展根目录,也就是对应逻辑卷: lv_root
lvextend /dev/VolGroup/lv_root /dev/sdb1
注意:lvextend的第一个参数是逻辑卷路径,不是名称。当然也可以把卷组中剩余的空间都分配给该逻辑卷
lvextend -l +100%FREE /dev/VolGroup/lv_root
拉伸文件系统:xfs_growfs 或者 resize2fs
xfs_growfs /dev/VolGroup/lv_root
如果报错,换
resize2fs /dev/VolGroup/lv_root
4、验证结果:
现在再看下目录大小
三、不加硬盘给lvm分区扩容(直接加容量)
在上面的操作中,我新增了一块8G的硬盘,并且把这个新硬盘成功的扩充到根目录中。那如果我现在把这个8G的硬盘,扩展为20G的容量。(实际生产环境中,有可能客户使用的就是虚拟系统,可以不加实体硬盘而直接增加虚拟硬盘容量) 那怎么把这剩余的20G也放到根目录下呢
给硬盘加容量
打开virtualbox ,管理 –> 虚拟介质管理–>找到需要扩充的虚拟硬盘文件,调整大小
这个硬盘的容量已经扩展到20GL ,但是现在还是不被系统所识别的,系统还只认识之前的8G。
fdisk -l
sdb虽然总共有20G,但是使用的之后sdb1分区8G。 首先先要对分区sdb1进行扩容
调整分区大小 fdisk
从上面截图可以看到,sdb1 的起始磁柱号是1(这只是测试,一般情况下不一定),结束磁柱好为1044,但实际上整个硬盘有2610个磁柱,所以需要调整分区。其主要操作步骤是:
1.查看起始磁柱号 a
2.删除分区(注意这时候千万不能保存)
3.重新创建分区,并且开始磁柱号设置为第1步的起始磁柱号 a
4.保存
fdisk /dev/sdb
让系统核心重新捕捉分区表
partprobe
再来看 /dev/sdb磁盘,分区大小已经调整到最大了
扩展物理卷 /dev/sdb1
我们用 pvdisplay
查看物理卷状态,发现还是原来的8G大小
所以需要先把物理卷的容量扩大,才好调整逻辑卷
pvresize /dev/sdb1
扩展逻辑卷 lvextend
vgdisplay
可以看到卷组已经多了12G的可分配空间。
lvdisplay
lvextend -l +100%FREE
拉伸文件系统:xfs_growfs 或者 resize2fs
resize2fs /dev/VolGroup/lv_root
可以看到根目录大小已经扩大了12G