View a markdown version of this page

Kernel forniti dall'utente - Amazon Linux 2

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Kernel forniti dall'utente

Se ti occorre un kernel personalizzato per le istanze Amazon EC2, puoi iniziare con un'AMI vicina a quella che desideri, quindi puoi compilare il kernel personalizzato sull'istanza e aggiornare il bootloader per puntare al nuovo kernel. Questo processo varia a seconda del tipo di virtualizzazione utilizzato dall'AMI. Per ulteriori informazioni, consulta i tipi di virtualizzazione AMI Linux nella Amazon EC2 User Guide.

AMIs HVM (GRUB)

I volumi delle istanze HVM vengono trattati come dischi fisici reali. Il processo di avvio è simile a quello di un sistema operativo bare metal, con un disco partizionato e un bootloader che consente di lavorare con tutte le distribuzioni Linux attualmente supportate. Il bootloader più comune è GRUB o GRUB2.

Per impostazione predefinita, GRUB non invia il suo output alla console dell'istanza, perché questo comporta un ritardo aggiuntivo nell'avvio. Per ulteriori informazioni, consulta Output della console delle istanze nella Guida per l’utente di Amazon EC2. Se si sta installando un kernel personalizzato, si dovrebbe prendere in considerazione l'abilitazione dell'output di GRUB.

Non occorre specificare un kernel di fallback, ma suggeriamo di averne uno quando si prova un nuovo kernel. GRUB può ritornare su un altro kernel nel caso in cui quello nuovo non funzioni. Avere un kernel di fallback consente l'avvio dell'istanza anche se il nuovo kernel non viene trovato.

GRUB legacy per Amazon Linux usa /boot/grub/menu.lst. Usi di GRUB2 per AL2. /etc/default/grub Per ulteriori informazioni sull'aggiornamento del kernel predefinito nel bootloader, vedere la documentazione per la distribuzione Linux.

AMI paravirtuali () PV-GRUB

Le AMI che utilizzano la virtualizzazione paravirtuale (PV) utilizzano un sistema chiamato durante il processo di avvio. PV-GRUB PV-GRUB è un bootloader paravirtuale che esegue una versione patchata di GNU GRUB 0.97. Quando avvii un'istanza, PV-GRUB avvia il processo di avvio e quindi la catena carica il kernel specificato dal file dell'immagine. menu.lst

PV-GRUB è in grado di comprendere lo standard grub.conf o menu.lst i comandi, il che gli consente di funzionare con tutte le distribuzioni Linux attualmente supportate. Le distribuzioni precedenti, come Ubuntu 10.04 LTS, Oracle Enterprise Linux o CentOS 5.x, richiedono uno speciale pacchetto di kernel "ec2" o "xen", mentre le distribuzioni più recenti includono i driver necessari nel pacchetto di kernel predefinito.

La maggior parte delle AMI paravirtuali moderne utilizza un PV-GRUB AKI per impostazione predefinita (incluse tutte le AMI Linux paravirtuali disponibili nel menu Quick Start di Amazon EC2 Launch Wizard), quindi non è necessario eseguire ulteriori passaggi per utilizzare un kernel diverso sulla tua istanza, a condizione che il kernel che desideri utilizzare sia compatibile con la tua distribuzione. Il modo migliore per eseguire un kernel personalizzato sulla tua istanza è iniziare da un'AMI vicina a quella desiderata, quindi compilare il kernel personalizzato sull'istanza e modificare il file menu.lst per eseguire l'avvio con quel kernel.

Puoi verificare che l'immagine del kernel per un'AMI sia un'AKI. PV-GRUB Eseguire il comando describe-images (sostituendo l'ID immagine del kernel) e verificare se il campo Name inizia con pv-grub:

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

Limitazioni di PV-GRUB

PV-GRUB presenta le seguenti limitazioni:

  • Non è possibile utilizzare la versione a 64 bit di PV-GRUB per avviare un kernel a 32 bit o viceversa.

  • Non puoi specificare un'immagine ramdisk Amazon (ARI) quando usi un AKI. PV-GRUB

  • AWS ha testato e verificato che PV-GRUB funziona con questi formati di file system: EXT2, EXT3, EXT4, JFS, XFS e ReiserFS. Altri formati potrebbero non funzionare.

  • PV-GRUB può avviare kernel compressi utilizzando i formati di compressione gzip, bzip2, lzo e xz.

  • Le AMI cluster non sono supportate né necessarie PV-GRUB, perché utilizzano la virtualizzazione hardware completa (HVM). Mentre le istanze paravirtuali vengono utilizzate PV-GRUB per l'avvio, i volumi delle istanze HVM vengono trattati come dischi reali e il processo di avvio è simile al processo di avvio di un sistema operativo bare metal con disco partizionato e bootloader.

  • PV-GRUB le versioni 1.03 e precedenti non supportano il partizionamento GPT; supportano solo il partizionamento MBR.

  • Se hai in programma di utilizzare un gestore logico di volumi (LVM) con i volumi Amazon Elastic Block Store (Amazon EBS), ti servirà una partizione di avvio distinta al di fuori del LVM. Potrai così creare volumi logici con il LVM.

