天天看点

LVM扩容操作

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

文章目录
  • 一、测试环境
  • 二、给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。其具体硬盘配置如下

df -Th           

复制

LVM扩容操作

磁盘情况:

fdisk -l

LVM扩容操作

今天主要是分别操作下给lvm根分区扩容

二、给lvm分区扩容(加硬盘)

可以看到,现有系统是一块硬盘sda,共64G,并分成两个分区,sda1直接挂载到/boot目录,sda2分区则交给了LVM来管理,并挂载到根目录/和/home目录

1.新增硬盘

我是用virtualbox来模拟的,关闭linux系统。点击“设置-存储-控制器SATA右边的+号图标“,创建新的虚拟盘

LVM扩容操作

选择“文件位置,文件类型为VHD虚拟硬盘”点击 创建。

LVM扩容操作

创建之后,可以看到有两个硬盘了

LVM扩容操作

2.给新的硬盘分区

fdisk -l            

复制

LVM扩容操作
lsblk           

复制

LVM扩容操作

可以看到多了一个硬盘sdb了,现在给sdb分区,注意要选择分区类型为8e。

执行命令:

fdisk -l /dev/sdb

LVM扩容操作

这里需要注意,在依次输入 n p 1之后,输入p查看了下分区格式,显示出的Id那一栏是83,这是默认的分区格式,但我们需要将这个分区后面交给lvm来管理,就需要修改分区格式,输入 t , 8e

修改完分区格式之后,我们再输入p看一下,Id从83变成8e了。输入w保存

LVM扩容操作

具体83代表什么,8e代表什么,可以参考下图

LVM扩容操作

这就分区完成了。我们再输入

fdisk -l 和 lsblk

看看:

LVM扩容操作
LVM扩容操作

3、Lvm操作

其实主要的操作流程就是: 创建物理卷 ->> 将物理卷加入到卷组 ->> 扩展逻辑卷 –>刷新文件系统。 (这里已经有卷组了,不需要再创建卷组)

查看卷组状态:

vgdisplay

LVM扩容操作

创建物理卷:

pvcreate /dev/sdb1

扩展卷组:

vgextend 卷组名 物理卷路径

LVM扩容操作

扩展逻辑卷: lvextend

先看下逻辑卷状态:

lvdisplay

LVM扩容操作
LVM扩容操作

我们是想扩展根目录,也就是对应逻辑卷: lv_root

lvextend  /dev/VolGroup/lv_root /dev/sdb1           

复制

LVM扩容操作

注意: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扩容操作

扩容完成!

三、给lvm分区扩容(不加硬盘,直接加容量)

在上面的操作中,我新增了一块8G的硬盘,并且把这个新硬盘成功的扩充到根目录中。那如果我现在把这个8G的硬盘,扩展为20G的容量。(实际生产环境中,有可能客户使用的就是虚拟系统,可以不加实体硬盘而直接增加虚拟硬盘容量)

那怎么把这剩余的20G也放到根目录下呢

给硬盘加容量

打开virtualbox ,管理 –> 虚拟介质管理–>找到需要扩充的虚拟硬盘文件,调整大小

LVM扩容操作
LVM扩容操作

这个硬盘的容量已经扩展到20GL ,但是现在还是不被系统所识别的,系统还只认识之前的8G。

fdisk -l            

复制

LVM扩容操作
LVM扩容操作

sdb虽然总共有20G,但是使用的之后sdb1分区8G。

首先先要对分区sdb1进行扩容

调整分区大小 fdisk

从上面截图可以看到,sdb1 的起始磁柱号是1(这只是测试,一般情况下不一定),结束磁柱好为1044,但实际上整个硬盘有2610个磁柱,所以需要调整分区。其主要操作步骤是:

1.查看起始磁柱号 a

2.删除分区(注意这时候千万不能保存)

3.重新创建分区,并且开始磁柱号设置为第1步的起始磁柱号 a

4.保存

fdisk /dev/sdb           

复制

LVM扩容操作
LVM扩容操作
LVM扩容操作

让系统核心重新捕捉分区表

partprobe           

复制

再来看 /dev/sdb磁盘,分区大小已经调整到最大了

LVM扩容操作

扩展物理卷 /dev/sdb1

我们用

pvdisplay

查看物理卷状态,发现还是原来的8G大小

LVM扩容操作

所以需要先把物理卷的容量扩大,才好调整逻辑卷

pvresize /dev/sdb1           

复制

LVM扩容操作

扩展逻辑卷 lvextend

vgdisplay           

复制

LVM扩容操作

可以看到卷组已经多了12G的可分配空间。

lvdisplay           

复制

LVM扩容操作
lvextend -l +100%FREE 卷路径           

复制

LVM扩容操作

拉伸文件系统:xfs_growfs 或者 resize2fs

resize2fs /dev/VolGroup/lv_root           

复制

LVM扩容操作

可以看到根目录大小已经扩大了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