View a markdown version of this page

Kernels proporcionados por el usuario - Amazon Linux 2

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Kernels proporcionados por el usuario

Si necesita un kernel personalizado para las instancias Amazon EC2, puede comenzar con una AMI que se aproxime a lo que desea, compilar el kernel personalizado en la instancia y actualizar el cargador de arranque para que se dirija hacia el nuevo kernel. Este proceso varía en función del tipo de virtualización que utiliza la AMI. Para obtener más información, consulte los tipos de virtualización de las AMI de Linux en la Guía del usuario de Amazon EC2.

Imágenes de tipo AMIs HVM (GRUB)

Los volúmenes de instancias HVM se tratan como discos físicos. El proceso de arranque es similar al de un sistema operativo bare metal con un disco particionado y un cargador de arranque que le permite trabajar con todas las distribuciones Linux admitidas actualmente. El cargador de arranque más común es GRUB o GRUB2.

De forma predeterminada, GRUB no envía su resultado a la consola de la instancia porque esto provoca un retraso adicional durante el arranque. Para obtener más información, consulte Salida de la consola de instancias en la Guía del usuario de Amazon EC2. Si instala un kernel personalizado, debería considerar habilitar la salida de GRUB.

No es necesario especificar un kernel alternativo, pero le recomendamos que tenga una alternativa al probar un nuevo kernel. Así, en caso de que el nuevo kernel falle, GRUB puede recurrir a otro kernel. Disponer de un kernel alternativo permite que la instancia arranque incluso si no se encuentra el nuevo kernel.

GRUB heredado para Amazon Linux usa /boot/grub/menu.lst. Usos de GRUB2 para AL2. /etc/default/grub Para obtener más información sobre cómo actualizar el kernel predeterminado en el cargador de arranque, consulte la documentación de su distribución Linux.

AMI paravirtuales () PV-GRUB

Las AMI que utilizan la virtualización paravirtual (PV) utilizan un sistema llamado PV-GRUBdurante el proceso de arranque. PV-GRUB es un gestor de arranque paravirtual que ejecuta una versión parcheada de GNU GRUB 0.97. Al iniciar una instancia, PV-GRUB inicia el proceso de arranque y, a continuación, carga en cadena el núcleo especificado en el archivo de la imagen. menu.lst

PV-GRUB entiende el estándar grub.conf o menu.lst los comandos, lo que le permite funcionar con todas las distribuciones de Linux compatibles actualmente. Las distribuciones anteriores, como Ubuntu 10.04 LTS, Oracle Enterprise Linux o CentOS 5.x, requieren un paquete de kernel “ec2” o “xen” especial, mientras que las más recientes incluyen los controladores necesarios en el paquete del kernel predeterminado.

La mayoría de las AMI paravirtuales modernas utilizan una PV-GRUB AKI de forma predeterminada (incluidas todas las AMI paravirtuales de Linux disponibles en el menú de inicio rápido de Amazon EC2 Launch Wizard), por lo que no es necesario realizar ningún paso adicional para utilizar un núcleo diferente en la instancia, siempre que el núcleo que desee utilizar sea compatible con su distribución. La mejor manera de ejecutar un kernel personalizado en la instancia es comenzar con una AMI que se aproxime a lo que desea y, a continuación, compilar el kernel personalizado en la instancia y modificar el archivo menu.lst para que arranque con ese kernel.

Puede comprobar que la imagen del núcleo de una AMI es una PV-GRUB AKI. Ejecute el comando siguiente describe-images (lo que sustituye el ID de imagen del kernel) y compruebe si el campo Name comienza con pv-grub:

aws ec2 describe-images --filters Name=image-id,Values=aki-880531cd

Limitaciones de PV-GRUB

