在 linux 系统中,有时 / 分区的磁盘空间会不足。即使通过压缩和删除旧日志文件也无法解决问题,此时我们只能扩展 / 文件系统。本文将介绍如何在 linux 系统中扩展非 lvm 逻辑卷中的 xfs 根分区。

首先,我们需要为系统磁盘扩展额外的空间,然后使用 growpart 和 xfs_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% /

登录后复制

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

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

登录后复制
如何在 Linux 中扩展 XFS 根分区

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

安装系统的磁盘扩容

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

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

分区扩展之前是20GB。

如何在 Linux 中扩展 XFS 根分区

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

如何在 Linux 中扩展 XFS 根分区

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

如何在 Linux 中扩展 XFS 根分区

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

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

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

登录后复制

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

如何在 Linux 中扩展 XFS 根分区

以上输出确认操作系统磁盘大小现在为 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

登录后复制
如何在 Linux 中扩展 XFS 根分区

检验一下:

如何在 Linux 中扩展 XFS 根分区

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

如何在 Linux 中扩展 XFS 根分区

如果 / 分区下面有一个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% /

登录后复制
如何在 Linux 中扩展 XFS 根分区

发现分区没有扩容。下面需要用到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

登录后复制
如何在 Linux 中扩展 XFS 根分区

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

[root@localhost ~]# df -hT /
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/nvme0n1p2 xfs    40G  1.8G   38G   5% /

登录后复制

以上就是如何在 Linux 中扩展 XFS 根分区的详细内容,更多请关注小闻网其它相关文章!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。