實踐概述
當磁盤投入使用之后,在進行云硬盤擴容時,請務必在擴容前檢查磁盤的分區形式,具體形式說明如下:
| 分區形式 | 注意事項 |
|---|---|
| MBR分區 | 容量最大支持2TB(2048GB),超過2TB的部分無法使用。 |
| GPT分區 | 容量最大支持18EB(19327352832GB)。云硬盤服務支持的最大數據盤容量為32TB(32768GB),即您最大可將數據盤擴容至32TB。 |
| MBR分區需擴容至2TB以上 | 必須將磁盤分區形式由MBR切換成GPT,期間會中斷業務,并且更換磁盤分區形式時會清除磁盤的原有數據,請在擴容前先對數據進行備份。 |
本文將以操作系統為“CentOS 7.6 64bit”鏡像的彈性云主機為例,介紹磁盤擴容至大于2TB之后,分區如何轉換。
操作前準備
本節介紹在具體實踐之前,用戶需要做的資源規劃、資源創建以及注意事項。
資源規劃
本實踐以操作系統為“CentOS 7.6 64bit”的云主機為例,介紹處理Linux云主機實例磁盤空間不足的方法,需要您提前做好資源規劃,具體資源如下:
| 資源 | 資源說明 | 數量 | 詳情鏈接 |
|---|---|---|---|
| 彈性云主機 | 操作系統為“CentOS 7.6 64bit” | 1個 | 彈性云主機計費 |
| 云硬盤 | 數據盤前期40G,后期擴容至大于2TB | 1個 | 云硬盤計費 |
| 彈性IP | 彈性云主機需要綁定彈性IP來下載安裝包 | 1個 | 彈性IP計費 |
資源創建
創建操作系統鏡像為“CentOS 7.6 64bit”的彈性云主機,具體操作請參見創建彈性云主機。
創建云硬盤,并將其掛載至已創建好的彈性云主機中,初始化磁盤分區,確認云硬盤是已經完整掛載好的狀態,具體要求為:為一個容量為40G的數據盤/dev/vdb新建分區/dev/vdb1,且將其掛載至/mnt/sdc目錄中。具體操作請參見創建云硬盤,掛載云硬盤以及初始化Linux數據盤。
擴容云硬盤,為創建好的數據盤擴容至大于2TB,具體操作請參見擴容云硬盤。
注意事項
轉換分區需要將原有分區進行替換,通常需要先卸載原有分區,因此會在一定程度上影響業務運行,請謹慎操作。
轉換分區過程中,為防止數據的丟失與異常,請在操作之前先備份數據,若出現誤操作可使用云硬盤快照或云硬盤備份來恢復數據。
操作步驟
所有操作步驟都是以操作系統“CentOS 7.6 64bit”彈性云主機為例,回顯結果僅供參考。
數據備份
轉換分區過程中,為防止數據的丟失與異常,請在操作之前先備份數據,請參見創建云硬盤快照或創建云硬盤備份。
若出現誤操作可使用云硬盤快照或云硬盤備份來恢復數據,請參見快照回滾或使用備份恢復云硬盤。
卸載分區
登錄控制中心。
單擊控制中心左上角的

,選擇地域,此處我們選擇華東1。單擊“計算>彈性云主機”,進入彈性云主機頁面。
單擊待操作的彈性云主機所在行的“操作>遠程登錄”。


以root用戶身份登入云主機,登錄之后如圖:


執行命令
df -h,來查看當前云主機中磁盤掛載情況。回顯信息如圖所示:


從圖中可看出,在操作前,已經為一個容量為40G的數據盤/dev/vdb新建了分區/dev/vdb1,且已經掛載至了/mnt/sdc目錄中。
執行命令
fdisk -l,查看分區/dev/vdb1的分區類型是否為MBR。回顯信息如圖所示:


當“System”顯示為“Linux”時表示為MBR分區,不同操作系統顯示略有不同。
執行命令
umount /mnt/sdc來卸載分區,/mnt/sdc為掛載點。具體操作如圖所示:


執行命令
lsblk查看卸載結果,操作及回顯信息如圖所示:

從圖中可以看到,屬于/dev/vdb1的掛載點“MOUNTPOINT”已經為空了。說明分區已經卸載成功。
轉換分區
接下來,開始將MBR分區轉換為GPT分區。
執行命令
parted /dev/vdb,并輸入“p”,按“Enter”鍵,查看當前的分區信息。


如圖所示,當前磁盤容量為2190G,是大于2TB的。
輸入“rm 1”,這里的1指的的分區號(number),按“Enter”,刪除分區1。
輸入“p”,按“Enter”,查看當前分區信息,可以查看到分區是否已經刪除。具體操作及回顯如圖所示:


如圖所示,分區已被刪除。
輸入“mklabel GPT”,按“Enter”,直接使用GPT分區來劃分分區,會給出一行提示,確認提示之后,輸入“Yes”,按“Enter”,具體回顯信息如圖所示:


輸入 “mkpart primary 2048s 100%” ,按“Enter”創建分區。2048在這里代表磁盤初始容量,100%代表磁盤截止容量,用戶可以根據自身的業務需求來自行規劃磁盤分區的容量和數量。
注意
如果此命令行中的磁盤初始容量大于原分區,則可能會導致數據丟失。
如果此命令行中的磁盤截止容量小于原分區,則可能會導致數據丟失。
輸入“p”,按“Enter”查看當前分區情況,回顯信息如下圖所示:


從圖中可以看到,新的分區已經替換成功。
輸入“q”,按“Enter”,即可退出分區工具parted。
掛載分區
接下來可以掛載分區,繼續將/dev/vdb1掛載至/mnt/sdc。
執行命令 mount /dev/vdb1 /mnt/sdc,具體回顯信息如下圖所示:


擴容文件系統
接下來擴容文件系統,以ext文件系統為例:
執行命令 resize2fs /dev/vdb1,這里的vdb1為對應分區。具體操作及回顯如下圖所示:


若想要擴容xfs文件系統,則使用xfs_growfs命令,例如xfs_growfs /dev/vdb1。
開機自動掛載
請參考初始化Linux數據盤(fdisk)中的“設置開機自動掛載磁盤”來為此實踐設置自動掛載。
至此,云硬盤從小于2TB擴容至大于2TB的分區轉換已全部完成。