2009-01-15 16 views
15

Tengo una instancia de Amazon EC2 usando el AMI de Fedora 8 de 64 bits suministrado por Amazon, que me gustaría actualizar a Fedora 10.¿Cómo selecciona una instancia de Amazon EC2 su kernel?

Intenté hacer esto ejecutando "yum update" para actualizar el núcleo y todo paquetes. Esto pareció funcionar bien y veo que ahora tengo instalado el kernel fc10, y todos mis paquetes instalados también se han actualizado a las versiones de Fedora 10.

Sin embargo, también noté que el kernel fc8 todavía está instalado, y cuando reinicio mi imagen vuelve ejecutando el kernel fc8, no el kernel fc10 (lo deduzco de la salida de "uname -a")

¿Hay algún paso adicional que deba realizar para que mi imagen arranque bajo el kernel fc10, o esto es posible? La documentación de Amazon no encontró nada útil para mí.

+0

NB: Esta q La pregunta y sus respuestas son muy relevantes para 2009, pero ya no se aplican a la moderna Amazon EC2, que (principalmente) usa HVM y le permite traer su propio kernel arbitrario todo lo que quiera. – mattdm

Respuesta

1

En mi experiencia con OpenSolaris Amis, esto no es posible. La herramienta de actualización de imágenes pkg también está desactivada en el entorno EC2 para evitar esto de forma precisa. El razonamiento podría ser que cada imagen está asociada con un ramdisk y kernel específicos (aki y ari). Y no pueden actualizarse a otros nuevos. Creo que esto también se aplica a otros AMI, como se observó en su caso.

1

Probablemente su mejor opción es crear su propio AMI; el kernel que obtienes cuando cargas un AMI es cualquiera que sea el kernel que se estaba ejecutando cuando se creó el AMI.

+1

Gracias, Amy - Intenté esto, pero lo que encontré fue que el kernel que obtienes cuando cargas un AMI es el que se estaba ejecutando cuando la instancia desde la cual se creó el AMI, fue instanciada. Entonces, si comienzas con FC8, actualizas a FC10, haces una AMI y lanzas la nueva AMI, todavía está ejecutando kernel FC8. –

2

Técnicamente, al menos hasta hace poco, no se podía seleccionar un kernel. Solo puede seleccionar qué módulos puede empaquetar en la imagen. Amazon conserva el control total sobre el kernel. Esto probablemente sea necesario porque la virtualización de Xen tiene que interactuar con el núcleo de alguna manera especial.

En las actualizaciones recientes (hace varios meses, la última vez que revisé), Amazon ha ampliado algunas de sus API y herramientas para permitirle seleccionar uno de los pocos kernels que proporcionan. Por ejemplo, puede elegir entre 2.6.16 y 2.6.18.

Parecía que eventualmente podría haber soporte para construir su propia "imagen del núcleo", pero las herramientas necesarias para esto no estaban completas. Supongo que ellos (Amazon) proporcionaron esta capacidad solo a socios especiales, ya que vi surgir varias imágenes de terceros que tenían imágenes del kernel asociadas especiales.

4

No puede cargar su propia imagen de kernel a EC2/Amazon. Solo los usuarios autorizados pueden cargar imágenes del kernel. Incluso cuando carga su propia imagen de sistema operativo Linux y arranca desde EC2, se carga un kernel predeterminado que no es el mismo que el que cargó inicialmente. Esta es una decisión política tomada por Amazon. Lo máximo que puede hacer es cambiar la versión predeterminada del kernel seleccionando de una lista de kernels amazon predeterminados y disponibles que desea que su instancia arranque.

Usted puede sin embargo construya sus propios módulos de kernel o reconstruya los del kernel que se carga. La compilación de su propio módulo o la recompilación de los módulos proporcionados por el kernel que se está cargando es un poco complicado ya que el kernel en Amazon es uno modificado con el hipervisor Xen. Necesitas encontrar el código fuente específico del kernel que se carga en tu instancia.

Saludos

Ernesto Benedito

8

Usted puede crear su propio IAM pero hay que usar los granos suministrados por Amazon. Lo más nuevo que proporcionan es 2.6.21. Tengo una lista de kernels fc (Fedora Core) que uso para las instancias de CentOS. Estoy bastante seguro de que funcionan bien con Ubuntu también.

Querrá hornear estos en su AMI cuando lo registra usando ec2-register. Se pueden cambiar en el momento de iniciar una instancia, pero me gusta tener el AKI (kernel) y ARI (ramdisk) adecuados para empezar. También es útil agregar soporte para los discos efímeros. Estás pagando por el almacenamiento adicional con instancias más grandes, también podrías usarlo. Mi encantamiento mágico para EC2-registro:

ec2-register --snapshot snap-12345678 -K pk-XXXXXXXXXXX.pem -C cert-XXXXXXXXXXX.pem \ 
--description "EBS CentOS 5.5 i386" --name "base-image-i386-4" --architecture i386 \ 
--root-device-name /dev/sda1 -b /dev/sdb=ephemeral0 -b /dev/sdc=ephemeral1 \ 
-b /dev/sdd=ephemeral2 -b /dev/sde=ephemeral3 --region us-east-1 \ 
--kernel aki-6eaa4907 --ramdisk ari-e7dc3c8e 

Puede cambiar la región, identificación instantánea, descripción, nombre, arco, etc.

recordar también los núcleos & discos RAM son específicos de la región. No recuerdo de dónde saqué esta lista, pero tuve problemas para encontrarla. Espero que ayude a alguien a salir.

2.6.21 núcleos están disponibles como:

Región de Estados Unidos:

de 32 bits:

* aki-6eaa4907 
* ari-e7dc3c8e 
* ami-48aa4921 

de 64 bits:

* aki-a3d737ca 
* ari-4fdf3f26 
* ami-f61dfd9f 

región de la UE:

32-bi t:

* aki-02486376 
* ari-aa6348de 
* ami-0a48637e 

64-bit:

* aki-f2634886 
* ari-a06348d4 
* ami-927a51e6 

AP Región:

64 bits:

* aki-07f58a55 
* ari-27f58a75 
* ami-ddf58a8f 

32 bits

* aki-01f58a53 
* ari-25f58a77 
* ami-c3f58a91 
Cuestiones relacionadas