La virtualisation sur Exadata Partie 2 : la pratique

Après un précédent article concernant les principes de la virtualisation sur Exadata x5-2 ( La-virtualisation-sur-exadata-partie-1-les-principes ), voici maintenant la suite avec quelques commandes permettant de comprendre la philosophie de mise en œuvre des VM ainsi que leur maintenance.
J’avais traité dans mon article précédent de l’aspect commercial du produit décrivant Oracle VM pour la couche virtualisation. Dans les faits, celle-ci n’est utilisée que pour sa partie hyperviseur, ce qui équivaut à l’association Xen+OCFS2. Il n’y a pas d’interface graphique de gestion des VMs avec OVM Manager, il n’y a pas de haute disponibilité fournie par OVM, cette fonctionnalité est remplie par l’utilisation de bases de données en RAC. Les serveurs Dbnodes deviennent dans cette architecture des hyperviseurs Oracle VM.
 

Création et gestion des VM

La notion de VM est dépendante dans l’Exadata virtualisé de celle de cluster ; créer un cluster revient à créer une ou plusieurs VM correspondant aux nœuds d’un cluster. Dans la philosophie du produit, il n’est pas possible de créer une seule VM mais de créer un cluster à un seul nœud.

  • Sans utilisation de la version 13c d’OEM Cloud Control, l’outil graphique « Oracle Exadata Deployment Assistant Update » s’exécutant sur Windows ou Linux (cf. note support 888828.1 pour obtenir la dernière version) est utilisé pour générer un fichier xml décrivant les VM à créer. Ce fichier servira de support paramètre à la commande /EXAVMIMAGES/onecommand/linux-x64/install.sh lancé sur le premier dbnode afin de créer les VM.

  • Avec utilisation de la version 13c d’OEM Cloud Control, les VM peuvent être créées à partir du menu « Database Machine » dont les différents panneaux de configuration qui se succèdent correspondent à ceux de l’outil graphique Oracle Exadata Deployment Assistant Update. La différence se situe cependant dans le lancement automatique de création de VM à la fin de la séquence de paramétrage.

Surrounding text describes Figure 6-13 .
 

Gestion du cycle de vie des VM

 
La gestion des machines virtuelles paramétrées et créées à l’aide d’OEDA est réalisée par des commandes entrées après connexion en ssh sur le DOM0 de l’hyperviseur, c’est à dire la machine virtuelle qui permet l’interface avec l’hyperviseur Xen. Au final, nous avons une interface de ligne de commandes identique à celle d’un serveur Linux.
 

Obtenir la liste des VM s’exécutant sur l’hyperviseur

Cette commande donne le nom de la VM (domain name) ainsi que l’id de la VM (domain id).

# xm list

Pour obtenir la liste des VM s’exécutant sur l’ensemble des VM, la commande dcli

# dcli -l root -g ~/dbs_group "xm list"

Lancement d’une VM

Se positionner dans le répertoire contenant

# cd /EXAVMIMAGES/GuestImages/nom_vm
 # xm create vm.cfg

Il est possible aussi d’utiliser le chemin absolu du fichier de configuration de la VM

 # xm create /EXAVMIMAGES/GuestImages/nom_vm/vm.cfg

Arrêter une VM

Pour arrêter une VM, deux possibilités :

  • depuis Xen, donc depuis le DOM0
# xm shutdown nom_vm
ou
# xm shutdown id_vm
  • Connecté sous root dans la VM, avec l’utilisation des commandes classiques d’arrêt

Se connecter en mode console à la VM

# xm console nom_vm
ou
# xm console id_vm

 
Pour sortir du mode console, entrer  ctrl $
Dans le cas où un problème survient sur l’arrêt de la VM, il est encore possible de l’arrêter « durement » avec la commande ci-dessous. Cela revient à détruire l’instanciation de la VM dans Xen au lieu de lancer un shutdown « trappé » par le système d’exploitation de la VM.

# xm destroy nom_vm

ou

# xm destroy id_vm

 

Modifier le démarrage automatique des VM au démarrage du seveur Dbnode

Supprimer le lien symbolique correspondant au nom de VM dans le répertoire /etc/xen/auto pour annuler le démarrage automatique de la VM au démarrage du serveur Dbnode

# rm /etc/xen/auto/vm_name.cfg