Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Noyaux fournis par l’utilisateur
Si vous avez besoin d’un noyau personnalisé sur vos instances Amazon EC2, vous pouvez commencer avec une AMI qui est proche de ce que vous voulez, compiler le noyau personnalisé sur votre instance et mettre à jour le chargeur de démarrage pour pointer vers le nouveau noyau. Ce processus varie en fonction du type de virtualisation qu’utilise votre AMI. Pour plus d'informations, consultez la section Types de virtualisation d'AMI Linux dans le guide de l'utilisateur Amazon EC2.
Table des matières
AMIs HVM (GRUB)
Les volumes d’instance HVM sont traités comme des disques physiques réels. Le processus de démarrage est similaire à celui d’un système d’exploitation bare metal avec disque partitionné et programme d’amorçage, ce qui lui permet de travailler avec toutes les distributions Linux actuellement prises en charge. Le chargeur de démarrage le plus courant est GRUB ou GRUB2.
Par défaut, GRUB n’envoie pas ses données de sortie à la console de l’instance car il crée un délai de démarrage supplémentaire. Pour plus d’informations, consultez Sortie de la console de l’instance dans le Guide de l’utilisateur Amazon EC2. Si vous installez un noyau personnalisé, vous devez envisager d’activer la sortie GRUB.
Vous n’avez pas besoin de spécifier un noyau de rechange, mais nous vous recommandons d’en avoir un lorsque vous testez un nouveau noyau. GRUB peut avoir recours à un autre noyau au cas où le nouveau noyau échoue. Le fait d’avoir un noyau de rechange permet à l’instance de démarrer même si le nouveau noyau n’est pas trouvé.
L’ancien GRUB pour Amazon Linux utilise /boot/grub/menu.lst. GRUB2 pour les utilisations AL2. /etc/default/grub Pour plus d’informations sur la mise à jour du noyau par défaut dans le chargeur d’amorçage, consultez la documentation de votre distribution Linux.
AMI paravirtuelles () PV-GRUB
Les AMI qui utilisent la virtualisation paravirtuelle (PV) utilisent un système appelé PV-GRUBpendant le processus de démarrage. PV-GRUB est un bootloader paravirtuel qui exécute une version corrigée de GNU GRUB 0.97. Lorsque vous démarrez une instance, PV-GRUB le processus de démarrage démarre, puis charge en chaîne le noyau spécifié par le menu.lst fichier de votre image.
PV-GRUB comprend le standard grub.conf ou menu.lst les commandes, ce qui lui permet de fonctionner avec toutes les distributions Linux actuellement prises en charge. Les distributions plus anciennes comme Ubuntu 10.04 LTS, Oracle Enterprise Linux ou CentOS 5.x ont besoin d’un package noyau spécial « ec2 » ou « xen » alors les distributions les plus récentes comprennent les pilotes nécessaires dans le package noyau par défaut.
La plupart des AMI paravirtuelles modernes utilisent un PV-GRUB AKI par défaut (y compris toutes les AMI Linux paravirtuelles disponibles dans le menu de démarrage rapide d'Amazon EC2 Launch Wizard). Il n'y a donc aucune étape supplémentaire à suivre pour utiliser un noyau différent sur votre instance, à condition que le noyau que vous souhaitez utiliser soit compatible avec votre distribution. La meilleure façon d’exécuter un noyau personnalisé sur une instance est de commencer avec une AMI qui est proche de ce que vous voulez, puis de compiler le noyau personnalisé sur votre instance et de modifier le fichier menu.lst pour démarrer avec ce noyau.
Vous pouvez vérifier que l'image du noyau d'une AMI est une PV-GRUB AKI. Exécutez la commande describe-images suivante (en indiquant votre ID d’image de noyau) et vérifiez que le champ Name commence par pv-grub :
aws ec2 describe-images --filters Name=image-id,Values=aki-880531cd
Table des matières
Limites de PV-GRUB
PV-GRUB présente les limites suivantes :
-
Vous ne pouvez pas utiliser la version 64 bits de PV-GRUB pour démarrer un noyau 32 bits ou vice versa.
-
Vous ne pouvez pas spécifier d'image Amazon Ramdisk (ARI) lorsque vous utilisez un PV-GRUB AKI.
-
AWS a testé et vérifié qu'il PV-GRUB fonctionne avec les formats de système de fichiers suivants : EXT2, EXT3, EXT4, JFS, XFS et ReiserFS. Il se peut que d’autres formats de système de fichiers ne fonctionnent pas.
-
PV-GRUB peut démarrer des noyaux compressés à l'aide des formats de compression gzip, bzip2, lzo et xz.
-
Les AMI de cluster ne sont pas compatibles ou n'en ont pas besoin PV-GRUB, car elles utilisent la virtualisation matérielle complète (HVM). Alors que les instances paravirtuelles sont utilisées PV-GRUB pour démarrer, les volumes d'instance HVM sont traités comme de véritables disques, et le processus de démarrage est similaire au processus de démarrage d'un système d'exploitation bare metal doté d'un disque partitionné et d'un chargeur de démarrage.
-
PV-GRUB les versions 1.03 et antérieures ne prennent pas en charge le partitionnement GPT ; elles ne prennent en charge que le partitionnement MBR.
-
Si vous comptez utiliser un gestionnaire par volumes logiques (LVM) avec des volumes Amazon Elastic Block Store (Amazon EBS), vous avez besoin d’une partition de démarrage séparée externe au LVM. Puis, vous pouvez créer des volumes logiques avec le LVM.
Configurer GRUB pour les AMIs paravirtuels
Pour démarrer PV-GRUB, un menu.lst fichier GRUB doit exister dans l'image ; l'emplacement le plus courant de ce fichier est/boot/grub/menu.lst.
Voici un exemple de fichier de menu.lst configuration pour démarrer une AMI avec un PV-GRUB AKI. Dans cet exemple, vous avez le choix entre deux entrées de noyau : Amazon Linux 2018.03 (le noyau d'origine de cette AMI) et Vanilla Linux 4.16.4 (une version plus récente du noyau Vanilla Linux de). https://www.kernel.org/kernel et initrd ont été mis à jour par rapport aux nouveaux emplacements. Le paramètre default 0 pointe le programme d’amorçage vers la première entrée qu’il voit (dans ce cas, l’entrée Vanilla) et le paramètre fallback 1 pointe le programme d’amorçage vers la prochaine entrée s’il existe un problème lors du démarrage du premier.
default 0 fallback 1 timeout 0 hiddenmenu title Vanilla Linux 4.16.4 root (hd0) kernel /boot/vmlinuz-4.16.4 root=LABEL=/ console=hvc0 initrd /boot/initrd.img-4.16.4 title Amazon Linux 2018.03 (4.14.26-46.32.amzn1.x86_64) root (hd0) kernel /boot/vmlinuz-4.14.26-46.32.amzn1.x86_64 root=LABEL=/ console=hvc0 initrd /boot/initramfs-4.14.26-46.32.amzn1.x86_64.img
Il n'est pas nécessaire de spécifier un noyau de secours dans votre menu.lst fichier, mais nous vous recommandons de disposer d'un noyau de secours lorsque vous testez un nouveau noyau. PV-GRUBpeut revenir à un autre noyau en cas de défaillance du nouveau noyau. Le fait d’avoir un noyau de rechange permet à l’instance de démarrer même si le nouveau noyau n’est pas trouvé.
PV-GRUB vérifie les emplacements suivantsmenu.lst, en utilisant le premier qu'il trouve :
-
(hd0)/boot/grub -
(hd0,0)/boot/grub -
(hd0,0)/grub -
(hd0,1)/boot/grub -
(hd0,1)/grub -
(hd0,2)/boot/grub -
(hd0,2)/grub -
(hd0,3)/boot/grub -
(hd0,3)/grub
Notez que les versions PV-GRUB 1.03 et antérieures ne vérifient que l'un des deux premiers emplacements de cette liste.
Identifiants d'image Amazon PV-GRUB Kernel
PV-GRUB Les AKI sont disponibles dans toutes les régions Amazon EC2, à l'exception de l'Asie-Pacifique (Osaka). Il existe des AKI pour les types d’architecture 32 bits et 64 bits. La plupart des AMI modernes utilisent un PV-GRUB AKI par défaut.
Nous vous recommandons de toujours utiliser la dernière version de l' PV-GRUB AKI, car toutes les versions de l' PV-GRUB AKI ne sont pas compatibles avec tous les types d'instances. Utilisez la commande describe-images suivante pour obtenir la liste des PV-GRUB AKI pour la région actuelle :
aws ec2 describe-images --owners amazon --filters Name=name,Values=pv-grub-*.gz
PV-GRUB est le seul AKI disponible dans la ap-southeast-2 Région. Vous devez vérifier que toute AMI que vous souhaitez copier dans cette région utilise une version de PV-GRUB celle-ci disponible dans cette région.
Ce qui suit correspond aux ID d’AKI actuels pour chaque région. Enregistrez les nouvelles AMI à l’aide d’une AKI hd0.
Note
Nous continuons de fournir des AKI hd00 pour la rétrocompatibilité dans les régions où elles étaient précédemment disponibles.
| ID de l’image | Nom de l’image |
|---|---|
aki-f975a998
|
pv-grub-hd0_1.05-i386.gz
|
aki-7077ab11
|
pv-grub-hd0_1.05-x86_64.gz
|
| ID de l’image | Nom de l’image |
|---|---|
aki-17a40074
|
pv-grub-hd0_1.05-i386.gz
|
aki-73a50110
|
pv-grub-hd0_1.05-x86_64.gz
|
| ID de l’image | Nom de l’image |
|---|---|
aki-ba5665d9
|
pv-grub-hd0_1.05-i386.gz
|
aki-66506305
|
pv-grub-hd0_1.05-x86_64.gz
|
| ID de l’image | Nom de l’image |
|---|---|
aki-1419e57b
|
pv-grub-hd0_1.05-i386.gz
|
aki-931fe3fc
|
pv-grub-hd0_1.05-x86_64.gz
|
| ID de l’image | Nom de l’image |
|---|---|
aki-1c9fd86f
|
pv-grub-hd0_1.05-i386.gz
|
aki-dc9ed9af
|
pv-grub-hd0_1.05-x86_64.gz
|
| ID de l’image | Nom de l’image |
|---|---|
aki-7cd34110
|
pv-grub-hd0_1.05-i386.gz
|
aki-912fbcfd
|
pv-grub-hd0_1.05-x86_64.gz
|
| ID de l’image | Nom de l’image |
|---|---|
aki-04206613
|
pv-grub-hd0_1.05-i386.gz
|
aki-5c21674b
|
pv-grub-hd0_1.05-x86_64.gz
|
| ID de l’image | Nom de l’image |
|---|---|
aki-5ee9573f
|
pv-grub-hd0_1.05-i386.gz
|
aki-9ee55bff
|
pv-grub-hd0_1.05-x86_64.gz
|
| ID de l’image | Nom de l’image |
|---|---|
aki-43cf8123
|
pv-grub-hd0_1.05-i386.gz
|
aki-59cc8239
|
pv-grub-hd0_1.05-x86_64.gz
|
| ID de l’image | Nom de l’image |
|---|---|
aki-7a69931a
|
pv-grub-hd0_1.05-i386.gz
|
aki-70cb0e10
|
pv-grub-hd0_1.05-x86_64.gz
|
Mettre à jour PV-GRUB
Nous vous recommandons de toujours utiliser la dernière version de l' PV-GRUB AKI, car toutes les versions de l' PV-GRUB AKI ne sont pas compatibles avec tous les types d'instances. De plus, les anciennes versions de ne PV-GRUB sont pas disponibles dans toutes les régions. Ainsi, si vous copiez une AMI qui utilise une ancienne version vers une région qui ne prend pas en charge cette version, vous ne pourrez pas démarrer les instances lancées depuis cette AMI tant que vous n'aurez pas mis à jour l'image du noyau. Utilisez les procédures suivantes pour vérifier la version de votre instance PV-GRUB et la mettre à jour si nécessaire.
Pour vérifier votre PV-GRUB version
-
Trouvez l’ID noyau pour votre instance.
aws ec2 describe-instance-attribute --instance-idinstance_id--attribute kernel --regionregion{ "InstanceId": "instance_id", "KernelId": "aki-70cb0e10" }L’ID noyau pour cette instance est
aki-70cb0e10. -
Consultez les informations sur la version de cet ID noyau.
aws ec2 describe-images --image-idsaki-70cb0e10--regionregion{ "Images": [ { "VirtualizationType": "paravirtual", "Name": "pv-grub-hd0_1.05-x86_64.gz", ... "Description": "PV-GRUB release 1.05, 64-bit" } ] }Cette image du noyau est PV-GRUB 1.05. Si votre PV-GRUB version n'est pas la plus récente (comme indiqué dansIdentifiants d'image Amazon PV-GRUB Kernel), vous devez la mettre à jour en suivant la procédure suivante.
Pour mettre à jour votre PV-GRUB version
Si votre instance utilise une ancienne version de PV-GRUB, vous devez la mettre à jour vers la dernière version.
-
Identifiez l' PV-GRUB AKI le plus récent pour votre région et l'architecture de votre processeur auprès deIdentifiants d'image Amazon PV-GRUB Kernel.
-
Arrêtez votre instance. Votre instance doit être arrêtée pour modifier l’image noyau utilisée.
aws ec2 stop-instances --instance-idsinstance_id--regionregion -
Modifiez l’image noyau utilisée pour votre instance.
aws ec2 modify-instance-attribute --instance-idinstance_id--kernelkernel_id--regionregion -
Redémarrez votre instance.
aws ec2 start-instances --instance-idsinstance_id--regionregion