將第二個分割區合併到根目錄

將第二個分割區合併到根目錄

我希望分區中的資料/dev/sda1自動「溢出」到該/dev/vda分區。所以我想我的問題是:如何合併 2 個分割區,使其/大小變成 138GB?

root@vps:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.8G     0  3.8G   0% /dev
tmpfs           780M   34M  747M   5% /run
/dev/sda1        39G  7.7G   32G  20% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
tmpfs           780M     0  780M   0% /run/user/1000
/dev/vda         99G   60M   94G   1% /mnt/vda

這些是可用的磁碟:

root@vps:/# fdisk -l
Disk /dev/vda: 100 GiB, 107374182400 bytes, 209715200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xffcebafc

Device     Boot Start      End  Sectors Size Id Type
/dev/sda1  *     2048 83886046 83883999  40G 83 Linux

我對此了解不多,所以我可能不會問正確的問題。

答案1

鑑於您正在處理兩個實體設備,您將無法在實體層級組合分割區。但是,您可以使用 LVM(邏輯磁碟區管理器)建立相當於虛擬區塊裝置的內容,該虛擬區塊裝置由多個真實的塊設備。這將模擬 ~138GB 的​​分割區。也可以使用 BTRFS 在檔案​​系統層級執行類似的操作,但您可以使用 LVM 執行下列操作:

注意:除了 LVM 支援之外,您的系統還需要能夠從 LVM 引導,這取決於您的引導程式及其配置方式。

轉換為 LVM

顯然,請確保首先備份系統,因為此過程會清除/dev/sda1/dev/vda。然後從 Live CD/USB 驅動器啟動 Linux 並...

  1. 運行wipefs /dev/vda以快速清除分割區。
  2. 透過運行創建LVM物理卷pvcreate /dev/vda
  3. 建立卷宗組:vgcreate vg0 /dev/vda
  4. 為您的根檔案系統建立一個邏輯磁碟區:lvcreate -L80G -n rootfs vg0。不用擔心80GB的大小;稍後會增加。
  5. 將檔案系統放在邏輯磁碟區上,例如... ext4:mkfs.ext4 -L ROOTFS /dev/vg0/rootfs
  6. 掛載新檔案系統... /mnt/newroot:mount -L ROOTFS /mnt/newroot
  7. 由於您是從 Live CD 執行此操作,因此您需要將真實的安裝/到某處,例如... /mnt/oldroot:mount /dev/sda1 -o ro /mnt/oldroot
  8. 複製老根將成為什麼新根cp -aR /mnt/oldroot/* /mnt/newroot/

現在,到目前為止,除了失去了其中的一切之外/dev/vda,沒有發生任何不可挽回的事情。因此,這是設定引導程式(例如 GRUB2)以進行引導/dev/vg0/rootfs並確保可以引導的絕佳機會。除了 df 輸出應如下所示之外,一切都應該相同:

root@vps:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.8G     0  3.8G   0% /dev
tmpfs           780M   34M  747M   5% /run
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
tmpfs           780M     0  780M   0% /run/user/1000
/dev/vg0/rootfs  99G  7.7G   92G   ?% /

如果您已經做到這一點,那麼您可以繼續執行以下操作來利用 LVM 的神奇力量。對於某些檔案系統,例如 EXT4,可以在即時系統上完成以下操作;無需現場 CD。

  1. 清除舊根:wipefs /dev/sda1
  2. 建立新的實體卷:pvcreate /dev/sda1
  3. 將新實體磁碟區新增至 LVM:vgextend vg0 /dev/sda1

此時,這兩個分割區可供 LVM 使用,但尚未使用。要使用兩個分割區(實際上它們現在是 LVM 實體磁碟區),/請擴充根邏輯磁碟區以消耗所有可用空間:

  1. 擴大邏輯卷:lvextend -l 100%FREE /dev/vg0/rootfs
  2. 擴大文件系統:resize2fs /dev/vg0/rootfs

這應該會給你一個大小約為 138GB 的​​根檔案系統:)

相關內容