離線擴容云盤(Linux系統(tǒng))
云盤(系統(tǒng)盤或數據盤)使用空間不足時,您可以擴容云盤的存儲容量。如果您的ECS實例不支持在線擴容云盤,可以通過離線擴容的方式為Linux實例進行擴容云盤。離線擴容云盤需要重啟實例,您的業(yè)務會短暫中斷,建議在業(yè)務不繁忙時操作。
背景信息
| 資源 | 描述 |
|---|---|
| ECS實例的鏡像 | 公共鏡像Alibaba Cloud Linux 2.1903 LTS 64位 |
| 系統(tǒng)盤 | /dev/vda:使用MBR分區(qū)和ext4文件系統(tǒng),由40 GiB擴容到60 GiB。 |
| 數據盤 |
|
步驟一:創(chuàng)建快照
在擴容云盤前,為云盤創(chuàng)建快照,做好數據備份。
步驟二:在控制臺擴容云盤容量并重啟(或啟動)ECS實例
步驟三:查看云盤分區(qū)情況
進入ECS實例內部,查看系統(tǒng)盤和數據盤的分區(qū)類型(MBR和GPT)和文件系統(tǒng)類型(ext4、xfs等)。不同的分區(qū)和文件系統(tǒng),后續(xù)擴容分區(qū)和文件系統(tǒng)操作中存在差異。
步驟四:擴容分區(qū)
通過查看云盤分區(qū)情況,在ECS實例內分區(qū)和文件系統(tǒng)并未擴容。此步驟介紹如何在ECS實例內部擴容云盤分區(qū)。
步驟五:擴容文件系統(tǒng)
此步驟介紹如何ECS實例內部擴容分區(qū)的文件系統(tǒng)。
常見問題
-
問題:運行growpart
/dev/vda 1時,提示unexpected
output in sfdisk --version [sfdisk,來自 util-linux 2.23.2]。
解決方案:
-
運行l(wèi)ocale命令查看ECS實例的字符編碼類型,將非en_US.UTF-8的字符編碼類型切換成en_US.UTF-8。
-
運行以下命令,切換字符編碼類型。
LANG=en_US.UTF-8 -
如果問題仍未解決,運行以下命令,切換字符編碼類型。
export LC_ALL=en_US.UTF-8 -
如果問題仍未解決,運行以下命令,切換字符編碼類型。
localectl set-locale LANG=en_US.UTF-8 -
如果您使用CentOS
8鏡像,采用以上方案無法解決問題時,運行以下命令,切換字符編碼類型。
export LANGUAGE=en_US.UTF-8
-
運行以下命令,切換字符編碼類型。
- 如果問題仍未解決,請您嘗試運行reboot命令重啟ECS實例。
注意當您通過切換字符編碼,成功完成擴容分區(qū)后,建議您按需切回原有字符編碼。
-
運行l(wèi)ocale命令查看ECS實例的字符編碼類型,將非en_US.UTF-8的字符編碼類型切換成en_US.UTF-8。
-
問題:運行growpart
/dev/vda 1時,提示-bash:
growpart: command not found。
解決方案:
-
運行uname
-a檢查Linux內核的版本。本文操作適用于Linux內核版本3.6.0及以上的系統(tǒng)。
如果Linux內核低于3.6.0版本,擴容分區(qū)操作請參見擴展低內核版本實例的系統(tǒng)盤分區(qū)和文件系統(tǒng)和擴展分區(qū)和文件系統(tǒng)_Linux數據盤。
-
安裝growpart工具。
-
CentOS
7及以上版本運行以下命令。
yum install -y cloud-utils-growpart -
Debian
9及以上版本、Ubuntu14及以上版本運行以下命令。
apt install -y cloud-guest-utils
-
CentOS
7及以上版本運行以下命令。
-
運行uname
-a檢查Linux內核的版本。本文操作適用于Linux內核版本3.6.0及以上的系統(tǒng)。
如果您有其他問題,可以聯(lián)系北京志遠天成阿里云代理商,為您提供一對一專業(yè)全面的技術服務,同時新老阿里云會員,均可享受我公司代理商價格,歡迎咨詢!




