大家好,又见面了,我是你们的朋友全栈君。
文章目录- 一、测试环境
- 二、给lvm分区扩容(加硬盘)
- 1.新增硬盘
- 2.给新的硬盘分区
- 3、Lvm操作
- 查看卷组状态:`vgdisplay`
- 创建物理卷:`pvcreate /dev/sdb1`
- 扩展卷组: `vgextend 卷组名 物理卷路径`
- 扩展逻辑卷: lvextend
- 拉伸文件系统:xfs_growfs 或者 resize2fs
- 4、验证结果:
- 三、给lvm分区扩容(不加硬盘,直接加容量)
- 给硬盘加容量
- 调整分区大小 fdisk
- 让系统核心重新捕捉分区表
- 扩展物理卷 /dev/sdb1
- 扩展逻辑卷 lvextend
- 拉伸文件系统:xfs_growfs 或者 resize2fs
- 参考文档
- 1.新增硬盘
- 2.给新的硬盘分区
- 3、Lvm操作
- 查看卷组状态:`vgdisplay`
- 创建物理卷:`pvcreate /dev/sdb1`
- 扩展卷组: `vgextend 卷组名 物理卷路径`
- 扩展逻辑卷: lvextend
- 拉伸文件系统:xfs_growfs 或者 resize2fs
- 4、验证结果:
- 给硬盘加容量
- 调整分区大小 fdisk
- 让系统核心重新捕捉分区表
- 扩展物理卷 /dev/sdb1
- 扩展逻辑卷 lvextend
- 拉伸文件系统:xfs_growfs 或者 resize2fs
一、测试环境
我是在virtualbox上安装的测试环境:centos。其具体硬盘配置如下
代码语言:javascript复制df -Th
磁盘情况: fdisk -l
今天主要是分别操作下给lvm根分区扩容
二、给lvm分区扩容(加硬盘)
可以看到,现有系统是一块硬盘sda,共64G,并分成两个分区,sda1直接挂载到/boot目录,sda2分区则交给了LVM来管理,并挂载到根目录/和/home目录
1.新增硬盘
我是用virtualbox来模拟的,关闭linux系统。点击“设置-存储-控制器SATA右边的 号图标“,创建新的虚拟盘
选择“文件位置,文件类型为VHD虚拟硬盘”点击 创建。
创建之后,可以看到有两个硬盘了
2.给新的硬盘分区
代码语言:javascript复制fdisk -l
代码语言:javascript复制lsblk
可以看到多了一个硬盘sdb了,现在给sdb分区,注意要选择分区类型为8e。
执行命令: fdisk -l /dev/sdb
这里需要注意,在依次输入 n p 1之后,输入p查看了下分区格式,显示出的Id那一栏是83,这是默认的分区格式,但我们需要将这个分区后面交给lvm来管理,就需要修改分区格式,输入 t , 8e 修改完分区格式之后,我们再输入p看一下,Id从83变成8e了。输入w保存
具体83代表什么,8e代表什么,可以参考下图
这就分区完成了。我们再输入fdisk -l 和 lsblk
看看:
3、Lvm操作
其实主要的操作流程就是: 创建物理卷 ->> 将物理卷加入到卷组 ->> 扩展逻辑卷 –>刷新文件系统。 (这里已经有卷组了,不需要再创建卷组)
查看卷组状态:vgdisplay
创建物理卷:pvcreate /dev/sdb1
扩展卷组: vgextend 卷组名 物理卷路径
扩展逻辑卷: lvextend
先看下逻辑卷状态: lvdisplay
我们是想扩展根目录,也就是对应逻辑卷: lv_root
代码语言:javascript复制lvextend /dev/VolGroup/lv_root /dev/sdb1
注意:lvextend的第一个参数是逻辑卷路径,不是名称。当然也可以把卷组中剩余的空间都分配给该逻辑卷
代码语言:javascript复制lvextend -l 100%FREE /dev/VolGroup/lv_root
拉伸文件系统:xfs_growfs 或者 resize2fs
代码语言:javascript复制xfs_growfs /dev/VolGroup/lv_root
如果报错,换
代码语言:javascript复制resize2fs /dev/VolGroup/lv_root
4、验证结果:
现在再看下目录大小:
扩容完成!
三、给lvm分区扩容(不加硬盘,直接加容量)
在上面的操作中,我新增了一块8G的硬盘,并且把这个新硬盘成功的扩充到根目录中。那如果我现在把这个8G的硬盘,扩展为20G的容量。(实际生产环境中,有可能客户使用的就是虚拟系统,可以不加实体硬盘而直接增加虚拟硬盘容量) 那怎么把这剩余的20G也放到根目录下呢
给硬盘加容量
打开virtualbox ,管理 –> 虚拟介质管理–>找到需要扩充的虚拟硬盘文件,调整大小
这个硬盘的容量已经扩展到20GL ,但是现在还是不被系统所识别的,系统还只认识之前的8G。
代码语言:javascript复制fdisk -l
sdb虽然总共有20G,但是使用的之后sdb1分区8G。 首先先要对分区sdb1进行扩容
调整分区大小 fdisk
从上面截图可以看到,sdb1 的起始磁柱号是1(这只是测试,一般情况下不一定),结束磁柱好为1044,但实际上整个硬盘有2610个磁柱,所以需要调整分区。其主要操作步骤是: 1.查看起始磁柱号 a 2.删除分区(注意这时候千万不能保存) 3.重新创建分区,并且开始磁柱号设置为第1步的起始磁柱号 a 4.保存
代码语言:javascript复制fdisk /dev/sdb
让系统核心重新捕捉分区表
代码语言:javascript复制partprobe
再来看 /dev/sdb磁盘,分区大小已经调整到最大了
扩展物理卷 /dev/sdb1
我们用 pvdisplay
查看物理卷状态,发现还是原来的8G大小
所以需要先把物理卷的容量扩大,才好调整逻辑卷
代码语言:javascript复制pvresize /dev/sdb1
扩展逻辑卷 lvextend
代码语言:javascript复制vgdisplay
可以看到卷组已经多了12G的可分配空间。
代码语言:javascript复制lvdisplay
代码语言:javascript复制lvextend -l 100%FREE 卷路径
拉伸文件系统:xfs_growfs 或者 resize2fs
代码语言:javascript复制resize2fs /dev/VolGroup/lv_root
可以看到根目录大小已经扩大了12G
参考文档
https://www.cnblogs.com/cyrus0w/p/13194028.html https://linux.cn/article-3218-1.html?pr https://blog.csdn.net/l675655077/article/details/80229901 https://www.jianshu.com/p/273daea17b2a
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/151484.html原文链接:https://javaforall.cn