Resize a filesystem using fdisk, e2fsck and resize2fs
First we need to make the partition holding the filesystem bigger.
We can use fdisk to help us with that (exchange <xvdb> below to match your device):
root@host: /# fdisk /dev/xvdb
print the partitiontable and make a note of the start, end and type of the partition you want to resize (if you have multiple partitions note the number too):
Command (m for help): p
Disk /dev/xvdb: 8589 MB, 8589934592 bytes
86 heads, 1 sectors/track, 195083 cylinders, total 16777216 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
Disk identifier: 0x2511ce8c
Device Boot Start End Blocks Id System
/dev/xvdb1 2048 16777215 8387584 83 Linux
Command (m for help):
Delete the partition with 'd':
Command (m for help): d
Selected partition 1
Command (m for help):
Create a new partition with the same number (1 here) and make sure you make it start at the same location as the deleted one (2048).
Set the last sector to a higher number. I'm using the proposed default here:
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-16777215, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-16777215, default 16777215):
Using default value 16777215
Command (m for help):
Then have fdisk write the new partition table using 'w' and quuit using 'q':
Command (m for help): w
Command (m for help): q
If the partitions were in use make the kernel aware of the new layout using partx:
root@host: /# partx /dev/xvdb
Run e2fsck to check the filesystem before resizing it to the newly available space:
root@host: /# e2fsck -f /dev/xvdb1
(the -f switch force a check even if the filesystem is marked as clean)
Run resize2fs to resize the filesystem:
root@host: /# resize2fs /dev/xvdb1
(adding an -f switch will force resize2fs to proceed with the resizing - see the man-page)
This process will not make any changes to existing data on the filesystem being resized.