将EBS添加到Ubuntu EC2实例

Jac*_*Dev 140 amazon-ec2 amazon-ebs amazon-web-services

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

这是我做的:

  1. 在Amazon AWS Console中,我创建了一个EBS 150GB卷并将其附加到Ubuntu 11.10 EC2实例.在EBS卷属性下,"附件"显示:"[我的Ubuntu实例ID]:/ dev/sdf(附加)"

  2. 尝试将驱动器安装在Ubuntu盒子上,它告诉我"mount:/ dev/sdf不是块设备"

    sudo mount /dev/sdf /vol

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

    sudo fdisk -l

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

    错误:

    mount:错误的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卷?当我将它附加到实例时,我认为它只会照顾我的一切.

Eri*_*ond 325

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

  1. 创建EBS卷.

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

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

    sudo mkfs.ext4 /dev/xvdf
    
    Run Code Online (Sandbox Code Playgroud)

    如果这是一个没有数据的新卷,则仅格式化文件系统.格式化将使以前难以或无法检索此卷上的任何数据.

  4. 挂载文件系统(更新到/ etc/fstab,以便在重新启动时保持挂载状态):

    sudo mkdir -m 000 /vol
    echo "/dev/xvdf /vol auto noatime 0 0" | sudo tee -a /etc/fstab
    sudo mount /vol
    
    Run Code Online (Sandbox Code Playgroud)

  • @JosephMornin关闭模式中的所有位是一个简单的指示器,在此处安装新文件系统之前,不允许任何人在此目录中执行任何操作.这是一个消息,该目录已创建为挂载点.它不是功能所必需的,但有时可以避免在未安装所需卷时创建文件的错误. (25认同)
  • 为什么第四步包括标志`-m 000`? (9认同)
  • @scrapcodes:幸运的是,这些绝对是原始海报问题的正确步骤(新的,未格式化的EBS卷).如果您的情况完全不同(从包含现有文件系统的快照创建的EBS卷),它们肯定可能不是正确的步骤. (7认同)
  • 为了明确,在安装/ dev/sdf之前,/ dev/xvdf不存在. (3认同)
  • 非常感谢!我完全被/ mnt目录搞糊涂了,错误地认为我在实例创建时告诉AWS附加的额外EBS卷(/ dev/xvdf)已经安装.此外,在ubuntu上存在的AWS显示(/ dev/sdf)和(/ dev/xvdf)之间的映射使我失望. (2认同)