PV-GRUB tiene las siguientes limitaciones:

  • No puede usar la versión de 64 bits de PV-GRUB para iniciar un núcleo de 32 bits o viceversa.

  • No se puede especificar una imagen de disco RAM (ARI) de Amazon cuando se utiliza una PV-GRUB AKI.

  • AWS ha probado y verificado que PV-GRUB funciona con los siguientes formatos de sistema de archivos: EXT2, EXT3, EXT4, JFS, XFS y ReiserFS. Otros formatos de sistema de archivos podrían no ser compatibles.

  • PV-GRUB puede arrancar núcleos comprimidos con los formatos de compresión gzip, bzip2, lzo y xz.

  • Las AMI de clúster no son compatibles ni necesarias PV-GRUB porque utilizan la virtualización completa de hardware (HVM). Mientras que las instancias paravirtuales se utilizan PV-GRUB para arrancar, los volúmenes de instancias de HVM se tratan como discos reales y el proceso de arranque es similar al proceso de arranque de un sistema operativo puro con un disco particionado y un gestor de arranque.

  • PV-GRUB las versiones 1.03 y anteriores no admiten la partición GPT; solo admiten la partición MBR.

  • Si tiene previsto utilizar un administrador de volúmenes lógicos (LVM) con volúmenes de Amazon Elastic Block Store (Amazon EBS), necesita una partición de arranque independiente fuera del LVM. Entonces podrá crear volúmenes lógicos con el LVM.

Configurar GRUB para imágenes de tipo AMIs paravirtuales

Para arrancar PV-GRUB, debe haber un menu.lst archivo GRUB en la imagen; la ubicación más común para este archivo es. /boot/grub/menu.lst

El siguiente es un ejemplo de un archivo de menu.lst configuración para arrancar una AMI con una PV-GRUB AKI. En este ejemplo, hay dos entradas de núcleo entre las que elegir: Amazon Linux 2018.03 (el núcleo original de esta AMI) y Vanilla Linux 4.16.4 (una versión más reciente del núcleo de Vanilla Linux). https://www.kernel.org/ La entrada Vanilla se ha copiado de la entrada original para esta AMI y las rutas kernel e initrd se han actualizado con las nuevas ubicaciones. El parámetro default 0 dirige el cargador de arranque hacia la primera entrada que ve (en este caso, la entrada Vanilla) y el parámetro fallback 1 dirige el cargador de arranque hacia la siguiente entrada si hay un problema al arrancar la primera.

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

No es necesario que especifique un núcleo alternativo en el menu.lst archivo, pero le recomendamos que lo tenga cuando pruebe un núcleo nuevo. PV-GRUBpuede recurrir a otro núcleo en caso de que el nuevo núcleo falle. Disponer de un kernel alternativo permite que la instancia arranque incluso si no se encuentra el nuevo kernel.

