Могу ли я изменить корневое устройство EBS моего экземпляра amazon EC2? - PullRequest
91 голосов
/ 16 июня 2011

У меня есть экземпляр Amazon EC2, поддерживаемый EBS. Я хотел бы изменить корневое устройство в этом случае. Можете ли вы посоветовать лучший способ сделать это?

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

Ответы [ 6 ]

165 голосов
/ 17 июня 2011

Да, это очень просто:

  1. Остановите экземпляр.
  2. Отключение корневого тома EBS.
  3. Присоедините альтернативный том EBS в качестве корневого: /dev/sda1
  4. Запустите экземпляр.

Это предполагает, что ваш альтернативный том EBS является загрузочным, разумеется - он должен содержать загрузочный образ ОС.

39 голосов
/ 25 июля 2014

Мне не хватает представителя, чтобы добавить комментарий к выбранному ответу, но я хочу отметить, что для меня /dev/sda1 не работал (не был присоединен как root), но с использованием /dev/xvda работал (прилагается как корень). Экземпляр является одним из более новых t2.micro, использующих HVM.

14 голосов
/ 09 января 2015

Чтобы уточнить комментарий Диомидиса Спинеллиса в ветке комментариев принятого ответа, важно проверить метку файловой системы устройства, которое вы пытаетесь включить, в качестве нового корневого устройства. При устранении неполадок, связанных с миграцией моего собственного сервера, перед загрузкой экземпляра мне пришлось сделать следующее:

Используйте команду e2label для изменения метки в файловой системе ext2 / ext3 / ext4, которую вы создали для своего нового корневого устройства.

Сначала проверьте метку файловой системы вашего текущего корневого устройства.

$ sudo e2label /dev/xvda1
cloudimg-rootfs

Установите для нового устройства такую ​​же метку файловой системы.

$ sudo e2label /dev/xvdg 'cloudimg-rootfs'

В моем случае метка была cloudimg-rootfs. Иногда это будет просто /.

Важно понимать, как работает e2label; проверьте man e2label на вашем компьютере или посетите http://linux.die.net/man/8/e2label для получения дополнительной информации.

2 голосов
/ 06 мая 2018

Это предлагаемое AWS решение. Вы можете отключить корневой том от исходного экземпляра после его остановки.Корневой том прикреплен в / dev / sda1.Как только это отсоединено, пожалуйста, прикрепите его к новому экземпляру.После того, как том подключен, вам, возможно, придется смонтировать его из ОС.После того, как он смонтирован, вы должны увидеть данные внутри него.

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

Я предлагаю создать моментальный снимок корневого тома перед внесением каких-либо изменений.

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

0 голосов
/ 15 марта 2019

Если вы хотите сделать это через CloudFormation, вам нужно будет сделать следующее:

  1. Создание снимка из существующего корневого тома (через консоль или CLI)
  2. Создайте новый AMI из этого снимка - увеличьте размер корневого тома здесь, убедитесь, что вы выбрали правильное время виртуализации (паравиртуальный или HVM).
  3. На вашем ресурсе AWS :: EC2 :: Instance установите для параметра ImageId новый AMI, который вы только что сделали

Разверните свой стек. Это восстановит ваш экземпляр, поэтому убедитесь, что вы используете Elastic IP-адрес или имеете доступ к DNS.

Причина, по которой вы должны сделать это временное решение, заключается в том, что CF не позволит вам настроить размер корневого тома в EC2 BlockDeviceMappings или настроить SnapshotId для корневого тома.

0 голосов
/ 01 сентября 2018

Когда ваш том смонтирован, он получает пост-исправление с номерами, например: когда монтируется /dev/sda, он монтируется как /dev/sda1, /dev/sda2 в зависимости от создаваемых вами разделов. Поскольку мы монтируем само корневое устройство, оно предполагает, что устройство уже смонтировано, поэтому нам нужно дать /dev/sda1 для монтирования тома в качестве корневого устройства. Примечание. Корневой том не должен быть прикреплен.

Выполните следующие действия: 1) Перейдите на свои тома, выберите присоединить тома из действия. 2) Выберите свой экземпляр 3) Для монтирования от имени root укажите имя устройства как /dev/sda1 4) Запустите свой экземпляр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...