How to extend instance storage on Amazon EC2

AWS LogoI’ve just launched an EC2 instance from my own AMI. This time however I wanted it to have more storage so I increased the size of my disk space from 10 to 100GB.

Once the instance had launched I’ve noticed that – as before – only 10GB was actually available.

I’ve had this with other infrastructure before, and I knew that I had to extend the volume as well as the volume and the file system for the OS to recognise the extra space.

df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvde1            9.9G  2.6G  6.9G  27% /
tmpfs                 1.8G     0  1.8G   0% /dev/shm

What puzzled me was the following error message when using the lvextend command:

lvextend -L +97G /dev/xvde

Path required for Logical Volume "xvde"
Please provide a volume group name
Run `lvextend --help' for more information.

Was I not using the command correctly? Had I miscalculated the space I had in addition? I checked again with fdisk -l:

fdisk -l

Disk /dev/xvde1: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/xvdj: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Nope, I was right – but lvextend wasn’t happy.

The Solution

Amazon had already extended the volume – all I had to do was grow the file system:

resize2fs /dev/xvde1

resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/xvde1 is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 7
Performing an on-line resize of /dev/xvde1 to 26214400 (4k) blocks.
The filesystem on /dev/xvde1 is now 26214400 blocks long.

Let’s check it out:

df -h

Filesystem            Size  Used Avail Use% Mounted on
/dev/xvde1             99G  2.6G   91G   3% /
tmpfs                 1.8G     0  1.8G   0% /dev/shm

Sometimes things are actually easier than we think 😉





Jay is the CEO and founder of WP Hosting, a boutique style managed WordPress hosting and support service. He has been working with Plesk since version 9 and is a qualified Parallels Automation Professional. In his spare time he likes to develop iOS apps and WordPress plugins, or draw on tablet devices. He blogs about his coding journey at http://wpguru.co.uk and http://pinkstone.co.uk.