All Products
Search
Document Center

Container Service for Kubernetes:Resize the system disk of a node when the disk space is insufficient

Last Updated:Mar 05, 2025

If the system disk usage or data disk usage of a node is high or the system disk specification of a node does not meet your business requirements, you can resize the system disk or data disk to ensure the stability of the node. We recommend that you resize system disks online, which does not require you to restart the nodes. This allows you to resize system disks without interrupting your businesses in the cluster.

Before you begin

Before you resize system disks or data disks, read the Overview topic to learn about the following information:

  • The procedure for resizing a system disk or data disk includes partition extension and file system extension.

  • The maximum capacity to which a system disk or data disk can be resized is limited. You are charged for resizing a system disk or data disk.

If you use ContainerOS as the operating system, read the Resize the system disk of a ContainerOS node online topic to resize the system disk.

Resize a system disk

Step 1: Check the disk capacity and disk partitions on the node

Before you resize the system disk of a node, log on to the node and check the capacity of the disk and the partitions on the disk.

  1. Log on to the node. For more information, see Use Workbench to connect to a Linux instance over SSH.

  2. Run the following command to query the space to which the current container process is attached:

    df -hl
  3. Run the following command to query the disk partitions on the node:

    sudo fdisk -lu

    Expected output:

    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

    The output shows that the node has one disk partition /dev/vda3.

Step 2: Extend the capacity of the disk

Refer to Resize a disk to extend the disk capacity for usage notes. Then, log on to the ECS console and configure a expanded system disk capacity. We recommend that you use online resizing, which takes effect immediately without instance reboot.

Step 3: Resize the disk and verify the resizing

In this example, the /dev/vda3 partition queried in Step 1 is used. For more information about how to extend partitions and file systems and the relevant usage notes, see Extend the partitions and file systems of disks on a Linux instance.

  1. Run the following command on the node to extend the partition:

    sudo LC_ALL=en_US.UTF-8 growpart /dev/vda 3
  2. Run the following command on the node to extend the file system:

    sudo resize2fs /dev/vda3 
  3. Run the following command to check whether the disk is resized:

    df -hl

    Expected output:

    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% / ...

    The output shows that the new capacity of the file system of the /dev/vda3 partition is close to 200 GiB, which indicates that the disk is successfully resized.

  4. Run the following command to restart the kubelet on the node:

    systemctl restart kubelet
    Important

    Restarting the kubelet on a node may affect the node and the workloads on the node. We recommend that you restart the kubelet during off-peak hours.

  5. Run the following command to check whether the capacity of ephemeral storage on the node is extended. Replace cn-qingdao.192.XX.XX.88 with the actual node name.

    kubectl get node cn-qingdao.192.XX.XX.88 -o yaml |grep ephemeral-storage

    Check whether the value of ephemeral-storage in the output is close to 200 GiB.

Resize a data disk

Step 1: Check the disk capacity and disk partitions on a node

Before you resize the data disk of a node, log on to the node and check the capacity of the disk and the partitions on the disk.

  1. Log on to the node. For more information, see Use Workbench to connect to a Linux instance over SSH.

  2. Run the following command to query the disk partitions on the node:

     sudo fdisk -lu

    Expected output:

    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

    The output shows that the disk has one disk partition /dev/vdb.

Step 2: Extend the capacity of the disk

Refer to Step 1: Resize a disk to extend the disk capacity to learn about the usage notes. Then, log on to the ECS console to specify a new capacity, such as 50 GiB. We recommend that you use the online resizing method, which does not require you to restart the node for the resize operation to take effect.

Step 3: Resize the disk and verify the resizing

  1. Run the following command on the node to extend the file system:

    sudo resize2fs /dev/vdb
  2. Run the following command to restart the kubelet on the node:

    systemctl restart kubelet
    Important

    Restarting the kubelet on a node may affect the node and the workloads on the node. We recommend that you restart the kubelet during off-peak hours.

  3. Run the following command to check whether the disk is resized:

    df -hl

    Expected output:

    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 ...

    The output shows that the new capacity of the file system on the vdb partition is close to 50 GiB, which indicates that the disk is successfully resized.