ノードのシステムディスクまたはデータディスクをオンラインで拡張します。再起動は不要です。
ノードで ContainerOS が実行されている場合は、代わりに「ContainerOS ノードのシステムディスクをオンラインでサイズ変更する」をご参照ください。
仕組み
ノードのディスク拡張には、次の 2 つのレイヤーが含まれます。
-
ディスク容量の増加 — Elastic Compute Service (ECS) コンソールで ECS ディスクのサイズを変更します。
-
パーティションとファイルシステムの拡張 — 新しい領域をノード OS から見えるようにします。
両方のステップが完了したら、kubelet を再起動して、Kubernetes がノードの ephemeral-storage 容量を更新するようにします。
手順は、システムディスクとデータディスクで若干異なります。
| ディスクタイプ | パーティションの拡張は必要か? | ファイルシステムの拡張は必要か? |
|---|---|---|
システムディスク (例:/dev/vda3) |
はい — 最初に growpart を実行します |
はい — resize2fs |
データディスク (例:/dev/vdb) |
いいえ — ディスクに追加のパーティションはありません | はい — resize2fs を直接実行します |
前提条件
次のことを確認してください。
-
容量制限と課金については、ディスクのサイズ変更の概要をお読みください。サイズ変更には料金が発生します
-
対象ディスク (システムディスクまたはデータディスク) を確認済みであること
システムディスクの拡張
現在のディスク状態の確認
ノードにログインし、現在のディスク使用率とパーティションレイアウトを確認します。
-
現在のファイルシステムの使用状況を確認します。
df -hl -
ディスクパーティションを一覧表示します。
sudo fdisk -lu想定される出力:
Disk /dev/vda: 20 GiB, 21474836480 bytes, 41943040 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: FD47CD2F-8911-47B3-94A7-76CAE693CF78 Device Start End Sectors Size Type /dev/vda1 2048 6143 4096 2M BIOS boot /dev/vda2 6144 415743 409600 200M EFI System /dev/vda3 415744 41940991 41525248 19.8G Linux filesystemLinux ファイルシステムパーティション (
/dev/vda3) を拡張します。トラブルシューティング:
/dev/vdaがリストにない場合は、ECS コンソールでディスクがノードにアタッチされていることを確認してください。
ECS でのディスク容量の増加
ECS コンソールにログインし、システムディスクのサイズを変更します。
オンラインでのサイズ変更を使用して、ノードの再起動を回避します。
パーティションとファイルシステムの拡張
ECS ディスクのサイズ変更が完了したら、ノードでこれらのコマンドを実行します。
-
パーティション (
/dev/vda、パーティション3) を拡張します。sudo LC_ALL=en_US.UTF-8 growpart /dev/vda 3トラブルシューティング:
growpartがパーティションは既に最大サイズであると報告した場合、ECS のサイズ変更が反映されていない可能性があります。数分待ってから再試行してください。問題が解決しない場合は、ECS コンソールで新しいサイズを確認してください。 -
ファイルシステムを拡張します。
sudo resize2fs /dev/vda3トラブルシューティング:
resize2fsが "bad magic number" または "No such file or directory" エラーを返す場合は、パーティションデバイス (/dev/vda3) が上記の fdisk の出力と一致することを確認してください。 -
新しい容量を確認します。
df -hl想定される出力 (この例では
/dev/vda3は約 200 GiB を示します):Filesystem Size Used Avail Use% Mounted on devtmpfs 3.7G 0 3.7G 0% /dev tmpfs 3.7G 0 3.7G 0% /dev/shm tmpfs 3.7G 20M 3.7G 1% /run tmpfs 3.7G 0 3.7G 0% /sys/fs/cgroup /dev/vda3 197G 4.5G 184G 3% / ... -
kubelet を再起動して、ノードの ephemeral storage 容量を更新します。
systemctl restart kubelet重要kubelet を再起動すると、ノード上のワークロードに一時的に影響する可能性があります。このステップはオフピーク時にスケジュールしてください。
-
Kubernetes が新しい ephemeral storage サイズを報告することを確認します (
cn-qingdao.192.XX.XX.88をご利用のノード名に置き換えてください):kubectl get node cn-qingdao.192.XX.XX.88 -o yaml | grep ephemeral-storageephemeral-storageの値は約 200 GiB になるはずです。
データディスクの拡張
現在のディスク状態の確認
ノードにログインし、現在のパーティションレイアウトを確認します。
-
ディスクパーティションを一覧表示します。
sudo fdisk -lu想定される出力:
Disk /dev/vda: 20 GiB, 21474836480 bytes, 41943040 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: FD47CD2F-8911-47B3-94A7-76CAE693CF78 Device Start End Sectors Size Type /dev/vda1 2048 6143 4096 2M BIOS boot /dev/vda2 6144 415743 409600 200M EFI System /dev/vda3 415744 41940991 41525248 19.8G Linux filesystem Disk /dev/vdb: 45 GiB, 48318382080 bytes, 94371840 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データディスク (
/dev/vdb) にはパーティションがありません。ファイルシステムを直接拡張するため、growpartは不要です。トラブルシューティング:
/dev/vdbがリストにない場合は、ECS コンソールでデータディスクがノードにアタッチされていることを確認してください。
ECS でのディスク容量の増加
ECS コンソールにログインし、データディスクをターゲットサイズ (例:50 GiB) に変更します。
オンラインでのサイズ変更を使用して、ノードの再起動を回避します。
ファイルシステムの拡張
ECS ディスクのサイズ変更が完了したら、ノードでこれらのコマンドを実行します。
-
ファイルシステムを拡張します。
sudo resize2fs /dev/vdbトラブルシューティング:
resize2fsがファイルシステムタイプに関するエラーを返す場合は、データディスクが ext4 を使用していることを確認してください。異なるファイルシステムを使用している場合は、対応するサイズ変更ツールを使用してください。 -
kubelet を再起動して、ノードの ephemeral storage 容量を更新します。
systemctl restart kubelet重要kubelet を再起動すると、ノード上のワークロードに一時的に影響する可能性があります。このステップはオフピーク時にスケジュールしてください。
-
新しい容量を確認します。
df -hl想定される出力 (この例では
/dev/vdbは約 50 GiB を示します):Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 3.7G 0 3.7G 0% /dev tmpfs tmpfs 3.7G 0 3.7G 0% /dev/shm tmpfs tmpfs 3.7G 20M 3.7G 1% /run tmpfs tmpfs 3.7G 0 3.7G 0% /sys/fs/cgroup /dev/vda3 ext4 197G 4.5G 184G 3% / /dev/vda2 vfat 200M 5.8M 195M 3% /boot/efi /dev/vdb ext4 49G 2.7G 44G 6% /var/lib/container .../dev/vdbエントリが約 50 GiB を示し、拡張が成功したことを確認できます。
次のステップ
-
Linux インスタンス上のディスクのパーティションとファイルシステムを拡張する — 高度なシナリオを含む詳細なガイダンス