Add EBS to Ubuntu EC2 Instance

Amazon Web-ServicesAmazon Ec2Amazon Ebs

Amazon Web-Services Problem Overview


I'm having problem connecting EBS volume to my Ubuntu EC2 Instance.

Here's what I did:

  1. From the Amazon AWS Console, I created a EBS 150GB volume and attached it to an Ubuntu 11.10 EC2 instance. Under the EBS volume properties, "Attachment" shows: "[my Ubuntu instance id]:/dev/sdf (attached)"

  2. Tried mounting the drive on the Ubuntu box, and it told me "mount: /dev/sdf is not a block device"

sudo mount /dev/sdf /vol

  1. So I checked with fdisk and tried to mount from the new location and it told me it wasn't the right file system.

sudo fdisk -l

sudo mount -v -t ext4 /dev/xvdf /vol

the error: > mount: wrong fs type, bad option, bad superblock on /dev/xvdf, missing > codepage or helper program, or other error In some cases useful info > is found in syslog - try dmesg | tail or so

"dmesg | tail" told me it gave the following error: >EXT4-fs (sda1): VFS: Can't find ext4 filesystem

I also tried putting the configurations into /etc/fstab file as instructed on http://www.webmastersessions.com/how-to-attach-ebs-volume-to-amazon-ec2-instance, but still gave same not the right file system error.

Questions:

Q1: Based on point 1 (above), why was the volume mapped to 'dev/sdf' when it's really mapped to '/dev/xvdf'?

Q2: What else do I need to do to get the EBS volume loaded? I thought it'll just take care of everything for me when I attach it to a instance.

Amazon Web-Services Solutions


Solution 1 - Amazon Web-Services

Since this is a new volume, you need to format the EBS volume (block device) with a file system between step 1 and step 2. So the entire process with your sample mount point is:

  1. Create EBS volume.

  2. Attach EBS volume to /dev/sdf (EC2's external name for this particular device number).

  3. Format file system /dev/xvdf (Ubuntu's internal name for this particular device number):

     sudo mkfs.ext4 /dev/xvdf
    

Only format the file system if this is a new volume with no data on it. Formatting will make it difficult or impossible to retrieve any data that was on this volume previously.

  1. Mount file system (with update to /etc/fstab so it stays mounted on reboot):

     sudo mkdir -m 000 /vol
     echo "/dev/xvdf /vol auto noatime 0 0" | sudo tee -a /etc/fstab
     sudo mount /vol
    

Solution 2 - Amazon Web-Services

Step 1: create volume
step 2: attach to your instance root volume
step 3: run sudo resize 2fs -p /dev/xvde
step 4: restart apache2 sudo service apache2 restart
step 4: run df -h

You can see total volume attached to your instance.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJackDevView Question on Stackoverflow
Solution 1 - Amazon Web-ServicesEric HammondView Answer on Stackoverflow
Solution 2 - Amazon Web-ServicesRamesh SinhaView Answer on Stackoverflow