Una imagen de máquina virtual, o imagen, es un único archivo que contiene un disco virtual que tiene instalado un sistema operativo de inicio. Una imagen proporciona una plantilla para sistemas de archivos de máquinas virtuales.
Además del panel de control, puede usar los clientes de línea de comandos glance y nova o las API de cálculo y servicio de imágenes para gestionar las imágenes.
El comando nova image-list muestra una lista de la imágenes disponibles. Cuando cree una instancia de VM, usará el nombre o el ID de la imagen.
$ nova image-list +--------------------------------------+-------------------------+--------+--------+ | ID | Name | Status | Server | +--------------------------------------+-------------------------+--------+--------+ | e422aae1-b0ba-618c-85d3-a214059800e2 | Solaris Kernel Zone | ACTIVE | | | e82aa857-ec92-4859-f530-deb89274863e | Solaris Non-global Zone | ACTIVE | | +--------------------------------------+-------------------------+--------+--------+
El comando glance image-list muestra información adicional, incluido el formato del disco, el formato del contenedor y el tamaño de imagen:
$ glance image-list --human-readable
Los comandos nova image-show y glance image-show muestran más información acerca de una imagen especificada:
$ nova image-show 'Solaris Kernel Zone' +--------------------------+--------------------------------------+ | Property | Value | +--------------------------+--------------------------------------+ | OS-EXT-IMG-SIZE:size | 1547458560 | | created | 2014-06-29T15:40:49Z | | id | e422aae1-b0ba-618c-85d3-a214059800e2 | | metadata architecture | x86_64 | | metadata hypervisor_type | solariszones | | metadata vm_mode | solariszones | | minDisk | 0 | | minRam | 0 | | name | Solaris Kernel Zone | | progress | 100 | | status | ACTIVE | | updated | 2014-06-29T15:40:55Z | +--------------------------+--------------------------------------+ $ glance image-show 'Solaris Kernel Zone' +----------------------------+--------------------------------------+ | Property | Value | +----------------------------+--------------------------------------+ | Property 'architecture' | x86_64 | | Property 'hypervisor_type' | solariszones | | Property 'vm_mode' | solariszones | | checksum | b2fc9560c15603c7663326db82d5ddaa | | container_format | bare | | created_at | 2014-06-29T15:40:49.108578 | | deleted | False | | disk_format | raw | | id | e422aae1-b0ba-618c-85d3-a214059800e2 | | is_public | True | | min_disk | 0 | | min_ram | 0 | | name | Solaris Kernel Zone | | owner | 7461d4a9f5a64af9a01ae4e84e08c182 | | protected | False | | size | 1547458560 | | status | active | | updated_at | 2014-06-29T15:40:55.769756 | +----------------------------+--------------------------------------+
En Solaris, las imágenes de OpenStack son Unified Archive y se deben ejecutar en Oracle Solaris 11.2. Mediante el uso del comando archiveadm, puede crear nuevos Unified Archive desde zonas globales, no globales y de núcleo que ejecutan Oracle Solaris 11.2. Cargue la imagen en el repositorio de Glance para uso con OpenStack.
Unified Archive puede ser un archivo de clonación o un archivo de recuperación. Cree un archivo de clonación sobre la base del entorno de inicio activo actual o cree un archivo de recuperación que incluya todos los entornos de inicio y la información de configuración del sistema. Un archivo de clonación no incluye ninguna información de configuración del sistema de la instancia del SO. Para un archivo de clonación, los instaladores fuerzan la reconfiguración o puede proporcionar la configuración en un perfil de configuración del sistema (SC). Un archivo de clonación tampoco incluye, por ejemplo, entornos de inicio. Use Unified Archive de recuperación si desea el sistema completo. Para obtener más información sobre archivos unificados, consulte Uso de Unified Archives para la clonación y la recuperación del sistema en Oracle Solaris 11.2.
Los siguientes comandos capturan un Unified Archive de una zona no global en ejecución que se denomina myzone:
global# zonecfg -z myzone create global# zoneadm -z myzone install global# zlogin myzone \ 'sed /^PermitRootLogin/s/no$/without-password/ \ < /etc/ssh/sshd_config > /system/volatile/sed.$$ ; \ cp /system/volatile/sed.$$ /etc/ssh/sshd_config' global# archiveadm create -z myzone /var/tmp/myzone.uar
También puede crear una imagen de OpenStack mediante la creación de una instantánea de una instancia de VM existente. Use el comando nova image-create para crear una imagen mediante la toma de una instantánea desde una instancia de VM en ejecución.
Además de crear una imagen para usar en la creación de instancias de VM, es posible que desee usar imágenes personalizadas para copias de seguridad de datos o para rescatar una instancia de VM. Una zona de rescate es un tipo especial de imagen que se inicia cuando se coloca una imagen de VM en el modo rescue. Una imagen de rescate permite al administrador montar el sistema de archivos para que la instancia de VM corrija el problema.
El servicio de imágenes de OpenStack, Glance, proporciona servicios de almacenamiento, detección, registro y entrega para imágenes de disco y servidor. Un servidor de registroes un servicio de imágenes que proporciona información de metadatos de imágenes a los clientes. El servicio de imágenes usa la caché de imágenes para obtener imágenes en el host local, en lugar de volver a descargarlas desde el servidor de imágenes cada vez que se solicita una imagen.
El siguiente comando carga el Unified Archive creado en la sección anterior en el repositorio de Glance. Use raw como tipo de formato. Asegúrese de especificar la propiedad architecture.
global# glance image-create --container-format bare --disk-format raw \ --is-public true --name "Oracle Solaris 11.2 x86 NGZ" \ --property architecture=x86_64 \ --property hypervisor_type=solariszones \ --property vm_mode=solariszones < /var/tmp/myzone.uar
El comando glance image-create puede cargar la imagen y definir todos los calores de propiedad a la vez. La siguiente secuencia de comandos muestra cómo asegurarse de que cargará la imagen con la propiedad architecture definido en la arquitectura del host actual:
#!/bin/ksh # Upload Unified Archive image to glance with proper Solaris decorations arch=$(archiveadm info -p $1|grep ^archive|cut -d '|' -f 4) if [[ "$arch" == "i386" ]]; then imgarch=x86_64 else imgarch=sparc64 fi name=$(basename $1 .uar) export OS_USERNAME=glance export OS_PASSWORD=glance export OS_TENANT_NAME=service export OS_AUTH_URL=http://controller-name:5000/v2.0 glance image-create --name $name --container-format bare --disk-format raw --owner service --file $1 --is-public True --property architecture=$imgarch --property hypervisor_type=solariszones --property vm_mode=solariszones --progress