For this example, suppose that you have an instance built on the Nitro System, such as an M5 instance. You resized the boot volume from 8 GB to 16 GB and an additional volume from 8 GB to 30 GB. Use the following procedure to extend the file system of the resized volumes.
To extend the file system of NVMe EBS volumes
-
To verify the file system for each volume, use the df -hT command.
[ec2-user ~]$ df -hTThe following is example output for an instance that has a boot volume with an XFS file system and an additional volume with an XFS file system. The naming convention
/dev/nvme[0-26]n1indicates that the volumes are exposed as NVMe block devices.[ec2-user ~]$ df -hTFilesystem Type Size Used Avail Use% Mounted on/dev/nvme0n1p1 xfs 8.0G 1.6G 6.5G 20% //dev/nvme1n1 xfs 8.0G 33M 8.0G 1% /data -
To check whether the volume has a partition that must be extended, use the lsblk command to display information about the NVMe block devices attached to your instance.
[ec2-user ~]$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTnvme1n1 259:0 0 30G 0 disk /datanvme0n1 259:1 0 16G 0 disk└─nvme0n1p1 259:2 0 8G 0 part /└─nvme0n1p128 259:3 0 1M 0 partThis example output shows the following:
-
The root volume,
/dev/nvme0n1, has a partition,/dev/nvme0n1p1. While the size of the root volume reflects the new size, 16 GB, the size of the partition reflects the original size, 8 GB, and must be extended before you can extend the file system. -
The volume
/dev/nvme1n1has no partitions. The size of the volume reflects the new size, 30 GB.
-
-
For volumes that have a partition, such as the root volume shown in the previous step, use the growpart command to extend the partition. Notice that there is a space between the device name and the partition number.
[ec2-user ~]$ sudo growpart /dev/nvme0n1 1 -
(Optional) To verify that the partition reflects the increased volume size, use the lsblk command again.
[ec2-user ~]$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTnvme1n1 259:0 0 30G 0 disk /datanvme0n1 259:1 0 16G 0 disk└─nvme0n1p1 259:2 0 16G 0 part /└─nvme0n1p128 259:3 0 1M 0 part -
To verify the size of the file system for each volume, use the df -h command. In this example output, both file systems reflect the original volume size, 8 GB.
[ec2-user ~]$ df -hFilesystem Size Used Avail Use% Mounted on/dev/nvme0n1p1 8.0G 1.6G 6.5G 20% //dev/nvme1n1 8.0G 33M 8.0G 1% /data -
To extend the file system on each volume, use the correct command for your file system, as follows:
- [XFS file system] To extend the file system on each volume, use the xfs_growfs command. In this example,
/and/dataare the volume mount points shown in the output for df -h.
[ec2-user ~]$ sudo xfs_growfs -d /[ec2-user ~]$ sudo xfs_growfs -d /dataIf the XFS tools are not already installed, you can install them as follows.
[ec2-user ~]$sudo yum install xfsprogs-
[ext4 file system] To extend the file system on each volume, use the resize2fs command.
[ec2-user ~]$ sudo resize2fs /dev/nvme0n1p1[ec2-user ~]$ sudo resize2fs /dev/nvme1n1 -
[Other file system] To extend the file system on each volume, refer to the documentation for your file system for instructions.
- [XFS file system] To extend the file system on each volume, use the xfs_growfs command. In this example,
-
(Optional) To verify that each file system reflects the increased volume size, use the df -h command again.
[ec2-user ~]$ df -hFilesystem Size Used Avail Use% Mounted on/dev/nvme0n1p1 16G 1.6G 15G 10% //dev/nvme1n1 30G 33M 30G 1% /data
For this example, suppose that you have resized the boot volume of an instance, such as a T2 instance, from 8 GB to 16 GB and an additional volume from 8 GB to 30 GB. Use the following procedure to extend the file system of the resized volumes.
To extend the file system of EBS volumes
-
To verify the file system in use for each volume, use the df -hT command.
[ec2-user ~]$ df -hTThe following is example output for an instance that has a boot volume with an ext4 file system and an additional volume with an XFS file system.
[ec2-user ~]$ df -hTFilesystem Type Size Used Avail Use% Mounted on/dev/xvda1 ext4 8.0G 1.9G 6.2G 24% //dev/xvdf1 xfs 8.0G 45M 8.0G 1% /data -
To check whether the volume has a partition that must be extended, use the lsblk command to display information about the block devices attached to your instance.
[ec2-user ~]$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTxvda 202:0 0 16G 0 disk└─xvda1 202:1 0 8G 0 part /xvdf 202:80 0 30G 0 disk└─xvdf1 202:81 0 8G 0 part /dataThis example output shows the following:
-
The root volume,
/dev/xvda, has a partition,/dev/xvda1. While the size of the volume is 16 GB, the size of the partition is still 8 GB and must be extended. -
The volume
/dev/xvdfhas a partition,/dev/xvdf1. While the size of the volume is 30G, the size of the partition is still 8 GB and must be extended.
-
-
For volumes that have a partition, such as the volumes shown in the previous step, use the growpart command to extend the partition. Notice that there is a space between the device name and the partition number.
[ec2-user ~]$ sudo growpart /dev/xvda 1[ec2-user ~]$ sudo growpart /dev/xvdf 1 -
(Optional) To verify that the partitions reflect the increased volume size, use the lsblk command again.
[ec2-user ~]$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTxvda 202:0 0 16G 0 disk└─xvda1 202:1 0 16G 0 part /xvdf 202:80 0 30G 0 disk└─xvdf1 202:81 0 30G 0 part /data -
To verify the size of the file system for each volume, use the df -h command. In this example output, both file systems reflect the original volume size, 8 GB.
[ec2-user ~]$ df -hFilesystem Size Used Avail Use% Mounted on/dev/xvda1 8.0G 1.9G 6.2G 24% //dev/xvdf1 8.0G 45M 8.0G 1% /data -
To extend the file system on each volume, use the correct command for your file system, as follows:
-
[XFS volumes] To extend the file system on each volume, use the xfs_growfs command. In this example,
/and/dataare the volume mount points shown in the output for df -h.[ec2-user ~]$ sudo xfs_growfs -d /[ec2-user ~]$ sudo xfs_growfs -d /dataIf the XFS tools are not already installed, you can install them as follows.
[ec2-user ~]$ sudo yum install xfsprogs -
[ext4 volumes] To extend the file system on each volume, use the resize2fs command.
[ec2-user ~]$ sudo resize2fs /dev/xvda1[ec2-user ~]$ sudo resize2fs /dev/xvdf1 -
[Other file system] To extend the file system on each volume, refer to the documentation for your file system for instructions.
-
-
(Optional) To verify that each file system reflects the increased volume size, use the df -h command again.
[ec2-user ~]$ df -hFilesystem Size Used Avail Use% Mounted on/dev/xvda1 16G 1.9G 14G 12% //dev/xvdf1 30G 45M 30G 1% /data