I just attached another ebs volume to running instance. But how do I access the volume? I can't find the
/dev/sda directory anywhere. Where should I look?
When you attach an EBS volume, you specify the device to attach it as. Under linux, these devices are
/dev/xvd* - and are symlinked to
In the AWS console, you can see your EBS volumes, what instances they are attached to, and the device each volume is attached as:
You can achieve the same thing from the CLI tools. Set the necessary environment variables:
export EC2_PRIVATE_KEY=/root/pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem export EC2_CERT=/root/cert-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem
Run the command on your current instance (otherwise, just specify the instance-id):
ec2-describe-instances `curl -s http://169.254.169.254/latest/meta-data/instance-id` | grep BLOCKDEVICE BLOCKDEVICE /dev/sda1 vol-xxxxxxxx 2011-11-13T21:09:53.000Z BLOCKDEVICE /dev/sdf vol-xxxxxxxx 2011-11-13T21:09:53.000Z BLOCKDEVICE /dev/sdg vol-xxxxxxxx 2011-11-13T21:09:53.000Z
It is worth noting that in both cases above - the CLI and the AWS Console - the devices are described as being attached at
/dev/sd* - this is not actually the case, however.
Look at the contents of /dev:
ls -l /dev/sd* /dev/xv* lrwxrwxrwx 1 root root 5 Dec 12 18:32 /dev/sda1 -> xvda1 lrwxrwxrwx 1 root root 4 Dec 12 18:32 /dev/sdf -> xvdf lrwxrwxrwx 1 root root 4 Dec 12 18:32 /dev/sdg -> xvdg brw-rw---- 1 root disk 202, 1 Dec 12 18:32 /dev/xvda1 brw-rw---- 1 root disk 202, 80 Dec 12 18:32 /dev/xvdf brw-rw---- 1 root disk 202, 96 Dec 12 18:32 /dev/xvdg
The devices are actually
/dev/xvd* - and the
/dev/sd* paths are symlinks.
Another approach to check for the currently available devices is to use
fdisk -l, or for a simpler output:
cat /proc/partitions major minor #blocks name 202 1 4194304 xvda1 202 80 6291456 xvdf 202 96 1048576 xvdg
If you need to determine which devices have been mounted use
df - and check
/etc/fstab to change the mount options.
To use a EBS volume attached in the EC2, you need first mount the volume.
- Connect to your instance using SSH.
- Use the lsblk command to view your available disk devices and their mount points.
[ec2-user@ip-172-31-86-46 ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
xvdb 202:16 0 8G 0 disk
xvdf 202:80 0 100G 0 disk
- create a file system on the volume, example -> sudo mkfs -t ext4 /dev/xvdf
- create a mount point directoty for the volume ->sudo mkdir mount_point
- To mount this EBS volume at the location you just created -> sudo mount /dev/xvdf mount_point
- To check you can perform ls mount_point