将现有 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

顺便说一句,’mounting read-only’ 消息也让我担心,但我还没有研究它,因为我根本无法安装卷。

提前致谢!

原文由 Gabriel Rebello 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 956
2 个回答

一个班轮


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

 sudo mount /dev/xvdf1 /vol -t ext4

挂载磁盘 (如果未分区)

 sudo mount /dev/xvdf /vol -t ext4

在哪里:

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

常见错误如何:


✳️ 附加设备列表

检查您的 mount 命令以获取 正确 的 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 命令,找到您的卷的 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

原文由 FactoryAidan 发布,翻译遵循 CC BY-SA 4.0 许可协议

在添加新的 16GB 卷并将其附加到现有实例后,我也遇到了这个问题。首先你需要知道你有哪些磁盘运行

  sudo fdisk -l

您将获得如下所示的输出,详细说明有关您的磁盘(卷)的信息

 Disk /dev/xvda: 12.9 GB, 12884901888 bytes
  255 heads, 63 sectors/track, 1566 cylinders, total 25165824 sectors
  Units = sectors of 1 * 512 = 512 bytes
  Sector size (logical/physical): 512 bytes / 512 bytes
  I/O size (minimum/optimal): 512 bytes / 512 bytes
  Disk identifier: 0x00000000

Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *       16065    25157789    12570862+  83  Linux

 Disk /dev/xvdf: 17.2 GB, 17179869184 bytes
 255 heads, 63 sectors/track, 2088 cylinders, total 33554432 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0x00000000

 Disk /dev/xvdf doesn't contain a valid partition table

如您所见,新添加的磁盘 /dev/xvdf 存在。要使其可用,您需要在其上创建文件系统并将其挂载到挂载点。您可以使用以下命令来实现

 sudo mkfs -t ext4 /dev/xvdf

创建新文件系统会清除卷中的所有内容,因此请在没有重要数据的新卷上执行此操作

然后将其挂载在 /mnt 文件夹下的目录中

 sudo mount /dev/xvdf /mnt/dir/

通过运行确认您已将卷安装到实例

  df -h

这是你应该拥有的

Filesystem      Size  Used Avail Use% Mounted on
 udev            486M   12K  486M   1% /dev
 tmpfs           100M  400K   99M   1% /run
 /dev/xvda1       12G  5.5G  5.7G  50% /
 none            4.0K     0  4.0K   0% /sys/fs/cgroup
 none            5.0M     0  5.0M   0% /run/lock
 none            497M     0  497M   0% /run/shm
 none            100M     0  100M   0% /run/user
 /dev/xvdf        16G   44M   15G   1% /mnt/ebs

就是这样,您将在那里使用的卷附加到您的现有实例。 信用

原文由 Gideon Maina 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题