Instalación y configuración de OpenStack (Havana) en Oracle® Solaris

Salir de la Vista de impresión

Actualización: Mayo de 2016
 
 

Gestionar imágenes

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.

Visualización de información sobre 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           |
+----------------------------+--------------------------------------+

Creación de una imagen

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.

Agregación de una imagen al almacén de imágenes

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