Как получить доступ к подключенному тому в 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

Запустите команду для текущего экземпляра (в противном случае просто укажите идентификатор экземпляра):

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чтобы изменить параметры монтирования.

cyberx86
источник
1
Спас мой зад. Им действительно нужно обновить эти документы.
MBHNYC
9
FWIW, в последних выпусках виртуализированных экземпляров Ubuntu Xen устройства xvd * не имеют символической ссылки на sd *
cbare
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
Почему на моем сервере символическая ссылка не существует? Могу ли я создать собственную символическую ссылку, чтобы sda1 ссылалась на xvda1? Интерфейс EC2 говорит sda1, но фактическое устройство - xvda1, но без символической ссылки в настоящее время.
CMCDragonkai
6

Чтобы использовать том EBS, подключенный к EC2, сначала необходимо смонтировать том.

  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
Это должен быть принятый ответ
онейру