Installation et configuration d 'OpenStack (Havana) dans Oracle® Solaris

Quitter la vue de l'impression

Mis à jour : Mai 2016
 
 

Gestion des images

Une image de machine virtuelle, ou image, est un fichier unique contenant un disque virtuel qui porte un système d'exploitation amorçable installé sur celui-ci. Une image fournit un modèle pour les systèmes de fichiers de machine virtuelle.

En plus de du tableau de bord, vous pouvez utilisez les clients de ligne de commande de glance et nova ou les API de service d'images et de calcul pour gérer les images.

Affichage des informations sur les images

La commandenova image-list affiche une liste des images disponibles. Vous utiliserez le nom ou l'ID de la variante pour créer l'instance de machine virtuelle.

$ 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 |        |
+--------------------------------------+-------------------------+--------+--------+

La commande glance image-list affiche des informations supplémentaires, y compris le format de disque, le format de conteneur et la taille de l'image :

$ glance image-list --human-readable

Les commandes nova image-show et glance image-show offrent plus d'informations sur une image spécifique :

$ 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           |
+----------------------------+--------------------------------------+

Création d'une image

Dans Solaris, les images OpenStack sont des archives d'ensemble et doivent exécuter Oracle Solaris 11.2. Avec la commandearchiveadm, vous pouvez créer de nouvelles archives d'ensemble à partir de zones globales, de zones non globales et de zones de noyau exécutant Oracle Solaris 11.2. Téléchargez l'image vers le référentiel Glance en vue d'une utilisation avec OpenStack.

Votre archive Unified Archive peut être une archive de clone ou une archive de récupération. Créez une archive de clone basée sur l'environnement d'initialisation actif en cours, ou créez un archive de récupération qui inclut tous les environnements d'initialisation et les informations de configuration système. Un clone d'archive n'inclut aucune des informations de configuration système à partir de l'instance du SE. En ce qui concerne une archive de clone, les programmes d'installation forcent la reconfiguration, ou vous pouvez fournir la configuration dans un profil de configuration système (SC). De plus, une archive de clone ne contient pas les environnement d'initialisation inactifs, par exemple. Utilisez une archive d'ensemble de récupération si vous souhaitez le système dans son intégralité. Pour plus d'informations sur la fonctionnalité d'archive d'ensemble (Unified Archives), reportez-vous à la rubrique Utilisation de Unified Archives pour la récupération du système et le clonage dans Oracle Solaris 11.2.

Les commandes suivantes capturent une archive d'ensemble d'une zone non globale en cours d'exécution nommée 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

Vous pouvez également créer une image OpenStack en créant un cliché d'une instance de machine virtuelle existante. Utilisez la commande nova image-create pour créer une image en prenant un cliché d'une instance de machine virtuelle en cours d'exécution.

En plus de la création d'une image pour créer des instances de machine virtuelle, vous pourrez souhaiter utiliser des images personnalisées pour les sauvegardes de données ou pour assurer le secours d'une instance de machine virtuelle. Une image de secours est un type spécial d'image qui est initialisée lorsqu'une instance de machine virtuelle est placée en mode secours. Une image de secours permet à un administrateur de monter les systèmes de fichiers pour l'instance de machine virtuelle afin de résoudre le problème.

Ajout d'une image au magasin d'images

Le service d'images de OpenStack, Glance, fournit un service de stockage, de détection, d'inscription et de livraison d'images de disque et de serveur. Un serveur de registre est un service d'image fournissant les informations de métadonnées de l'image aux clients. L'image cache est utilisée par le service d'image pour obtenir des images sur l'hôte local au lieu de devoir effectuer un nouveau téléchargement à partir du serveur d'images chaque fois qu'une image est demandée.

La commande suivante télécharge l'archive d'ensemble créée dans la section précédente vers le référentiel Glance. Utilisez le format de type raw. Veillez à spécifier la propriété de l'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

La commande glance image-create permet de télécharger l'image et de définir toutes les valeurs de propriété à la fois. Le script suivant montre comment s'assurer que vous avez téléchargé l'image avec la propriété architecture définie sur l'architecture de l'hôte en cours :

#!/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