Вопрос:
Как я должен использовать новые классы AW2 EC2 (r3, i2) с моим существующим AMI без воссоздания всей системы?
Новые классы EC2 поддерживают только виртуализацию на основе HVM, но у меня есть только изображения PMM AMI.
Как я должен использовать новые классы AW2 EC2 (r3, i2) с моим существующим AMI без воссоздания всей системы?
Новые классы EC2 поддерживают только виртуализацию на основе HVM, но у меня есть только изображения PMM AMI.
Запустите Ubuntu HVM linux, любую версию, новую
Запустите Ubuntu/с моим существующим потоком AMI/PVM и установите на них пакеты grub: apt-get install grub-pc grub-pc-bin grub-legacy-ec2 grub-gfxpayload-lists
Остановить PVM linux
Отсоедините раздел root (/dev/sda1) в PVM linux
Прикрепите корневой раздел Linux PVM к запуску HVM-Linux где-нибудь, например:/dev/sdf
В HVM linux: mkdir -p /mnt/xvdf && mount /dev/xvdf /mnt/xvdf
rsync -avzXA /boot/ /mnt/xvdf/boot/
mount -o bind /dev /mnt/xvdf/dev && mount -o bind /dev/pts /mnt/xvdf/dev/pts && mount -o bind /proc /mnt/xvdf/proc && mount -o bind /sys /mnt/xvdf/sys
chroot /mnt/xvdf
grub-install --no-floppy --recheck --force /dev/xvdf
update-grub2
exit chroot: CTRL + D
остановить HVM Linux
отсоединить/dev/sda1 исходный корень И отсоединить /dev/sdf корень PVM
присоединить PVM root к HVM linux как /dev/sda 1
Запустите HVM linux, voilà!
Создайте новый образ AMI из работающего HVM-Linux, он будет виртуализирован с использованием HVM.
Ответ от @divyenduz работает, но нуждается в некоторой очистке и уточнении для современного (около 2019 года) AWS EC2. Важно отметить, что современные классы экземпляров переводят имя устройства по-разному.
Вот мои измененные шаги.
Для наглядности узлами являются:
ПЕРЕД ОБРАБОТКОЙ: Резервное копирование оригинального узла PVM01
Установите необходимые компоненты на узле PVM01
установить пакеты grub на PVM01
apt-get install grub-pc grub-pc-bin grub-legacy-ec2 grub-gfxpayload-lists
Остановить узел PVM01
Подключите корневой раздел PVM01 (новый том из предыдущего шага) к новому HVM01/dev/sdf
ssh PVM01 sudo fdisk -l
На HVM01:
# For xvdf, e.g. on C3.XLARGE
DEVNAME=xvdf1
# For nvme, e.g. on C5.XLARGE
DEVNAME=nvme1n1
mkdir -p /mnt/${DEVNAME} && mount /dev/${DEVNAME} /mnt/${DEVNAME}
rsync -avzXA /boot/ /mnt/${DEVNAME}/boot/
mount -o bind /dev /mnt/${DEVNAME}/dev && mount -o bind /dev/pts /mnt/${DEVNAME}/dev/pts && mount -o bind /proc /mnt/${DEVNAME}/proc && mount -o bind /sys /mnt/${DEVNAME}/sys
chroot /mnt/${DEVNAME}
grub-install --no-floppy --recheck --force /dev/${DEVNAME}
update-grub2
Выход из chroot с помощью CTRL + D