将现有EBS卷附加和装载到EC2实例文件系统问题 [英] Attaching and mounting existing EBS volume to EC2 instance filesystem issue
问题描述
我的旧EC2实例出现了一些未知的问题,因此我无法再ssh进入它。因此,我尝试从旧卷的快照创建新的EBS卷,并将其挂载到新实例中。以下就是我所做的:
- 从旧卷的快照创建了一个新卷。
- 创建了一个新的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
我知道我应该将文件系统指定为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
给我:
[ 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
挂载磁盘(如果未分区):
sudo mount /dev/xvdf /vol -t ext4
其中:
/dev/xvdf
更改为正在挂载的EBS卷设备/vol
更改为要装载到的文件夹。ext4
是正在装载的卷的文件系统类型
常见错误操作方法:
✳️连接的设备列表
检查mount命令的EBS卷设备名称和文件系统类型是否正确。下面将列出它们:
sudo lsblk --output NAME,TYPE,SIZE,FSTYPE,MOUNTPOINT,UUID,LABEL
如果您的EBS卷显示时附加了partition
,请装载partition
而不是磁盘。
如果您的卷未列出,则执行✳️
如果没有显示,则说明您在AWS Web控制台中没有Attach
您的EBS卷
✳️在重新启动时自动重新挂载
如果EC2实例重新启动,这些设备将再次被卸载。
使它们在启动时再次装载的一种方法是将卷添加到服务器的/etc/fstab
文件中。
🔥注意:🔥
如果损坏/etc/fstab
文件,系统将无法启动。阅读AWS的短文,这样您就知道要检查自己的操作是否正确。
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html#ebs-mount-after-reboot
第一个:
使用上面的lsblk
命令,查找您的卷的UUID
和FSTYPE
。
第二个:
保留您的原始fstab
文件的副本。
sudo cp /etc/fstab /etc/fstab.original
第三个:
在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
这篇关于将现有EBS卷附加和装载到EC2实例文件系统问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!