将EBS添加到Ubuntu EC2实例


140

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

这是我所做的:

  1. 从Amazon AWS控制台,我创建了一个150GB的EBS卷并将其附加到Ubuntu 11.10 EC2实例。在EBS卷属性下,“附件”显示:“ [我的Ubuntu实例ID]:/ dev / sdf(已附加)”

  2. 试图将驱动器安装在Ubuntu机器上,它告诉我“安装:/ dev / sdf不是块设备”

    sudo mount /dev/sdf /vol

  3. 所以我检查了fdisk并尝试从新位置挂载,它告诉我这不是正确的文件系统。

    sudo fdisk -l

    sudo mount -v -t ext4 /dev/xvdf /vol

    错误:

    挂载:错误的fs类型,错误的选项,/ dev / xvdf上的超级块错误,缺少代码页或帮助程序,或其他错误在某些情况下,在syslog中找到有用的信息-尝试dmesg | 尾巴左右

    “ dmesg | tail”告诉我它给出了以下错误:

    EXT4-fs(sda1):VFS:找不到ext4文件系统

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

问题:

Q1:基于第1点(上面),为什么将卷真正映射到“ / dev / xvdf”时将其映射到“ dev / sdf”?

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


这可能属于面向sysadmin的StackExchange网站。不过,正是我需要找到的。谢谢你问这个!
2014年

Answers:


325

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

  1. 创建EBS卷。

  2. 将EBS卷附加到/dev/sdf(此特定设备编号的EC2外部名称)。

  3. 格式化文件系统/dev/xvdf(此特定设备编号的Ubuntu内部名称):

    sudo mkfs.ext4 /dev/xvdf
    

    仅当文件系统是没有数据的新卷时,才对文件系统进行格式化。格式化将使得很难或不可能检索以前在该卷上的任何数据。

  4. 挂载文件系统(具有对/ etc / fstab的更新,以便在重新引导时保持挂载状态):

    sudo mkdir -m 000 /vol
    echo "/dev/xvdf /vol auto noatime 0 0" | sudo tee -a /etc/fstab
    sudo mount /vol
    

3
明确地说,/ dev / xvdf在挂载/ dev / sdf之前不存在。
Dror 2012年

2
非常感谢!我对/ mnt目录完全感到困惑,并错误地认为我已经告诉我在实例创建时附加到AWS的额外EBS卷(/ dev / xvdf)。另外,AWS显示的(/ dev / sdf)和ubuntu上的(/ dev / xvdf)之间的映射使我震惊。
ankimal

7
@scrapcodes:幸运的是,这些绝对是解决原始张贴者问题(新的,未格式化的EBS卷)的正确步骤。如果情况完全不同(从包含现有文件系统的快照创建的EBS卷),则这些步骤肯定不是正确的步骤。
Eric Hammond 2013年

9
为什么第四步包含标志-m 000
Joe Mornin

25
@JosephMornin关闭该模式下的所有位是一个简单的指示,表明在此目录中没有新文件系统安装之前,不允许任何人在该目录中执行任何操作。这是一条消息,表明该目录已创建为挂载点。功能不是必需的,但是有时可以避免在未装入所需卷时创建文件的错误。
埃里克·哈蒙德

-3

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

您可以看到附加到您的实例的总容量。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.