Comment utiliser les nouvelles classes AWS EC2 (r3, i2) avec mon AMI existante sans recréer la configuration système complète?
Les nouvelles classes EC2 ne prennent en charge que la virtualisation basée sur HVM, mais je n'ai que des images AMI PVM.
Démarrer un Linux Ubuntu HVM, toute version, nouvelle
Démarrez Ubuntu/avec mon linux AMI/PVM existant et installez les paquets grub dessus: apt-get install grub-pc grub-pc-bin grub-legacy-ec2 grub-gfxpayload-lists
Arrêtez PVM linux
Détachez la partition racine (/ dev/sda1) sur PVM linux
Associez une partition racine linux PVM à l'exécution de Linux HVM quelque part, par exemple:/dev/sdf
Sur Linux 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
sortie chroot: CTRL + D
arrêter HVM Linux
détachez/dev/sda1 racine originale ET détachez/dev/sdf racine PVM
attachez la racine PVM à linux HVM en tant que/dev/sda1
Lancez Linux Linux, voilà!
Créez une nouvelle image AMI à partir de Linux HVM en cours d’exécution, elle sera virtualisée par HVM.
La réponse de @divyenduz fonctionne, mais nécessite un nettoyage et une clarification pour AWS EC2 (vers 2019) moderne. Il est important de noter que les classes d'instance modernes traduisent différemment le nom du périphérique.
Voici mes étapes modifiées.
Pour plus de clarté, les nœuds sont:
AVANT DE PROCÉDER: sauvegarder l’original Node PVM01
Installez les conditions préalables sur Node PVM01
installer les paquets grub sur PVM01
apt-get install grub-pc grub-pc-bin grub-legacy-ec2 grub-gfxpayload-lists
Arrêter le noeud PVM01
Attachez la partition racine PVM01 (nouveau volume de l'étape précédente) au nouveau HVM01/dev/sdf
ssh PVM01 Sudo fdisk -l
Sur 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
Quitter chroot avec CTRL + D