為了適應不斷增長的存儲需求,避免磁盤空間不足造成的系統故障,并確保應用安裝與數據存儲有足夠的空間,您需要在系統盤容量告急時及時擴容系統盤容量。本文介紹如何在不停機的前提下,對ContainerOS的系統盤進行在線擴容。
閱讀前提示
擴容系統盤前,建議您參見云盤擴容指引了解云盤(包括系統盤和數據盤,本文涉及系統盤)的以下信息:
系統盤的擴容流程:包括擴容系統盤容量以及擴容分區和文件系統。
系統盤的擴容上限。
系統盤擴容過程中產生的費用。
步驟一:擴容云盤容量
您可以參見步驟一:擴容云盤容量,了解擴容注意事項并登錄ECS管理控制臺配置擴容后的系統盤容量(例如200 GiB)。推薦您在選擇在線擴容的擴容方式,擴容后無需重啟實例即可生效。
步驟二:擴容分區
通過云助手下發如下命令,查看節點當前的分區。
fdisk -l
輸出如下所示。
NVMe云盤
Disk /dev/nvme0n1: 150 GiB, 161061273600 bytes, 314572800 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 00000000-0000-4000-A000-000000000001 Device Start End Sectors Size Type /dev/nvme0n1p1 2048 4095 2048 1M BIOS boot /dev/nvme0n1p2 4096 264191 260096 127M EFI System /dev/nvme0n1p3 264192 1050623 786432 384M Linux filesystem /dev/nvme0n1p4 1050624 19924991 18874368 9G Linux filesystem
非NVMe云盤
Disk /dev/vda: 120 GiB, 161061273600 bytes, 314572800 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 00000000-0000-4000-A000-000000000001 Device Start End Sectors Size Type /dev/vda1 2048 4095 2048 1M BIOS boot /dev/vda2 4096 264191 260096 127M EFI System /dev/vda3 264192 1050623 786432 384M Linux filesystem /dev/vda4 1050624 19924991 18874368 9G Linux filesystem
說明請您根據自身環境中云盤格式判斷后續擴容命令。本示例將以NVMe格式的系統盤nvme0n1p4舉例。
通過云助手下發如下命令,擴容指定分區。
NVMe云盤
growpart /dev/nvme0n1 4
非NVMe云盤
growpart /dev/vda 4
命令執行后會輸出如下類似信息,表明磁盤分區已經擴容成功。
CHANGED: partition=4 start=1050624 old: size=18874368 end=19924991 new: size=313522143 end=314572766
步驟三:擴容文件系統
通過云助手下發如下命令,調整分區掛載模式。
由于ContainerOS中的
/sysroot
默認是以只讀方式掛載的,無法直接擴容文件系統,因此您需要創建一個新的掛載命名空間,并在掛載命名空間前先將/sysroot
以可寫方式掛載,再擴容文件系統,從而避免對默認空間的掛載方式產生影響。NVMe云盤
unshare --mount -- mount -o remount,rw /dev/nvme0n1p4 /sysroot
非NVMe云盤
unshare --mount -- mount -o remount,rw /dev/vda4 /sysroot
通過云助手下發如下命令,即可在新的掛載命名空間中對文件系統進行擴容。
NVMe云盤
unshare --mount -- resize2fs /dev/nvme0n1p4
非NVMe云盤
unshare --mount -- resize2fs /dev/vda4
輸出如下類似信息,表明文件系統擴容成功。
resize2fs 1.46.0 (29-Jan-2020) Filesystem at /dev/nvme0n1p4 is mounted on /; on-line resizing required old_desc_blocks = 19, new_desc_blocks = 19 The filesystem on /dev/nvme0n1p4 is now 39452411 (4k) blocks long.
驗證節點系統盤是否擴容成功。
通過云助手下發如下命令,查看根分區大小。
df -h
輸出如下所示,表明根分區已擴容到指定大小,節點擴容成功。
Filesystem Size Used Avail Use% Mounted on /dev/root 199G 9.1G 163G 5% /sysroot devtmpfs 3.8G 0 3.8G 0% /dev tmpfs 3.8G 0 3.8G 0% /dev/shm tmpfs 3.8G 2.0M 3.8G 1% /run tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup tmpfs 3.8G 16K 3.8G 1% /tmp overlay 149G 9.1G 133G 7% /var/opt /dev/nvme0n1p3 362M 16M 324M 5% /boot
文檔內容是否對您有幫助?