在 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
以上輸出顯示 OS 磁碟的大小為 17 GB。
增加作業系統磁碟的大小,我將作業系統磁碟大小從 20 GB 變更為 40 GB。
本文使用的是VMware Workstation,需要將作業系統關機,然後執行磁碟擴充。
分割區擴充之前是20GB。
下面將系統磁碟擴展到40GB。
可以看到,已經擴充完成,下一步就啟動系統吧。
#要擴充根分割區,我們需要使用growpart
和xfs_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% /
以上是如何在 Linux 中擴充 XFS 根分割區的詳細內容。更多資訊請關注PHP中文網其他相關文章!