Назад | Перейти на главную страницу

как мне узнать, какая часть моего хранилища ec2 эфемерная

Это может быть глупый вопрос, извините за мое незнание.

У меня есть такой экземпляр:

Делает Корневое устройство: EBS означает, что вся моя система работает на EBS?

Я настроил здесь apache и приложение Perl, все мои настройки и файлы будут не уходи право?

Как узнать, что работает в эфемерном хранилище, а что в EBS? Если я щелкну экземпляр в консоли управления и посмотрю на детали внизу, он скажет: EBS Optimized: false Что именно это значит?

Вот как выглядит мое хранилище:

[ec2-user@<MY_IP> ~]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda1            7.9G  1.7G  6.2G  22% /
tmpfs                 298M     0  298M   0% /dev/shm

[ec2-user@<MY_IP> ~]$ mount
/dev/xvda1 on / type ext4 (rw,noatime)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

Устройства Ephemeral и ebs могут принимать практически любое буквенное имя файла устройства, поэтому не полагайтесь исключительно на имя устройства. Однако имя устройства важно для определения того, является ли оно эфемерным или нет, о чем я расскажу ниже. Также ненадежно полагаться на имя точки монтирования со словами «эфемерный» или «ebs».

Хотя кое-что из этого можно сделать через графический интерфейс EC2, некоторые команды все равно нужно будет запустить на самом сервере, поэтому здесь я просто предлагаю вам метод «полностью из командной строки». Я приведу вам примеры из m3.medium CentOS с минимальным хранилищем экземпляров 6.5 (т. Е. Эфемерным) с поддержкой AMI.

1) Установите утилиту wget с yum install -y wget

2) Беги wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ -O -

В этом примере AMI с поддержкой хранилища экземпляров - вывод команды №2 выше:

ami ephemeral0

Для сравнения ниже приведен пример вывода с сервера CentOS с поддержкой EBS только с томами EBS (без временных дисков):

ami ebs2 ebs3

Я вернусь к экземпляру с поддержкой EBS с томами EBS позже. А пока давайте продолжим с исходным примером AMI с поддержкой хранилища экземпляров, который показывает нам эфемерный диск.

Чтобы узнать, какой файл устройства сопоставлен с вашим временным диском, снова запустите wget, на этот раз добавив имя временного диска, обнаруженное в пункте 2 выше, к URL-адресу:

3) wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0 -O -

и в этом примере результат был / был:

sdb

Это подчеркивает мою мысль выше, что вы не может Предположим, что / dev / sdb - / dev / sde - устройства ebs. Это мощь быть правдой, что / dev / xvdb через / dev / xvde являются ebs, но мои системы всегда начинаются с / dev / xvde1, поэтому наличие этих букв устройства, вероятно, зависит от ОС, региона, AMI и т. д., которые вы используете. Кроме того, вы можете запустить # 3 против имен 'ebs', если они есть (например, ebs2) и даст аналогичный результат.

4) Далее запускаем lsblk

В этом случае результат выглядит так:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvde1 202:65 0 8G 0 disk / xvdf 202:80 0 4G 0 disk

Это подчеркивает мою точку зрения сверху, что вы не может полагаться на точку монтирования, чтобы сказать вам, является ли устройство эфемерным или нет.

Вы также заметите, что сопоставление между буквами тома устройства EC2 и буквами сопоставления ОС не совпадает. Небольшая хорошая новость заключается в том, что буквы дисков будут увеличиваться в том же порядке, даже если сами буквы не совпадают. Итак, давайте получим «другую» букву диска из наших метаданных сопоставления устройств. Как вы видели выше, было два сопоставления устройств, одно называлось ami а другой позвонил ephemeral0. Мы уже исследовали ephemeral0, поэтому давайте рассмотрим ami:

5) wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ami -O -

Результат был следующим:

sda1

Мы можем с уверенностью заключить, что самая низкая буква в сопоставлении ОС - это самая низкая буква в сопоставлении блочного устройства EC2, и мы можем увеличивать оттуда. Таким образом:

/dev/sda1 = /dev/xvde1 и /dev/sdb = /dev/xvdf

Последний, но тем не менее важный - вы заметите, что отображение блочного устройства ami не сразу зависит от того, поддерживается ли он EBS или хранилищем экземпляров. Нам нужно выполнить еще одну команду.

6) wget -q 169.254.169.254/latest/meta-data/ami-manifest-path -O -

я определенный у AMI, поддерживаемых EBS, нет пути манифеста, потому что манифест есть только у томов хранилища экземпляров (в манифесте перечислены имена и путь сегментов пакета AMI в S3). В случаях, которые я проверил, результат # 6 выше при запуске с ami и хранилищем экземпляров выглядит примерно так:

someamibucketname/someamidescription/someamidescription.manifest.xml

тогда как, когда №6 запускается против AMI, поддерживаемого EBS, вы получаете:

(unknown)

Корневое устройство - это ваш '/'. В данном случае это / dev / xvda1 и это диск EBS.

К эфемерным устройствам относятся (насколько я знаю):

  • sdb (xvdb)
  • sdc (xvdc)
  • SDD (xvdd)
  • sde (xvde)

Вы всегда можете проверить, какие устройства являются дисками EBS, используя AWS UI: EC2 -> Instances -> [выберите свое] -> Block Devices

sudo lsblk должен дать вам несколько подсказок. I.E.

[ec2-user@ec2-host ~]$ sudo 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   4G  0 disk /media/ephemeral0

Есть три способа узнать, является ли хранилище EC2 эфемерным.

1) Согласно Понимание хранилища экземпляров и EBS статья, в которой обсуждается, почему существуют экземпляры, которые потеряли свои данные при остановке / завершении работы.

Вы должны запустить lsblk команда linux. Пример вывода будет:

[ec2-user:ip-127.0.0.1] ~]$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  50G  0 disk 
└─xvda1 202:1    0  50G  0 part /
xvdb    202:16   0   8G  0 disk /media/ephemeral0

Если ты видишь ephemeral0 ключевое слово. все, что хранится на временном диске, потеряет данные при остановке и перезапуске экземпляра.

2) Вы можете проверить тип своего экземпляра. Если вы видите, что хранилище вашего типа инстанса EBS only, данные сохранятся при остановке или перезапуске.

3) Запросите сервер метаданных, используя:

curl 169.254.169.254/latest/meta-data/block-device-mapping/ -O -

EBS Хранилище

[ec2-user:ip-127.0.0.1] ~]$ curl 169.254.169.254/latest/meta-data/block-device-mapping/ -O -
ami
ebs2

С эфемерным хранилищем

[ec2-user:ip-127.0.0.1] ~]$ curl 169.254.169.254/latest/meta-data/block-device-mapping/ -O -
ami
ephemeral0
ephemeral1