如何在 Linux 中扩展 XFS 根分

最近在3A平台的平台下开通了Linux服务器,学习Linux服务器相关知识。

图片

在某些情况下,/ 分区在 Linux 中磁盘空间不足。即使压缩和删除旧的日志文件也无济于事,因此在这种情况下,我们别无选择,只能扩展 / 文件系统。在本文中,我们将演示如何在 Linux 系统中扩展不是LVM逻辑卷中的xfs根分区。

首先我们必须向系统磁盘扩展额外的空间,然后使用growpartxfs_growfs 命令扩展根分区(或文件系统)。

本文使用的VMware Workstation,并且安装的操作系统是Centos8,磁盘空间为20GB。/ 根分区大小为17GB。

检查 / 分区大小

运行df -Th /查看当前根分区的大小:

[root@localhost ~]# df -Th /
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/nvme0n1p2 xfs    17G  1.6G   16G  10% /

使用 lsblkfdisk 命令验证操作系统磁盘的大小:

[root@localhost ~]# lsblk /dev/nvme0n1
[root@localhost ~]# fdisk -l /dev/nvme0n1

图片

以上输出显示 OS 磁盘的大小为 17 GB。

安装系统的磁盘扩容

增加操作系统磁盘的大小,我将操作系统磁盘大小从 20 GB 更改为 40 GB。

本文使用的是VMware Workstation,需要将操作系统关机,然后执行磁盘扩容。

分区扩展之前是20GB。

图片

下面将系统磁盘扩展到40GB。

图片

可以看到,已经扩展完成,下一步就启动系统吧。

图片

基于 xfs 文件系统扩展根分区

要扩展根分区,我们需要使用growpartxfs_growfs命令。我们需要安装该命令:

[root@localhost ~]# yum -y install cloud-utils-growpart gdisk

扩容完成之后,接下来查看一下磁盘容量:

图片

以上输出确认操作系统磁盘大小现在为 40 GB,现在让我们使用以下命令扩展根分区。

在/dev/sda 磁盘的第二个分区上运行growpart 命令(我们使用2 作为分区号,因为我们的 / 分区在磁盘上的第二个分区)。

[root@localhost ~]# growpart /dev/nvme0n1 2
CHANGED: partition=2 start=1026048 old: size=35651584 end=36677632 new: size=82859999 end=83886047

图片

检验一下:

图片

注意,如果想要使用growpart命令扩容 / 分区,该分区后面不能有其他分区,不然无法扩容。会提示如下信息:

图片

如果 / 分区下面有一个swap分区,只能删掉swap分区,然后执行growpart来扩容 / 根分区。

使用df -Th 看一下 / 分区是否已扩容:

[root@localhost ~]# df -hT /
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/nvme0n1p2 xfs    17G  1.7G   16G  10% /

图片

发现分区没有扩容。下面需要用到xfs_growfs命令来扩容xfs分区:

[root@localhost ~]# xfs_growfs /
meta-data=/dev/nvme0n1p2         isize=512    agcount=4, agsize=1114112 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=4456448, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 4456448 to 10357499

图片

下面使用df -Th 看一下 / 分区是否已扩容:

[root@localhost ~]# df -hT /
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/nvme0n1p2 xfs    40G  1.8G   38G   5% /
posted @ 2022-08-23 17:18  奋斗的工程师  阅读(85)  评论(0编辑  收藏  举报