実行中のインスタンスに別のebsボリュームを接続しました。しかし、ボリュームにどのようにアクセスしますか? /dev/sda
ディレクトリがどこにも見つかりません。どこを見ればいいですか?
EBSボリュームを接続するときは、接続するデバイスを指定します。 Linuxでは、これらのデバイスは/dev/xvd*
であり、/dev/sd*
にシンボリックリンクされています
AWSコンソールでは、EBSボリューム、それらが接続されているインスタンス、各ボリュームが接続されているデバイスを次のように表示できます。
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
をチェックしてマウントオプションを変更します。
EC2に接続されているEBSボリュームを使用するには、最初にボリュームをマウントする必要があります。
[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