我的旧EC2实例存在一些未知问题,因此无法再使用它了。因此,我试图从旧卷的快照创建一个新的EBS卷并将其装入新实例。这正是我所做的:
/dev/xvdf
/dev/sdf
$ 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
我知道我应该将fileytem指定为,ext4但是该卷包含许多重要数据,因此我无法使用对其进行格式化$ sudo mkfs -t ext4 /dev/xvdf。如果我尝试sudo mount /dev/xvdf /vol -t ext4(不格式化),则会得到:
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
顺便说一句,“挂载只读”消息也令我感到担忧,但由于我根本无法挂载该卷,因此我尚未对其进行研究。
提前致谢!
挂载分区 (如果磁盘已分区) :
sudo mount /dev/xvdf1 /vol -t ext4
挂载磁盘 (如果未分区) :
哪里:
/vol
检查您的安装命令以获取 正确的 EBS卷 设备名称 和 文件系统类型 。以下将全部列出:
sudo lsblk --output NAME,TYPE,SIZE,FSTYPE,MOUNTPOINT,UUID,LABEL
如果您的EBS卷显示带有附件partition,请安装partition;。不是磁盘。
partition
如果未显示,则您没有Attach在AWS Web控制台中找到EBS卷
Attach
如果EC2实例重新启动,这些设备将再次卸载。
使它们在启动时再次装入的一种方法是将卷添加到服务器的/etc/fstab文件中。
/etc/fstab
警告: 如果损坏/etc/fstab文件,它将使系统无法启动。阅读AWS的简短文章,以便您了解自己是否做对了。
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using- volumes.html#ebs-mount-after- reboot
首先 : 使用lsblk上面的命令,找到您的卷的UUID&FSTYPE。
lsblk
UUID
FSTYPE
第二 : 保留原始fstab文件的副本。
fstab
sudo cp /etc/fstab /etc/fstab.original
第三 : 为中的音量添加一行sudo nano /etc/fstab。
sudo nano /etc/fstab
的字段为fstab“制表符分隔”,每行包含以下字段:
<UUID> <MOUNTPOINT> <FSTYPE> defaults,discard,nofail 0 0
这是一个可以帮助您的示例,我自己的fstab理解如下:
LABEL=cloudimg-rootfs / ext4 defaults,discard,nofail 0 0 UUID=e4a4b1df-cf4a-469b-af45-89beceea5df7 /var/www-data ext4 defaults,discard,nofail 0 0
就是这样,您完成了。通过运行以下命令检查工作中的错误:
sudo mount --all --verbose
如果事物是,您将看到类似这样的内容:
/ : ignored /var/www-data : already mounted