将现有EBS卷附加和装载到EC2实例文件系统问题 [英] Attaching and mounting existing EBS volume to EC2 instance filesystem issue

查看:2
本文介绍了将现有EBS卷附加和装载到EC2实例文件系统问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的旧EC2实例出现了一些未知的问题,因此我无法再ssh进入它。因此,我尝试从旧卷的快照创建新的EBS卷,并将其挂载到新实例中。以下就是我所做的:

  1. 从旧卷的快照创建了一个新卷。
  2. 创建了一个新的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
我知道我应该将文件系统指定为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命令,查找您的卷的UUIDFSTYPE

第二个
保留您的原始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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