Thursday, September 03, 2009

Installation d'une machine virtuelle à l'aide de l'utilitaire virt-install
(A partir de l'image iso du dvd OEL)


Nous continuons notre exploration de la technologie Oracle VM. Dans le présent article, nous verrons comment installer une machine virtuelle motorisée par Oracle Enterprise Linux 5 Update 3.
Nous utilisons pour ce faire, le fichier image du dvd d'Oracle Enterprise Linux et l'outil virt-install. Ensuite nous ferons prendre en charge la machine nouvellement créée par Oracle VM Manager.

Etape 1 : télécharger OEL 5 Update 3 dans son format dvd et le mettre à disposition sur Oracle VM Server
i) Téléchargement du fichier image
Il faut se rendre sur le site d'Oracle e-delivery (http://edelivery.oracle.com/EPD/GetUserInfo/get_form?caller=LinuxWelcome). Le fichier image iso du dvd d'OEL5.3 recherché est compressé dans un fichier archive.
L'archive a les caractéristiques suivantes :
- Nom : V15414-01zip
- Libellé : Enterprise Linux Release 5 Update 3 for x86 (32 Bit) - DVD
- Taille : 2.7 Go
Après l'avoir téléchargé, déplaçons l'archive dans un répertoire dédié créé pour les besoins de notre test et dézippons-la.
# mkdir /OVS/tmp
# mv /root/V15414-01zip /OVS/tmp/
# cd /OVS/tmp
# unzip V15414-01zip
Il en résulte le fichier image proprement dit (Enterprise-R5-U3-Server-i386-dvd.iso). Pour économiser de la place disque, nous pouvons supprimer l'archive
# rm –f V15414-01zip

ii) Montage du fichier image sur un point de montage dédié (/tmp/oel5u3)
Créons ensuite un point de montage pour le fichier image et montons
# mount -o rw,loop /OVS/tmp/Enterprise-R5-U3-Server-i386-dvd.iso /tmp/oel5u3/

Etape 2 : Configurer le serveur NFS sur Oracle VM Server
La configuration que nous présentons ci-dessous est assez simple (juste ce qu'il faut). Le lecteur souhaiter approfondir la configuration d'un serveur NFS en prenant en compte en compte la problématique sécurité pourra consulter l'article détaillé publié par Gregory R. Kriehn à l'adresse http://optics.csufresno.edu/~kriehn/fedora/fedora_files/f7/howto/nfs.html.
i) Mettre à jour le fichier /etc/exports en y insérant le répertoire à partager et les adresses IP des machines autorisées à y accéder.
# cat /etc/exports
/tmp/oel5u3 192.168.10.100(rw,no_root_squash) 192.168.10.110(rw,no_root_squash) 192.168.10.10(rw,no_root_squash)

ii) Metrre à jour le fichier /etc/hosts.allow en y insérant les adresses IP des machines autorisées à bénéficier des services NFS en face des différents processus daemons participant aux services NFS
# cat /etc/hosts.allow
lockd:192.168.10.100,192.168.10.110,192.168.10.10
mountd:192.168.10.100,192.168.10.110,192.168.10.10
rpcbind:192.168.10.100,192.168.10.110,192.168.10.10
rquotad:192.168.10.100,192.168.10.110,192.168.10.10
statd:192.168.10.100,192.168.10.110,192.168.10.10


iii) Arrêter le firewall et re-démarrer les services portmap, nfslock et nfs afin de faire prendre en compte les modifications effectuées
[root@ovs01 ~]# service iptables stop
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]

[root@ovs01 ~]# service nfslock restart
Stopping NFS locking: [ OK ]
Stopping NFS statd: [ OK ]
Starting NFS statd: [ OK ]


[root@ovs01 ~]# service portmap restart
Stopping portmap: [ OK ]
Starting portmap: [ OK ]


[root@ovs01 ~]# service nfs restart
Shutting down NFS mountd: [ OK ]
Shutting down NFS daemon: [ OK ]
Shutting down NFS quotas: [ OK ]
Shutting down NFS services: [ OK ]
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]

iv) Vérifier que le répertoire /tmp/oel5u3 est bien mis à disposition par le serveur NFS (une seule des deux commandes aurait suffi)
[root@ovs01 ~]# exportfs
/tmp/oel5u3 192.168.10.100
/tmp/oel5u3 192.168.10.110
/tmp/oel5u3 192.168.10.10


[root@ovs01 ~]# showmount -e
Export list for ovs01.knmc.local:
/tmp/oel5u3 192.168.10.110,192.168.10.10,192.168.10.100



Etape 3 : Exécuter l'utilitaire virt-install
Compte tenu du nombre de paramètres, nous avons préféré saisir la commande correspondante dans un fichier (create_vm.sh) que nous avons rendu exécutable.
[root@ovs01 ~]# cat create_vm.sh
virt-install \
--name vm01 \
--ram=1024 \
--file=/OVS/running_pool/vm01/system.img \
--file-size=10 \
--location=nfs:192.168.10.100:/tmp/oel5u3 \
--keymap=fr


