Centos
增加磁碟大小並從 MBR 更改為 GPT
我在 VMware 上有一個 CentOS 伺服器,其中有一個 1.5TB 的磁碟,一個 xfs 分區使用整個磁碟。此磁碟/分區空間不足,因此我需要將其大小增加到 2.5TB。
所以我在VMware上增加了大小並嘗試刪除和添加分區,但失敗了。當然,原來的分區是MBR,新的分區必須是GPT,但是嘗試刪除/添加分區時,轉換失敗。我發現原始分區位於扇區 128,而新分區嘗試從扇區 2048 開始,我試圖對其進行修改,但我不能(我猜是因為 GPT 需要比 MBR 更多的空間?)。
然後我提出了移動原始分區的想法,使其從扇區 2048 開始,將分區轉換為 GPT,然後增加分區的大小。
是否有意義?那可能嗎?特別是移動分區的第一部分。謝謝!
更新 出於格式化原因,這裡是建議命令的輸出:
parted /dev/disk unit s print free
Disk /dev/sdb: 5368709120s Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Numero Inicio Fin Tamaño Typo Sistema de ficheros Banderas 63s 127s 65s Free Space 1 128s 3259013119s 3259012992s primary xfs 3259013120s 5368709119s 2109696000s Free Space
所以你有一個從扇區 128 開始的 msdos 分區。
這是不常見的,因為標準將是 MiB 對齊,從扇區 2048 開始(對於 512 字節的邏輯扇區大小)。
使用 GPT,您仍然可以使用起始扇區 128,這不是問題:
# parted /dev/loop0 unit s print free Model: Loopback device (loopback) Disk /dev/loop0: 3259017216s Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 34s 127s 94s Free Space 1 128s 3259017182s 3259017055s
但是,
parted
當您創建它時會向您抱怨:# parted /dev/loop0 (parted) mklabel gpt (parted) mkpart Partition name? []? File system type? [ext2]? Start? 128s End? 100% Warning: The resulting partition is not properly aligned for best performance: 128s % 2048s != 0s Ignore/Cancel? Ignore
如果您不關心 MiB 對齊(並且由於您的數據已經存在,因此您別無選擇)您可以忽略此警告。128 的起始扇區仍然是 4K 對齊的(64K 對齊的),所以也可以。
GPT 還在磁碟末尾儲存備份,因此末端扇區有時可能是問題所在。但是你很幸運,你的磁碟末尾有 4096 個空閒扇區,所以你的情況沒有問題。否則,在轉換為 GPT 之前,您必須先增加磁碟。
如果要實現 MiB 對齊,則必須移動所有數據。最安全的方法(如果您有足夠的空間)是將其完全複製到新磁碟上。將數據重新定位到適當的位置可能是有風險的。