Configurazione di GRUB per le AMIs paravirtuali

Per avviarsi PV-GRUB, nell'immagine deve essere presente un menu.lst file GRUB; la posizione più comune per questo file è. /boot/grub/menu.lst

Di seguito è riportato un esempio di file di menu.lst configurazione per l'avvio di un'AMI con un PV-GRUB AKI. In questo esempio, ci sono due voci del kernel tra cui scegliere: Amazon Linux 2018.03 (il kernel originale per questa AMI) e Vanilla Linux 4.16.4 (una versione più recente del kernel Vanilla Linux di). https://www.kernel.org/ La voce Vanilla è stata copiata dalla voce originale di questa AMI e i percorsi kernel e initrd sono stati aggiornati sulle nuove posizioni. Il parametro default 0 punta il bootloader sulla prima voce che visualizza (in questo caso, la voce Vanilla) e il parametro fallback 1 punta il bootloader sulla voce successiva in caso di problemi nell'avvio della prima.

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

Non è necessario specificare un kernel di fallback nel menu.lst file, ma consigliamo di utilizzare un fallback quando si testa un nuovo kernel. PV-GRUBpuoi ricorrere a un altro kernel nel caso in cui il nuovo kernel fallisca. Avere un kernel di fallback permette l'avvio dell'istanza anche se il nuovo kernel non viene trovato.

PV-GRUB verifica le seguenti posizionimenu.lst, utilizzando la prima che trova:

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

Nota che la versione PV-GRUB 1.03 e versioni precedenti controllano solo una delle prime due posizioni in questo elenco.

ID delle immagini di Amazon PV-GRUB Kernel

PV-GRUB Gli AKI sono disponibili in tutte le regioni Amazon EC2, esclusa l'Asia Pacifico (Osaka). Esistono AKI per i tipi di architettura a 32 bit e a 64 bit. La maggior parte delle AMI moderne utilizza un AKI per impostazione predefinita. PV-GRUB

Ti consigliamo di utilizzare sempre la versione più recente dell' PV-GRUB AKI, poiché non tutte le versioni dell' PV-GRUB AKI sono compatibili con tutti i tipi di istanza. Usa il seguente comando describe-images per ottenere un elenco degli PV-GRUB AKI per la regione corrente:

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

PV-GRUB è l'unico AKI disponibile nella regione. ap-southeast-2 È necessario verificare che qualsiasi AMI PV-GRUB che si desidera copiare in questa regione ne stia utilizzando una versione disponibile in questa regione.

Di seguito sono elencati gli attuali ID AKI per ciascuna regione. Registra nuove AMI utilizzando un AKI hd0.

Nota

Continuiamo a fornire AKI hd00 per compatibilità con le versioni precedenti nelle regioni in cui erano prima disponibili.

ap-northeast-1, Asia Pacific (Tokyo)
ID immagine Nome immagine
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 immagine Nome immagine
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 immagine Nome immagine
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 immagine Nome immagine
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 immagine Nome immagine
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 immagine Nome immagine
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 immagine Nome immagine
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 immagine Nome immagine
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 immagine Nome immagine
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 immagine Nome immagine
aki-7a69931a pv-grub-hd0_1.05-i386.gz
aki-70cb0e10 pv-grub-hd0_1.05-x86_64.gz

Aggiornamento PV-GRUB

Ti consigliamo di utilizzare sempre la versione più recente dell' PV-GRUB AKI, poiché non tutte le versioni dell' PV-GRUB AKI sono compatibili con tutti i tipi di istanza. Inoltre, le versioni precedenti di non PV-GRUB sono disponibili in tutte le regioni, quindi se copi un'AMI che utilizza una versione precedente in una regione che non supporta quella versione, non potrai avviare le istanze avviate da quell'AMI finché non aggiorni l'immagine del kernel. Usa le seguenti procedure per verificare la versione della tua istanza PV-GRUB e aggiornarla se necessario.

Per verificare la tua PV-GRUB versione
  1. Trovare l'ID kernel per l'istanza.

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

    L'ID kernel per l'istanza è aki-70cb0e10.

  2. Visualizzare le informazioni sulla versione dell'ID 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" } ] }

    Questa immagine del kernel è PV-GRUB 1.05. Se la tua PV-GRUB versione non è la più recente (come mostrato inID delle immagini di Amazon PV-GRUB Kernel), dovresti aggiornarla usando la seguente procedura.

Per aggiornare la tua PV-GRUB versione

Se l'istanza utilizza una versione precedente di PV-GRUB, è necessario aggiornarla alla versione più recente.

  1. Identifica l' PV-GRUB AKI più recente per la tua regione e l'architettura del processore daID delle immagini di Amazon PV-GRUB Kernel.

  2. Arrestare l'istanza. La tua istanza deve essere arrestata per modificare l'immagine del kernel utilizzata.

    aws ec2 stop-instances --instance-ids instance_id --region region
  3. Modificare l'immagine del kernel utilizzata per l'istanza.

    aws ec2 modify-instance-attribute --instance-id instance_id --kernel kernel_id --region region
  4. Riavviare l'istanza.

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