LVM扩容操作

2022-08-31 13:00:38 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

文章目录
  • 一、测试环境
  • 二、给lvm分区扩容(加硬盘)
    • 1.新增硬盘
    • 2.给新的硬盘分区
    • 3、Lvm操作
      • 查看卷组状态:`vgdisplay`
      • 创建物理卷:`pvcreate /dev/sdb1`
      • 扩展卷组: `vgextend 卷组名 物理卷路径`
      • 扩展逻辑卷: lvextend
      • 拉伸文件系统:xfs_growfs 或者 resize2fs
    • 4、验证结果:
  • 三、给lvm分区扩容(不加硬盘,直接加容量)
    • 给硬盘加容量
    • 调整分区大小 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

0 人点赞