PV-GRUB comprueba las siguientes ubicacionesmenu.lst, utilizando la primera que encuentre:

  • (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

Tenga en cuenta que la PV-GRUB versión 1.03 y las versiones anteriores solo marcan una de las dos primeras ubicaciones de esta lista.

ID de imagen de Amazon PV-GRUB Kernel

PV-GRUB Las AKI están disponibles en todas las regiones de Amazon EC2, excepto en Asia Pacífico (Osaka). Existen AKI tanto para tipos de arquitectura de 32 bits como de 64 bits. La mayoría de las AMI modernas utilizan una PV-GRUB AKI de forma predeterminada.

Se recomienda utilizar siempre la versión más reciente de la PV-GRUB AKI, ya que no todas las versiones de la PV-GRUB AKI son compatibles con todos los tipos de instancias. Usa el siguiente comando describe-images para obtener una lista de las PV-GRUB AKI de la región actual:

aws ec2 describe-images --owners amazon --filters Name=name,Values=pv-grub-*.gz

PV-GRUB es la única AKI disponible en la región. ap-southeast-2 Debe comprobar que cualquier AMI que desee copiar a esta región utilice una versión de la PV-GRUB que esté disponible en esta región.

A continuación se indican los ID de AKI actuales para cada región. Registre las nuevas AMI con una AKI hd0.

nota

Seguimos proporcionando AKI hd00 para ofrecer compatibilidad con versiones anteriores en las regiones en las que estaban disponibles anteriormente.

ap-northeast-1, Asia Pacific (Tokyo)
ID de imagen Nombre de la imagen
aki-f975a998 pv-grub-hd0_1.05-i386.gz
aki-7077ab11 pv-grub-hd0_1.05-x86_64.gz
ap-southeast-1, Asia Pacific (Singapore) Region
ID de imagen Nombre de la imagen
aki-17a40074 pv-grub-hd0_1.05-i386.gz
aki-73a50110 pv-grub-hd0_1.05-x86_64.gz
ap-southeast-2, Asia Pacific (Sydney)
ID de imagen Nombre de la imagen
aki-ba5665d9 pv-grub-hd0_1.05-i386.gz
aki-66506305 pv-grub-hd0_1.05-x86_64.gz
eu-central-1, Europe (Frankfurt)
ID de imagen Nombre de la imagen
aki-1419e57b pv-grub-hd0_1.05-i386.gz
aki-931fe3fc pv-grub-hd0_1.05-x86_64.gz
eu-west-1, Europe (Ireland)
ID de imagen Nombre de la imagen
aki-1c9fd86f pv-grub-hd0_1.05-i386.gz
aki-dc9ed9af pv-grub-hd0_1.05-x86_64.gz
sa-east-1, South America (São Paulo)
ID de imagen Nombre de la imagen
aki-7cd34110 pv-grub-hd0_1.05-i386.gz
aki-912fbcfd pv-grub-hd0_1.05-x86_64.gz
us-east-1, US East (N. Virginia)
ID de imagen Nombre de la imagen
aki-04206613 pv-grub-hd0_1.05-i386.gz
aki-5c21674b pv-grub-hd0_1.05-x86_64.gz
us-gov-west-1, AWS GovCloud (US-West)
ID de imagen Nombre de la imagen
aki-5ee9573f pv-grub-hd0_1.05-i386.gz
aki-9ee55bff pv-grub-hd0_1.05-x86_64.gz
us-west-1, US West (N. California)
ID de imagen Nombre de la imagen
aki-43cf8123 pv-grub-hd0_1.05-i386.gz
aki-59cc8239 pv-grub-hd0_1.05-x86_64.gz
us-west-2, US West (Oregon)
ID de imagen Nombre de la imagen
aki-7a69931a pv-grub-hd0_1.05-i386.gz
aki-70cb0e10 pv-grub-hd0_1.05-x86_64.gz

Actualización PV-GRUB

Le recomendamos que utilice siempre la versión más reciente de la PV-GRUB AKI, ya que no todas las versiones de la PV-GRUB AKI son compatibles con todos los tipos de instancias. Además, las versiones anteriores de no PV-GRUB están disponibles en todas las regiones, por lo que si copia una AMI que usa una versión anterior a una región que no admite esa versión, no podrá arrancar las instancias lanzadas desde esa AMI hasta que actualice la imagen del núcleo. Utilice los siguientes procedimientos para comprobar la versión de la instancia PV-GRUB y actualizarla si es necesario.

Para comprobar tu PV-GRUB versión
  1. Localice el ID del kernel de la instancia.

    aws ec2 describe-instance-attribute --instance-id instance_id --attribute kernel --region region { "InstanceId": "instance_id", "KernelId": "aki-70cb0e10" }

    El ID del kernel de esta instancia es aki-70cb0e10.

  2. Revise la información de la versión de dicho ID del kernel.

    aws ec2 describe-images --image-ids aki-70cb0e10 --region region { "Images": [ { "VirtualizationType": "paravirtual", "Name": "pv-grub-hd0_1.05-x86_64.gz", ... "Description": "PV-GRUB release 1.05, 64-bit" } ] }

    La imagen del núcleo es la PV-GRUB 1.05. Si su PV-GRUB versión no es la más reciente (como se muestra enID de imagen de Amazon PV-GRUB Kernel), debe actualizarla mediante el siguiente procedimiento.

Para actualizar su PV-GRUB versión

Si tu instancia usa una versión anterior de PV-GRUB, debes actualizarla a la versión más reciente.

  1. Identifique la PV-GRUB AKI más reciente para su región y la arquitectura de procesador enID de imagen de Amazon PV-GRUB Kernel.

  2. Detenga la instancia. La instancia debe pararse para modificar la imagen del kernel utilizada.

    aws ec2 stop-instances --instance-ids instance_id --region region
  3. Modifique la imagen del kernel utilizada en la instancia.

    aws ec2 modify-instance-attribute --instance-id instance_id --kernel kernel_id --region region
  4. Reinicie la instancia.

    aws ec2 start-instances --instance-ids instance_id --region region