Récapitulons les paramètres
Nom de la machine virtuelle à créer : vm01
Taille de la mémoire physique : 1024 Mo
Nom du fichier disque à allouer à la machine : =/OVS/running_pool/vm01/system.img
Taille du fichier disque à allouer : 10 Go
Emplacement où les binaires d'Oracle Enterprise Linux 5.3 sont mis à disposition : répertoire /tmp/oel5u3 du serveur NFS ayant comme adresse IP 192.168.10.100
Clavier utilisé : clavier de type français (azerty).

[root@ovs01 tmp]# ./create_vm.sh

Would you like to enable graphics support? (yes or no) yes

Starting install...
libvir: Xen Daemon error : GET operation failed:

VNC Viewer Free Edition 4.1.2 for X - built Jan 21 2009 14:35:26
Copyright (C) 2002-2005 RealVNC Ltd.
See http://www.realvnc.com for information on VNC.

Wed Aug 26 05:28:29 2009
CConn: connected to host localhost port 5901
CConnection: Server supports RFB protocol version 3.8
CConnection: Using RFB protocol version 3.8
TXImage: Using default colormap and visual, TrueColor, depth 16.
CConn: Using pixel format depth 6 (8bpp) rgb222
CConn: Using ZRLE encoding

Wed Aug 26 05:29:17 2009
CConn: Throughput 14285 kbit/s - changing to hextile encoding
CConn: Throughput 14285 kbit/s - changing to full colour
CConn: Using pixel format depth 16 (16bpp) little-endian rgb565
CConn: Using hextile encoding

Wed Aug 26 05:33:47 2009
CConn: Throughput 20000 kbit/s - changing to raw encoding
CConn: Using raw encoding


Précisions importantes relatives à l'exécution de virt-install
i) Lors de l'exécution de l'utilitaire virt-install le message d'erreur suivant est affiché. Mais on peut l'ignorer :
libvir: Xen Daemon error : GET operation failed:

ii) Le re-démarrage suivant de la machine virtuelle nouvellement créée peut afficher les messages suivants que l'on peut également ignorer :
libvir: xen Daemon error: internal error domain information incomplete, missing kernel
Entity: line25: parser error : Opening and ending tag mismatch: os line 5 and domain

Entity: line26: parser error : Premature end of data in tag domain line 1


iii) L'exécution de virt-install inclut la phase d'installation d'Oracle Enterprise Linux qui ne comporte aucune difficulté particulière. Pour faire simple, nous avons choisi d'utiliser le serveur DHCP pour faire affecter une adresse IP à la nouvelle machine. Nous avons constaté qu'il en résultait que la nouvelle machine avait comme hostname new-host-20. Le curseur sur la nouvelle machine n'était pas très précis. En réalité, il y avait deux curseurs dans les fenêtres vnc.
Pour changer le hostname de la machine, on peut utiliser l'un des deux méthodes suivantes :
- Modifier les fichiers /etc/sysconfig/network et /etc/hosts et re-démarrer la machine
(# service network restart)
- Modifier le fichier /etc/hosts et rediriger la commande echo "" dans le fichier /proc/sys/kernel/hostname ; par exemple
# echo "vm01" > /proc/sys/kernel/hostname


iv) Contrairement au fichier disque (system.img) qui est stocké dans le répertoire /OVS/running_pool/vm01, le fichier de configuration de la nouvelle machine virtuelle créée à l'aide de virt-install est localisé dans le répertoire /etc/xen et a pour nom vm01 (le même nom que la machine).
v) Il peut s'avérer nécessaire de re-démarrer la nouvelle machine une ou deux fois avant que le clavier français ne devienne vraiment opérationnel.
vi) Oracle VM Manager ne prend pas en charge par défaut la nouvelle machine. Une procédure complémentaire est nécessaire pour cela. C'est l'objet de l'étape suivante.



Etape 4 : Eteindre la nouvelle machine et l'importer dans Oracle VM Manager
i) Arrêter la nouvelle machine après avoir noté son domain-id
[root@ovs01 vm01]# xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 585 4 r----- 624.1
OVM_EL5U3_X86_OVM_MANAGER_PVM 1 2048 2 -b---- 355.4
vm01 2 1024 1 -b---- 415.0

[root@ovs01 vm01]# xm shutdown –w 2
Domain 2 terminated
All domains terminated
[root@ovs01 vm01]#

ii) Copier le fichier de configuration de la machine dans le répertoire /OVS/running_pool/vm01 en renommant la copie en vm.cfg.
# cp –p /etc/xen/vm01 /OVS/running_pool/vm01/vm.cfg
iii) Importer la nouvelle machine dans Oracle VM Manager en utilisant le menu Resources et le sous-menu "Virtual Machine Images"
iv) Approuver/valider la machine virtuelle ainsi importée.


Conclusion
Nous venons de vous montrer comment utiliser l'utilitaire virt-install pour créer une machine virtuelle sur un serveur Oracle VM Server à partir du fichier image dvd des binaires d'Oracle Enterprise Linux 5.3. Nous regrettons que cet utilitaire gère autrement le fichier de configuration de la machine virtuelle créée. Cependant il n'y a pas de difficulté particulière à l'importer dans Oracle VM Manager.
Dans notre prochain post, nous verrons comment créer une machine virtuelle toujours à partir d'un fichier image d'Oracle Enterprise Linux mais directement à l'aide d'Oracle VM Manager, ce qui nous éviterait d'avoir à l'importer ensuite dans Oracle VM Manager.

Labels: ,

0 Comments:

Post a Comment

<< Home