在工作中,我遇到了一個需求,需要將 /home 分區擴展至 2TB 以上的大小。最初我在擴容過程中遇到問題,發現硬盤的最大擴展容量限制在 2TB,無法繼續擴展。經過一番調查,我發現 CentOS 默認使用的是 MBR(Master Boot Record)分區格式,而 MBR 格式最大只支持 2TB 的硬盤容量。為了突破這個限制,我決定將硬盤分區轉換為 GPT(GUID Partition Table)格式,利用 GPT 格式的優勢,可以支持更大的硬盤容量,并且沒有 2TB 的限制。
1. MBR 與 GPT 分區的差異
如果你曾經在使用 Windows 時,也許已經見過硬盤初始化時的選擇窗口,要求選擇 MBR 或 GPT 格式。對于硬盤小于 2TB,并且不打算創建超過 4 個主分區的情況下,MBR 分區格式足夠使用。然而,一旦硬盤超過 2TB,或者需要創建更多的分區,GPT 分區格式就變得不可或缺。了解這一點后,我決定在 CentOS 系統上對 /home 或根分區進行擴容時,首先需要轉換為 GPT 格式的分區表。
2. 使用 GPT 格式安裝 CentOS
要在 CentOS 系統上使用 GPT 格式,首先需要確保系統是在 GPT 分區格式下安裝的。在安裝 CentOS 7 時,可以在啟動界面按下 TAB 鍵,進入高級自定義安裝選項。在選項的最后添加 inst.gpt 參數,然后回車。通過這種方式,系統會以 GPT 格式進行分區,并完成安裝。
完成安裝后,可以通過以下命令驗證系統是否已經成功使用了 GPT 格式:
parted /dev/sda
此時,分區表應該顯示為 GPT 格式,而不是 MBR。
3. 擴容分區過程
對于超過 2TB 的硬盤,無論是 MBR 還是 GPT 格式,都可以擴容,但 GPT 格式的分區支持大于 2TB 的容量,因此,在對硬盤進行擴容時,如果需要增加大于 2TB 的空間,確保硬盤采用 GPT 格式是至關重要的。
3.1 查看原有分區大小
首先,使用 lsblk 命令查看當前系統分區的情況。例如,您可以看到 /dev/sda 的容量已經增加了 100GB,如下所示:
lsblk
這表明硬盤擴容已經完成,可以進行下一步操作。
3.2 擴容的主要步驟
在擴容過程中,關鍵的操作步驟包括創建物理卷(PV)、擴展卷組(VG)、擴展邏輯卷(LV),以及擴容文件系統。
(1)創建物理卷(PV)首先,使用 pvcreate 命令在新的分區上創建物理卷:
pvcreate /dev/sda4
(2)將 PV 加入 VG然后,使用 vgextend 命令將新創建的物理卷添加到現有的卷組中(假設卷組名稱為 centos):
vgextend centos /dev/sda4
(3)擴展邏輯卷(LV)接著,使用 lvextend 命令擴展邏輯卷。比如,假設根目錄的邏輯卷是 /dev/mapper/centos-root,可以執行:
lvextend -l +100%FREE /dev/mapper/centos-root
(4)擴容文件系統如果根目錄或 /home 分區使用的是 XFS 文件系統,可以使用 xfs_growfs 命令來擴展文件系統。假設要擴展 /home 分區,命令如下:
xfs_growfs -m 30 /home
3.3 檢查擴容效果
擴容完成后,可以使用以下命令檢查文件系統的 inode 使用情況:
df -ih
確保文件系統成功擴容。
4. 總結
通過轉換為 GPT 格式分區,成功突破了 2TB 的硬盤容量限制,并且可以靈活地擴展分區。在 CentOS 系統中擴展大容量硬盤分區時,重要的操作步驟包括創建物理卷、擴展卷組、擴展邏輯卷以及擴容文件系統。通過這些步驟,我順利完成了 /home 分區的擴容任務,確保了系統可以支持更大的存儲空間。
通過這種方式,我們可以充分利用 GPT 分區表來處理超過 2TB 的硬盤容量需求,同時保持系統的穩定性和高效性。