Debian

擴展完整的虛擬 debian 磁碟以使用空白空間

  • February 13, 2019

我有一個執行 Debian 8 的虛擬伺服器,主磁碟完全滿。我已經通過我的管理程序擴展了“物理”硬碟驅動器,但我不知道如何擴展主分區以使用虛擬磁碟上新創建的未分配空間。

我已將虛擬磁碟從 4GB 擴展到 10GB。

fidks -l輸出:

GPT PMBR size mismatch (8388607 != 20971519) will be corrected by w(rite).
Disk /dev/sda: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 58BB252B-F2A7-48A3-9270-BB80B698AC35

Device       Start     End Sectors  Size Type
/dev/sda1     2048 1050623 1048576  512M EFI System
/dev/sda2  1050624 6293503 5242880  2.5G Linux filesystem
/dev/sda3  6293504 8386559 2093056 1022M Linux swap

df -h輸出:

Filesystem      Size  Used Avail Use% Mounted on
udev            438M     0  438M   0% /dev
tmpfs            90M   11M   80M  12% /run
/dev/sda2       2.4G  2.4G     0 100% /
tmpfs           449M     0  449M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           449M     0  449M   0% /sys/fs/cgroup
/dev/sda1       511M  132K  511M   1% /boot/efi
tmpfs            90M     0   90M   0% /run/user/1000

**重要提示:**這是一個非常簡單的系統,上面幾乎沒有實用程序,由於磁碟空間不存在,我無法安裝任何東西。

我正在尋找一種擴展分區的方法。

  1. 先決條件
  • 如果 /( /dev/sda2) 是一個線上可調整大小的文件系統,則一切都可以在 VM 中一次性完成,無需重新啟動。你從來沒有告訴過文件系統是什麼/。我會假設它是ext4xfs也可以工作,其他一些人也可以)。
  • 這是一個虛擬機,在繼續之前做一個備份。
  • 安裝 gdisk。不要使用fdiskbut gdisk:fdisk並不總是能很好地處理我在下面描述的 GPT PMBR 問題,gdisk對此沒有任何問題。安裝尺寸小於1M。
  1. 對分區執行的操作
  • swapoff /dev/sda3準備將其移除:它的方式並不重要。
  • 執行gdisk /dev/sda。注意有關 GPT PMBR 的警告:這是因為 EFI 在磁碟的開頭和結尾都寫入了它的標籤資訊。所以當你擴大磁碟時,新的一端已經沒有 GPT 簽名和數據了。gdisk更正這些資訊並要求確認:接受。fdisk在這一步可能會失敗(在 fdisk 的最後 w 完成)。
  • (可選)記下要更改的分區的唯一 GUID (i 2i 3),以便在後續步驟後重用。
  • d用and刪除分區 3(交換)3,否則不能擴大分區 2。
  • 棘手的部分:刪除分區 2 ( d 2)。(重新)在同一位置n 2創建分區 2 ( ) :選擇相同的開始 ( ) 和更大的大小或更大的結束,這樣您將有更多可用空間,例如. 分區類型。如果您被告知檢測到舊文件系統的簽名,請不要刪除它,那是您正在執行的系統。1050624``+7G``8300
  • 為 swap ( n 3) 重新創建一個新分區 3,建議預設啟動,並且大小可能與以前相同,鍵入8200.
  • (可選)恢復之前提到的分區的唯一 GUID,如果某些配置的磁碟設置依賴它(PARTUUID=...),則需要使用專家選項(x然後分別用於分區 2 和 3c 2c 3)。
  • 寫入更改(w確認…)。您將收到有關核心未使用新分區表的錯誤。這是預期的。退出 ( q)。
  1. partx用命令修復核心的視圖問題
  • “移動”交換的分區
# cat /sys/class/block/sda3/start #kernel's view of the old sda3 partion's position
6293504
# partx -u /dev/sda3
# cat /sys/class/block/sda3/start
(some higher value)              #kernel's view of sda3 is fixed
**!!**如果您在這一步沒有得到更高的值,請中止並重新啟動:核心將在重新啟動後獲得新的幾何圖形(但它會抱怨交換不可用)並跳到第 4 步。
擴大根 fs' 分區
cat /sys/class/block/sda2/size #kernel's view of the old partition's size
42880
partx -u /dev/sda2
cat /sys/class/block/sda2/size
ome bigger value)              #kernel's view of sda2 is fixed
4. 文件系統


重用交換,擴大文件系統:現在分區中有空間,裡面的文件系統可以使用那個空間。
mkswap /dev/sda3
swapon /dev/sda3
resize2fs /dev/sda2 # ext4 can be resized "online" ie while mounted.
或者對於 xfs:
xfs_growfs /


你準備好了。驗證重新啟動後它仍然可以。否則,還有備份。

引用自:https://serverfault.com/questions/878896