首页 > 系统相关 >如何在 Linux 中扩展 XFS 根分

如何在 Linux 中扩展 XFS 根分

时间:2022-08-23 17:23:17浏览次数:54  
标签:分区 dev 根分 Linux 磁盘 xfs root XFS localhost

最近在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% /

标签:分区,dev,根分,Linux,磁盘,xfs,root,XFS,localhost
From: https://www.cnblogs.com/jdhj/p/16617098.html

相关文章

  • linux bash 批量修改文件名
    https://stackoverflow.com/questions/602706/batch-renaming-files-with-bashforiin./*.pkg;domv"$i""${i/-[0-9.]*.pkg/.pkg}";done遍历循环当前目录下的......
  • linux如何使用rar
    说明:windows下rar压缩的文件放到centos7上解压的话,centos7上安装的版本需要大于或是等于windows下安装的版本 1.下载wget--no-check-certificatehttps://www.rarl......
  • 阿里云Linux服务器安装Maven实战教程
    下载地址https://maven.apache.org/download.cgi文件上传把下载的文件上传到阿里云服务器/usr/local/software的目录(使用工具)windows命令行工具:puttywindows......
  • Net6 应用程序运行在Linux系统
    一、运行环境LinuxCentOS7系统,.Net6应用程序二、在系统中安装运行环境,可以去官网上去下载相应得版本https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0我用得......
  • go build 成不同环境的方法:windows、mac、linux
    修改goenv环境变量,如下示例:1、Windows下编译Mac,Linux平台的64位可执行程序:$goenv-wCGO_ENABLED=0GOOS=darwin3GOARCH=amd64$goenv-wCGO_ENABLED=0GOOS=li......
  • Linux移植三步骤
    Linux系统由U-boot、Linuxkernel、rootfs这三部分构成,移植顺序如下: 1、移植BootLoader代码,即U-Boot,用于启动Linux内核  2、移植Linux内核,Linuxkernel  3、......
  • (转载)Linux目录详解,软件应该安装到哪个目录
    Linux目录详解,软件应该安装到哪个目录我们应该知道Windows有一个默认的安装目录专门用来安装软件。Linux的软件安装目录也应该是有讲究的,遵循这一点,对后期的管理和维......
  • Linux系统常见的150命令
    查询和帮助2个man查看命令帮助-命令的词典help查看Linux系统内置命令的帮助文件和目录操作18个ls查看当前目录内容以及内容属性的信息-l-acd改变当前工作......
  • Linux—进程管理
    Linux进程管理1、进程管理介绍1.1什么是进程?进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础......
  • Linux0.11源码学习(四)
    Linux0.11源码学习(四)linux0.11源码学习笔记参考资料:https://github.com/sunym1993/flash-linux0.11-talkhttps://github.com/Akagi201/linux-0.11http://xiehongfeng1......