我的旧 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 |尾部
给我:
[ 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
顺便说一句,'mounting read-only' 消息也让我担心,但我还没有研究它,因为我根本无法安装卷。
提前致谢!
最佳答案
一个类轮
🥇 挂载分区(如果磁盘已分区):
sudo mount /dev/xvdf1 /vol -t ext4
挂载磁盘(如果没有分区):
sudo mount /dev/xvdf /vol -t ext4
地点:
/dev/xvdf
改为 EBS Volume device 正在挂载/vol
更改为您要挂载到的文件夹。ext4
是要挂载的卷的文件系统类型
常见错误方法:
✳️ 附加设备列表
检查您的挂载命令以获取正确 EBS 卷设备名称 和文件系统类型。以下将全部列出:
sudo lsblk --output NAME,TYPE,SIZE,FSTYPE,MOUNTPOINT,UUID,LABEL
如果您的 EBS 卷显示带有附加的 partition
,请挂载 partition
;不是磁盘。
✳️ 如果您的音量未列出
如果未显示,则说明您没有在 AWS 网络控制台中附加
您的 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
关于linux - 将现有 EBS 卷附加和挂载到 EC2 实例文件系统问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28792272/