如何访问Amazon EC2中的附加卷


34

我只是将另一个ebs卷附加到正在运行的实例。但是如何访问该卷?我在/dev/sda任何地方都找不到目录。我应该去哪里看?

Answers:


40

附加EBS卷时,可以指定要附加的设备。在linux下,这些设备是/dev/xvd*-并链接到/dev/sd*

在AWS控制台中,您可以通过以下方式查看EBS卷,它们附加到哪些实例以及每个卷附加到的设备:

AWS控制台

您可以从CLI工具中实现相同的目的。设置必要的环境变量:

export EC2_PRIVATE_KEY=/root/pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem 
export EC2_CERT=/root/cert-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem

在当前实例上运行命令(否则,只需指定instance-id):

ec2-describe-instances `curl -s http://169.254.169.254/latest/meta-data/instance-id` | grep BLOCKDEVICE

BLOCKDEVICE     /dev/sda1       vol-xxxxxxxx    2011-11-13T21:09:53.000Z
BLOCKDEVICE     /dev/sdf        vol-xxxxxxxx    2011-11-13T21:09:53.000Z
BLOCKDEVICE     /dev/sdg        vol-xxxxxxxx    2011-11-13T21:09:53.000Z

值得注意的是,在以上两种情况(CLI和AWS控制台)中,设备都被描述为连接在设备上/dev/sd*,但是实际上并非如此。

查看/ dev的内容:

ls -l /dev/sd* /dev/xv*
lrwxrwxrwx 1 root root       5 Dec 12 18:32 /dev/sda1 -> xvda1
lrwxrwxrwx 1 root root       4 Dec 12 18:32 /dev/sdf -> xvdf
lrwxrwxrwx 1 root root       4 Dec 12 18:32 /dev/sdg -> xvdg
brw-rw---- 1 root disk 202,  1 Dec 12 18:32 /dev/xvda1
brw-rw---- 1 root disk 202, 80 Dec 12 18:32 /dev/xvdf
brw-rw---- 1 root disk 202, 96 Dec 12 18:32 /dev/xvdg

设备实际上是/dev/xvd*-并且/dev/sd*路径是符号链接。

检查当前可用设备的另一种方法是使用fdisk -l,或更简单的输出:

cat /proc/partitions
major minor  #blocks  name

 202        1    4194304 xvda1
 202       80    6291456 xvdf
 202       96    1048576 xvdg

如果您需要确定哪些设备已经安装使用mountdf-和检查/etc/fstab以改变安装选项。


1
救了我的屁股。他们确实需要更新这些文档。
MBHNYC 2013年

9
FWIW,最近的Xen的虚拟化版本Ubuntu的情况下,XVD *设备不*符号链接到SD
cbare

1
@cbare您可以确认吗。当我进入控制台时,我看到它有一个15 gig的卷,附加为/ dev / sda1。但是当我进入服务器时,唯一看到的是/ dev / xvda1。根本没有/ dev / sd *!/ dev / xvda1也显示为32个演出,其中25个演出已用完。我可以确定这两个是相同的卷吗?
CMCDragonkai 2015年

@CMCDragonkai,不确定您为什么会看到不同的大小,但是xvd_设备(我猜是Xen虚拟设备)是通过虚拟化层映射到同名的sd_设备的。请参阅:askubuntu.com/questions/166083/what-is-the-dev-xvda1-device
cbare

4
为何符号链接不存在于我的服务器中?我可以创建自己的符号链接来确保sda1链接到xvda1吗?EC2接口显示sda1,但实际设备是xvda1,但当前没有符号链接。
CMCDragonkai'3

6

要使用EC2中附加的EBS卷,需要首先安装该卷。

  1. 使用SSH连接到您的实例。
  2. 使用lsblk命令查看可用的磁盘设备及其安装点。

[ec2-user@ip-172-31-86-46 ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
xvdb 202:16 0 8G 0 disk
xvdf 202:80 0 100G 0 disk

  1. 在卷上创建文件系统,例如-> sudo mkfs -t ext4 / dev / xvdf
  2. 为该卷创建安装点Directoty-> sudo mkdir mount_point
  3. 要将EBS卷挂载到您刚刚创建的位置-> sudo mount / dev / xvdf mount_point
  4. 要检查您可以执行ls mount_point

    https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html

这有效并且容易得多
user159972

这应该是公认的答案
oneirois
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.