У меня есть инстанс Amazon EC2 с поддержкой EBS. Я хочу изменить корневое устройство на этом экземпляре. Не могли бы вы посоветовать, как лучше всего это сделать?
Я нахожу документацию только по изменению нескольких атрибутов блочных устройств, но, похоже, они не включают установку его в качестве корневого устройства.
/dev/sda1
действительно "как корень" !/dev/sda
ни другое/dev/sda1
у меня не работало, но работало/dev/xvda
./dev/sda
- не сработало./dev/sda1
,dev/sdf
- сработало, но экземпляр не загрузился./dev/xvda
работал.aws ec2 describe-instances --instance-id i-XXXXXXX | grep -i rootDeviceName
в моем случае/dev/xvda
У меня недостаточно репутации, чтобы добавить комментарий к выбранному ответу, но я хочу указать, что для меня
/dev/sda1
это не сработало (не было подключено как root), но с использованием/dev/xvda
сработало (прикреплено как root). Это один из новых экземпляров t2.micro, использующих HVM.источник
/dev/sda1
AWS откажется запустить мой экземпляр. Есть ли какой-то другой параметр, который мне нужно настроить для использования альтернативного имени корневого устройства?/dev/sda
является недействительным , но/dev/sda1
это нормально.Чтобы подробнее рассказать о комментарии Диомидиса Спинеллиса в ветке комментариев принятого ответа, важно проверить метку файловой системы устройства, которое вы пытаетесь использовать в качестве нового корневого устройства. При устранении неполадок при миграции моего собственного сервера мне пришлось сделать следующее, прежде чем мой экземпляр загрузится:
Используйте
e2label
команду, чтобы изменить метку файловой системы ext2 / ext3 / ext4, которую вы создали для своего нового корневого устройства.Сначала проверьте метку файловой системы для вашего текущего корневого устройства.
Установите для нового устройства такую же метку файловой системы.
В моем случае этикетка была
cloudimg-rootfs
. Иногда просто будет/
.Важно понимать, как работает e2label; проверьте
man e2label
на своей машине или посетите http://linux.die.net/man/8/e2label для получения дополнительной информации.источник
Это предлагаемое AWS решение. Вы можете отсоединить корневой том от исходного экземпляра после его остановки. Корневой том прикреплен к / dev / sda1. Как только он будет отсоединен, прикрепите его к новому экземпляру. После подключения тома его, возможно, придется смонтировать из ОС. После того, как он смонтирован, вы должны увидеть данные внутри него.
После того, как вы добавили новый ключ, вы можете отсоединить его и присоединить к исходному экземпляру в / dev / sda1.
Я предлагаю создать снимок корневого тома, прежде чем вносить какие-либо изменения.
Перед тем, как пробовать какие-либо решения, просто попробуйте в неважных случаях или в отдельных случаях
источник
Если вы хотите сделать это через CloudFormation, вам нужно будет сделать следующее:
Разверните свой стек. Это воссоздает ваш экземпляр, поэтому убедитесь, что вы используете эластичный IP-адрес или имеете доступ к DNS.
Причина, по которой вы должны использовать этот обходной путь, заключается в том, что CF не позволяет вам настраивать размер корневого тома на EC2 BlockDeviceMappings или настраивать SnapshotId корневого тома.
источник
Когда ваш том смонтирован, он получает пост-исправление с номерами, например: когда
/dev/sda
смонтирован, он монтируется в/dev/sda1, /dev/sda2
зависимости от созданных вами разделов. Поскольку мы монтируем само корневое устройство, предполагается, что устройство уже смонтировано, поэтому нам нужно указать/dev/sda1
для монтирования тома как корневое устройство. Примечание. Не должен быть прикреплен корневой том.Выполните следующие действия: 1) Перейдите к своим томам, выберите присоединить тома из «Действие». 2) Выберите свой экземпляр 3) Для монтирования от имени пользователя root
/dev/sda1
укажите имя устройства как 4) Запустите свой экземпляр.источник