When you launch an EBS instance on EC2, you get a root disk size that is the same as what the machine image was created with. For example, the Ubuntu AMIs by default are 8GB. Typically, the best approach is to leave the root volume this size and add additional volumes provisioned with the size needed for particular data (mysql data files or whatever).
However, sometimes, you just need a bigger root disk than 8GB. It IS possible to launch such an instance. Use this command:
# Launch an instance with a specific root disk size instead of the default UBUNTU_EBS_IMAGE=ami-d0f89fb9 # New volume size in GB VOLUME_SIZE=30 SNAPSHOT_ID=`ec2-describe-images $UBUNTU_EBS_IMAGE | egrep "^BLOCKDEVICEMAPPING" | cut -f4` ec2-run-instances $UBUNTU_EBS_IMAGE \ # Don't forget all your other normal parameters --block-device-mapping "/dev/sda1=$SNAPSHOT_ID:$VOLUME_SIZE:true:standard" # Ubuntu images on boot will auto-resize their root disk to match the available EBS size