Extending Cloud Block Storage Capacity in Amazon Web Services
Modifying storage capacity on running virtual instances requires understanding the two distinct operational layers involved: the hypervisor allocation layer and the guest operating system filesystem layer. Amazon Elastic Block Store (EBS) supports dynamic resizing without system downtime using the Elastic Volumes feature on current-generation instances. However, expanding the virtual disk on the cloud management plane only increases the raw block capacity. Engineering teams must then expand the partition boundary and resize the resident filesystem from within the virtual machine to make the additional storage usable by the operating system.
Allocating Physical Storage Via The Cloud Control Plane
The initial phase takes place within the AWS infrastructure management layer to allocate raw storage space:
- State Verification: The volume transitions from
modifying to optimizing and finally to in-use. The newly allocated raw bytes become immediately visible to the instance hardware layer while in the optimizing phase.
Expanding Partition Boundaries Within The Guest Environment
Once the hypervisor reports the updated block size, connect to the Linux host via SSH to extend the partition table:
(Note the mandatory space separating the device path and the partition index number).
- Verification: Re-running
lsblk confirms the target partition matches the higher allocation of the parent block device.
Resizing The Filesystem Layer For Operational Consumption
The final stage expands the filesystem to format and index the newly enclosed disk sectors:
- XFS Filesystem Expansion: If operating on an XFS partition, point the expansion tool directly to the active mount point directory rather than the partition device path:
sudo xfs_growfs -d /
- Capacity Confirmation: Run
df -h to verify that the root mount point reflects the expanded capacity. The storage is now available for production workloads without requiring a system reboot or service interruption.