一尘不染

将现有EBS卷附加和挂载到EC2实例文件系统问题

linux

我的旧EC2实例存在一些未知问题,因此无法再使用它了。因此,我试图从旧卷的快照创建一个新的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

我知道我应该将fileytem指定为,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

顺便说一句,“挂载只读”消息也令我感到担忧,但由于我根本无法挂载该卷,因此我尚未对其进行研究。

提前致谢!


阅读 759

收藏
2020-06-03

共1个答案

一尘不染

一线


挂载分区 (如果磁盘已分区)

sudo mount /dev/xvdf1 /vol -t ext4

挂载磁盘 (如果未分区)

sudo mount /dev/xvdf /vol -t ext4

哪里:

  • /dev/xvdf更改为要安装的EBS Volume 设备
  • /vol更改为要挂载到的 文件夹
  • ext4是要 挂载 的卷的 文件系统类型

常见错误:


附加设备列表

检查您的安装命令以获取 正确的 EBS卷 设备名称文件系统类型 。以下将全部列出:

sudo lsblk --output NAME,TYPE,SIZE,FSTYPE,MOUNTPOINT,UUID,LABEL

如果您的EBS卷显示带有附件partition,请安装partition;。不是磁盘。


如果您的音量未列出

如果未显示,则您没有Attach在AWS Web控制台中找到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
2020-06-03