ChatGPT解决这个技术问题 Extra ChatGPT

将 EBS 添加到 Ubuntu EC2 实例

我在将 EBS 卷连接到我的 Ubuntu EC2 实例时遇到问题。

这是我所做的:

在 Amazon AWS 控制台中,我创建了一个 EBS 150GB 卷并将其附加到一个 Ubuntu 11.10 EC2 实例。在 EBS 卷属性下,“附件”显示:“[my Ubuntu instance id]:/dev/sdf (attached)” 尝试将驱动器安装在 Ubuntu 盒子上,它告诉我“mount: /dev/sdf is not a块设备” sudo mount /dev/sdf /vol 所以我检查了 fdisk 并尝试从新位置挂载,它告诉我它不是正确的文件系统。 sudo fdisk -l sudo mount -v -t ext4 /dev/xvdf /vol 错误:mount: wrong fs type, bad option, bad superblock on /dev/xvdf, missing codepage or helper program, or other error 在某些情况下有用在 syslog 中找到信息 - 尝试 dmesg | tail 左右“dmesg | tail”告诉我它给出了以下错误:EXT4-fs (sda1): VFS: Can't find ext4 filesystem

我还尝试按照 http://www.webmastersessions.com/how-to-attach-ebs-volume-to-amazon-ec2-instance 上的说明将配置放入 /etc/fstab 文件,但仍然给出了相同的不正确的文件系统错误。

问题:

Q1:基于第 1 点(上),为什么卷实际上映射到 '/dev/xvdf' 时却映射到了 'dev/sdf'?

Q2:我还需要做什么才能加载 EBS 卷?我认为当我将它附加到实例时,它会为我处理所有事情。

这可能属于面向系统管理员的 StackExchange 站点。尽管如此,这正是我需要找到的。谢谢你问这个!

E
Eric Hammond

由于这是一个新卷,因此您需要在步骤 1 和步骤 2 之间使用文件系统格式化 EBS 卷(块设备)。因此,使用示例挂载点的整个过程是:

创建 EBS 卷。将 EBS 卷附加到 /dev/sdf(该特定设备号的 EC2 外部名称)。格式化文件系统 /dev/xvdf(Ubuntu 对这个特定设备号的内部名称): sudo mkfs.ext4 /dev/xvdf 仅当这是一个没有数据的新卷时才格式化文件系统。格式化将使检索以前在此卷上的任何数据变得困难或不可能。挂载文件系统(更新到 /etc/fstab,使其在重新启动时保持挂载): sudo mkdir -m 000 /vol echo "/dev/xvdf /vol auto noatime 0 0" | sudo tee -a /etc/fstab sudo mount /vol


明确地说,/dev/xvdf 在您挂载 /dev/sdf 之前不存在。
非常感谢!我完全被 /mnt 目录弄糊涂了,并错误地认为我告诉 AWS 在创建实例时附加的额外 EBS 卷 (/dev/xvdf) 已经挂载。此外,AWS 显示的 (/dev/sdf) 和 ubuntu 上存在的 (/dev/xvdf) 之间的映射让我大吃一惊。
@scrapcodes:幸运的是,对于原始发布者的问题(新的、未格式化的 EBS 卷),这些绝对是正确的步骤。如果您遇到完全不同的情况(从包含现有文件系统的快照创建的 EBS 卷),它们当然可能不是正确的步骤。
为什么第四步包含标志 -m 000
@JosephMornin 关闭模式中的所有位是一个简单的指示,即在此处安装新文件系统之前,不应允许任何人在此目录中执行任何操作。这是一条消息,表明该目录已被创建为挂载点。它不是功能所必需的,但有时可以避免在未安装所需卷时创建文件的错误。
R
Ramesh Sinha

第 1 步:创建卷 第 2 步:附加到您的实例根卷 第 3 步:运行 sudo resize 2fs -p /dev/xvde 第 4 步:重新启动 apache2 sudo service apache2 重新启动第 4 步:运行 df -h

您可以查看附加到您的实例的总卷。