将现有EBS卷附加到EC2实例文件系统问题

我有一些未知的问题与我的旧EC2实例,所以我不能ssh进入它了。 因此,我从旧卷的快照中创build了一个新的EBS卷,并尝试附加并将其挂载到新实例。 这是我做的:

  1. 从旧的快照创build一个新的卷。
  2. 创build一个新的EC2实例,并将卷作为/dev/xvdf (或/dev/sdf
  3. SSH进入实例,并试图装载旧的卷:

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

产出是:

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

现在,我知道我应该指定filesytem作为ext4但由于卷包含了很多重要的数据,我不能通过$ sudo mkfs -t ext4 /dev/xvdf格式化它。 不过,我知道没有其他的方式来保存数据和同时指定文件系统。 我已经搜寻了很多关于它,我目前在亏损。

顺便说一句,“只读”的挂载也令我感到担忧,但是由于我根本无法安装音量,所以我没有关注它。

提前致谢!

编辑:

当我做sudo mount /dev/xvdf /vol -t ext4 (没有格式化)我得到:

 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 dmesg | tail给我:

 [ 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 

一个class轮


如果你的文件系统types是ext4,使用这个命令来挂载它:

 sudo mount /dev/xvdf /vol -t ext4 

哪里:

  • /dev/xvdf被更改为正在安装的EBS卷设备
  • /vol更改为您要安装到的文件夹
  • ext4是正在安装的卷的文件系统types

mount命令是非破坏性的,所以不要意外地重新格式化已经格式化的EBS卷。

如果您的EBS已被分区,请使用:

sudo mount /dev/xvdf1 /vol -t ext4


常见错误如何:


附加的设备列表

检查您的mount命令是否有正确的 EBS卷设备名称文件系统types 。 以下将全部列出:

 sudo lsblk --output NAME,TYPE,SIZE,FSTYPE,MOUNTPOINT,LABEL 

如果您的EBS卷显示附加partition ,请装入partition ; 不是磁盘。

如果不显示,则不会在AWS Web控制台中Attach您的EBS卷


自动重新启动重新启动

如果EC2实例重新启动,这些设备将再次被卸载。

在启动时重新装载它们的方法是编辑下面列出的服务器文件,并只插入最初使用的单个装入命令。

 /etc/rc.local 

(把你的改变放在exit 0以上,这个文件的最后一行)

我注意到由于某种原因,卷位于/dev/xvdf1 ,而不是/dev/xvdf

运用

 sudo mount /dev/xvdf1 /vol -t ext4 

像魅力一样工作

添加新的16GB卷并将其附加到现有实例后,我也遇到了这个问题。 首先你需要知道你有什么磁盘运行

  sudo fdisk -l 

您将会看到如下所示的输出,其中详细显示了有关您的磁盘的信息(卷“

  Disk /dev/xvda: 12.9 GB, 12884901888 bytes 255 heads, 63 sectors/track, 1566 cylinders, total 25165824 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: 0x00000000 Device Boot Start End Blocks Id System /dev/xvda1 * 16065 25157789 12570862+ 83 Linux Disk /dev/xvdf: 17.2 GB, 17179869184 bytes 255 heads, 63 sectors/track, 2088 cylinders, total 33554432 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: 0x00000000 Disk /dev/xvdf doesn't contain a valid partition table 

正如你所看到的,新添加的Disk / dev / xvdf是存在的。 要使其可用,您需要在其上创build文件系统并将其挂载到挂载点。 你可以用下面的命令来实现

  sudo mkfs -t ext4 /dev/xvdf 

使新的文件系统清除卷中的所有内容,因此在没有重要数据的情况下在新卷上执行此操作

然后将其挂载到/ mnt文件夹下的一个目录中

  sudo mount /dev/xvdf /mnt/dir/ 

确认您已经通过运行将卷挂载到实例

  df -h 

这是你应该有的

 Filesystem Size Used Avail Use% Mounted on udev 486M 12K 486M 1% /dev tmpfs 100M 400K 99M 1% /run /dev/xvda1 12G 5.5G 5.7G 50% / none 4.0K 0 4.0K 0% /sys/fs/cgroup none 5.0M 0 5.0M 0% /run/lock none 497M 0 497M 0% /run/shm none 100M 0 100M 0% /run/user /dev/xvdf 16G 44M 15G 1% /mnt/ebs 

这就是它有你在现有的实例附加使用量。 信用

我遇到了这个问题,现在我明白了,

 [ec2-user@ip-172-31-63-130 ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 8G 0 disk └─xvda1 202:1 0 8G 0 part / xvdf 202:80 0 8G 0 disk └─xvdf1 202:81 0 8G 0 part 

你应该挂载partition

/ dev / xvdf1(哪个types是分区)

不装载disk

/ dev / xvdf(哪种types是磁盘)

您不需要从快照中创build新创build的卷的文件系统。只需附加卷并将卷安装到所需的文件夹即可。 我已将新卷附加到先前删除的卷的相同位置,并且工作正常。

 [ec2-user@ip-xxxx vol1]$ sudo 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 10G 0 disk /home/ec2-user/vol1