Gabriel Rebello Gabriel Rebello - 6 months ago 438
Linux Question

Attaching and mounting existing EBS volume to EC2 instance filesystem issue

I had some unknown issue with my old EC2 instance so that I can't ssh into it anymore. Therefore I created a new EBS volume from a snapshot of the old volume and tried to attach and mount it to the new instance. Here is what I did:


  1. Created a new volume from snapshot of the old one.

  2. Created a new EC2 instance and attached the volume to it as
    /dev/xvdf
    (or
    /dev/sdf
    )

  3. SSHed into the instance and attempted to mount the old volume with:

    $ sudo mkdir -m 000 /vol
    $ sudo mount /dev/xvdf /vol



And the output was:

mount: block device /dev/xvdf is write-protected, mounting read-only
mount: you must specify the filesystem type


Now, I know I should specify the filesytem as
ext4
but since the volume contains a lot of important data, I cannot format it through
$ sudo mkfs -t ext4 /dev/xvdf
. Still, I know of no other way of preserving the data and specifying the filesystem at the same time. I've searched a lot about it and I'm currently at a loss.

By the way, the mounting as 'read-only' also worries me but I haven't look into it yet since I can't mount the volume at all.

Thanks in advance!

Edit:

When I do
sudo mount /dev/xvdf /vol -t ext4
(no formatting) I get:

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


And
dmesg | tail
gives me:

[ 1433.217915] EXT4-fs (xvdf): VFS: Can't find ext4 filesystem
[ 1433.222107] FAT-fs (xvdf): bogus number of reserved sectors
[ 1433.226127] FAT-fs (xvdf): Can't find a valid FAT filesystem
[ 1433.260752] EXT4-fs (xvdf): VFS: Can't find ext4 filesystem
[ 1433.265563] EXT4-fs (xvdf): VFS: Can't find ext4 filesystem
[ 1433.270477] EXT4-fs (xvdf): VFS: Can't find ext4 filesystem
[ 1433.274549] FAT-fs (xvdf): bogus number of reserved sectors
[ 1433.277632] FAT-fs (xvdf): Can't find a valid FAT filesystem
[ 1433.306549] ISOFS: Unable to identify CD-ROM format.
[ 2373.694570] EXT4-fs (xvdf): VFS: Can't find ext4 filesystem

Answer

The One Liner


Use this command to mount it if your filesystem type is ext4:

sudo mount /dev/xvdf /vol -t ext4

where:

  • /dev/xvdf is changed to the EBS Volume device being mounted
  • /vol is changed to the folder you want to mount to.
  • ext4 is the filesystem type of the volume being mounted

The mount command is non-destructive so it is not to be confused with accidentally reformatting your already formatted EBS Volume.


Common Mistakes How To:


Attached Devices List

Check your mount command for EBS Volume device names and filesystem types that are actually attached to your EC2 Instance. This command will list them all:

sudo blkid -o list

If it doesn't show, you need a reboot or didn't Attach your EBS volume in AWS web-console. sudo fdisk -l is a similar list command to verify you aren't crazy.

Auto Remounting on Reboot

These devices become unmounted again if the EC2 Instance ever reboots.

A way to make them mount again upon startup is to edit the server file listed below and insert just the single mount command that you originally used.

/etc/rc.local

(Place your change above exit 0, the last line in this file.)