Xfs

我可以將一個 XFS 分區與另一個 XFS 分區合併嗎?

  • September 6, 2020

我正在使用有 3 個分區的 SSD:

$ lsblk  /dev/sda
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 111.8G  0 disk 
├─sda1   8:1    0     2M  0 part 
├─sda2   8:2    0   108G  0 part /
└─sda3   8:3    0   3.8G  0 part /mnt

/dev/sda2並被/dev/sda3格式化為 XFS 。

我不再需要了/dev/sda3,那裡沒有任何數據,我想將它與 /dev/sda2 合併。如果我必須取消分配,這不是一個大問題/dev/sda2。但我有重要數據和安裝在/dev/sda2.

有沒有辦法將 /dev/sda3 與 /dev/sda2 合併,以使數據/dev/sda2保持不變?

編輯:

在詢問之前,我已經以這種方式嘗試過 xfs_growfs:

# xfs_growfs /dev/sda2 
meta-data=/dev/sda2              isize=512    agcount=4, agsize=7077888 blks
        =                       sectsz=512   attr=2, projid32bit=1
        =                       crc=1        finobt=1, sparse=1, rmapbt=0
        =                       reflink=0
data     =                       bsize=4096   blocks=28311552, imaxpct=25
        =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=13824, version=2
        =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

它什麼也沒做。我也嘗試過刪除分區 3,然後xfs_growfs同時/執行/dev/sda2. 我重新啟動,看到可用空間是可用的,並且/dev/sda2一如既往地是 108 GB。

我沒有使用 LVM。

細節:

xfs_info -V
xfs_info version 5.7.0

你:

$ cat /etc/os-release | head -n1
NAME="Arch Linux"

核心:

$ cat /proc/version 
Linux version 5.8.5-xanmod1-1-xanmod (makepkg@archlinux) (gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35) #1 SMP PREEMPT Wed, 02 Sep 2020 20:22:18 +0000

當然不可能合併;您在最後一段中描述的是正確的方法,加上我最初錯過的一個步驟:

  • umount /mnt,完成
  • sda3使用fdiskor刪除parted完成
  • 擴展分區sda2
  • xfs_growfs /使用.擴展文件系統

第三步有點危險。如果您有系統備份,請繼續,否則使用gpartediso。在您的實時系統上,啟動fdisk /dev/sda. p列出分區。記下 sda2 的起始扇區和 id 類型。然後d刪除它!接下來,創建一個新分區,從與之前完全相同的扇區開始,到磁碟的最後一個扇區結束。我想它可能會設置為相同的 id 和類型,83 Linux,但也請檢查一下。完成後p,再次檢查新的 sda2 的起始扇區和 id 是否與舊的相同,w q。危險的部分是,如果你錯過了 start 或 id,分區數據將被破壞(不完全是,但你遇到了麻煩)。只是刪除分區改變了表,數據沒有被觸及。

在那之後xfs_growfs /將擴展文件系統;如果不需要,核心可能需要partprobeorpartx命令來了解更改。或者你可以重新啟動。

刪除分區來擴展它可能看起來很奇怪,但這是一個標準過程,你可以搜尋它。如果你想避免它,你可以在未來的系統上使用 LVM。


另一種方法是下載gpartedmake a boot usb/cd,從那裡啟動並在簡單的圖形環境中完成工作。

引用自:https://unix.stackexchange.com/questions/608169