Amazon EC2でアタッチされたボリュームにアクセスするにはどうすればよいですか


34

実行中のインスタンスに別のebsボリュームをアタッチしました。しかし、ボリュームにどのようにアクセスしますか?/dev/sdaディレクトリがどこにも見つかりません。どこを見ればいいの?

回答:


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

どのデバイスがマウントされているかを判断する必要がある場合はmount、およびdf-を使用/etc/fstabして、マウントオプションを変更するためにチェックします。


1
私のお尻を救った。彼らは本当にそれらのドキュメントを更新する必要があります。
MBHNYC

9
FWIW、Xen仮想化Ubuntuインスタンスの最近のリリースでは、xvd *デバイスはsd *にシンボリックリンクされません
cbare 14年

1
@cbare確認できますか。コンソールに入ると、15ギガのボリュームが/ dev / sda1として接続されています。ただし、サーバーにアクセスすると、/ dev / xvda1のみが表示されます。/ dev / sd *はまったくありません!また、/ dev / xvda1は32ギグであり、25ギグが使用されています。これら2つが同じボリュームであることを確認できますか?
CMCDragonkai

@CMCDragonkai、異なるサイズが表示される理由はわかりませんが、xvd_デバイス(Xen Virtual Device、私が推測します)は、仮想化レイヤーを介して同等の名前のsd_デバイスにマップされます。参照:askubuntu.com/questions/166083/what-is-the-dev-xvda1-device
cbare

4
サーバーにシンボリックリンクが存在しないのはなぜですか?xvda1へのsda1リンクを確認するために、独自のシンボリックリンクを作成できますか?EC2インターフェースではsda1と表示されますが、実際のデバイスはxvda1ですが、現在シンボリックリンクはありません。
CMCDragonkai

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. ボリュームのマウントポイントディレクトリを作成-> 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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.