将现有EBS卷附加到EC2实例文件系统问题
我有一些未知的问题与我的旧EC2实例,所以我不能ssh进入它了。 因此,我从旧卷的快照中创build了一个新的EBS卷,并尝试附加并将其挂载到新实例。 这是我做的:
- 从旧的快照创build一个新的卷。
- 创build一个新的EC2实例,并将卷作为
/dev/xvdf
(或/dev/sdf
) -
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