Créer une Machine Virtuelle manuellement sur Oracle VM
Je vous propose de continuer mon article précédent intitulé “Installer Oracle VM sur votre ordinateur ou votre portable” et dédié à la mise en place d’Oracle VM sur un serveur ou un ordinateur portable sans Oracle VM Manager. Une fois Oracle VM installé, vous pouvez désormais télécharger et installer les machines virtuelles pour faire fonctionner les OS “guest” qui répondent à vos besoins. Dans cet article, nous allons installer 2 machines virtuelles “black” et “white” que vous pourrez, par exemple utiliser pour installer un cluster Real Application Clusters de démonstration.
Etape 1: Télécharger les templates sur E-delivery
Les templates sont disponibles sur E-delivery; Téléchargez-les dans le répertoire /OVS/templates de votre serveur Oracle VM; pour cela, utilisez l’URL qui suit http://edelivery.oracle.com/linux. Laissez vos coordonnées et téléchargez les “Oracle VM templates”.
Choisissez la version avec soin. En particulier, vérifiez si vos processeurs supportent les extensions de virtualisation matérielles avec la commande ci-dessous:
cat /proc/cpuinfo \ |grep -E 'vmx|smx'
Si c’est le cas et que des lignes sont retournées par la commande ci-dessus, activez ces options dans le BIOS du serveur lors d’un redémarrage. Téléchargez alors les versions HVM des templates que vous installerez. Dans mon cas j’utilise le template “Oracle Enterprise Linux 5 Update 3 template – HVM with PV Drivers Small x86 (32 bit)” (i.e. V16221-01)
Une fois le template téléchargé dans /OVS/templates, décompressez-le:
unzip -j V16221-01.zip Archive: /OVS/templates/V16221-01.zip inflating: OVM_EL5U3_X86_PVHVM_4GB.tgz rm V16221-01.zip
Etape 2: Créer 2 répertoires et y décompresser le template
Créez ensuite 2 répertoires, un pour chaque machine virtuelle, et décompressez le template à l’intérieur. On choisira le nom de la machine virtuelle comme nom de répertoire et dans notre cas, black et white.
mkdir -p /OVS/seed_pool
cd /OVS/seed_pool
tar -zxvf /OVS/templates/OVM_EL5U3_X86_PVHVM_4GB.tgz
mv OVM_EL5U3_X86_PVHVM_4GB black
tar -zxvf /OVS/templates/OVM_EL5U3_X86_PVHVM_4GB.tgz
mv OVM_EL5U3_X86_PVHVM_4GB white
Etape 3: Créer les disques pour installer le logiciel Oracle
Pour chacune des VM, créez un fichier que vous monterez comme un disque sur la VM et qui servira pour installer le logiciel Oracle. Pour limiter l’espace occupé par ce disque, créez un sparse file avec la commande dd comme ci-dessous:
dd if=/dev/zero \ of=/OVS/seed_pool/black/Oracle.img \ bs=1M seek=10240 count=1 dd if=/dev/zero \ of=/OVS/seed_pool/white/Oracle.img \ bs=1M seek=10240 count=1
Etape 4: Créer un disque partagé pour stocker Voting Disk, OCR et ASM
Créez un fichier que vous un disque que monterez comme un disque partagé sur la VM et qui servira pour stocker les fichiers OCR, Voting disk et ASM. Pour limiter l’espace occupé par ce disque, créez également un sparse file avec la commande dd comme ci-dessous:
mkdir -p /OVS/SharedDisk dd if=/dev/zero \ of=/OVS/SharedDisk/OCR-ASM.img \ bs=1M seek=3072 count=1
Etape 5: Modifier le fichier de configuration des VM
Les templates viennent avec un fichier d’exemple (vm.cfg), copiez ces fichiers et changez le contenu de la copie de la manière suivante:
- Copiez les fichiers
cp /OVS/seed_pool/black/vm.cfg \ /OVS/seed_pool/black/black.cfg cp /OVS/seed_pool/white/vm.cfg \ /OVS/seed_pool/white/white.cfg
- Supprimez les propriétés “name”, “disk” et “vif” des fichiers de configurations
for i in black white; do ed /OVS/seed_pool/$i/$i.cfg <<EOF /name\ = d /disk\ = d /vif\ = d w q EOF done
- Ajoutez une propriété “name” aux fichiers de configuration
for i in black white; do echo "name = '$i'" \ >> /OVS/seed_pool/$i/$i.cfg done for i in black white; do grep "name =" /OVS/seed_pool/$i/$i.cfg done
- Ajoutez une propriété “disk” aux fichiers de configuration
Ajouter le paramètre disk dans le fichier de configuration de la machine virtuelle. Ajoutez le fichier pour le disque Oracle ainsi que le fichier partagé. Pour ce dernier, le floag ‘w!’ indique que le fichier peut être monté de manière partagée:
for i in black white; do
cat >> /OVS/seed_pool/$i/$i.cfg <<EOF
disk = ['file:/OVS/seed_pool/$i/System.img,hda,w',
'file:/OVS/seed_pool/$i/Oracle.img,hdb,w',
'file:/OVS/SharedDisk/OCR-ASM.img,hdc,w!']
EOF
done
- Ajoutez une propriété “vif” aux fichiers de configuration pour les interfaces réseaux
Nous ajouterons 3 cartes virtuelles sur les machines virtuelles. Dans mon cas, j’utiliserai 3 cartes virtuelles:
- eth0 servira pour récupérer une adresse DHCP ou changer d’adresse lorsque je change de réseaux
- eth1 et eth2 seront utilisées pour les réseaux publics et interconnect.
La commande ci-dessous ajoute 3 interfaces par machine virtuelle en prenant soin de ne pas utiliser les mêmes adresses MAC.
for i in black white; do
if [ "$i" == "black" ]; then export j="00"; fi
if [ "$i" == "white" ]; then export j="01"; fi
cat >> /OVS/seed_pool/$i/$i.cfg <<EOF
vif = ['type=netfront,mac=00:16:3e:00:$j:01,bridge=xenbr0',
'type=netfront,mac=00:16:3e:00:$j:02,bridge=xenbr0',
'type=netfront,mac=00:16:3e:00:$j:03,bridge=xenbr0']
EOF
done
- Vous pouvez également modifier d’autres propriétés en fonctions de vos besoins.
Dans mon cas, j’ai également modifié les paramètres suivants:
memory = '768' vcpus = 2
Modifiez ceux de votre choix en fonction de vos besoins
Etape 6: Créer et démarrer la VM black
Pour créer et démarrer les machines virtuelles sans Oracle VM Manager, utilisez la commande xm. Lancez la commande ci-dessous pour démarrer la VM “black” :
xm create /OVS/seed_pool/black/black.cfg
Une fois la VM démarrée, connectez-vous depuis la console VNC avec les username/password par défaut, c’est à dire: root et ovsroot.
Etape 7: Configurer hostname, réseau, système de fichiers et firewall
Une fois la VM démarrée, vous pouvez changer l’ensemble des paramètres de la VM sous root. En particulier:
- Changer le nom de la machine
Modifiez le paramètre HOSTNAME dans le fichier /etc/sysconfig/network et donnez-lui le nom qui convient (i.e. black et white) puis changer le nom du serveur avec la commande ci-dessous:
hostname black
- Configurer les différentes interfaces réseaux
Lancer le commande ci-dessous pour modifier les différentes interfaces réseaux:
system-config-network
Une fois la configuration effectuée, vous pouvez la vérifier dans les fichiers de configuration:
cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp HWADDR=00:16:3e:00:00:01 TYPE=Ethernet cat /etc/sysconfig/network-scripts/ifcfg-eth1 TYPE=Ethernet DEVICE=eth1 HWADDR=00:16:3e:00:00:02 BOOTPROTO=none NETMASK=255.255.255.0 IPADDR=192.168.199.1 cat /etc/sysconfig/network-scripts/ifcfg-eth2 TYPE=Ethernet DEVICE=eth2 HWADDR=00:16:3e:00:00:03 BOOTPROTO=none NETMASK=255.255.255.0 IPADDR=192.168.200.1
Pour changer l’ensemble des adresses, vous pouvez utiliser au choix les commandes ifconfig, ifdown ou ifup ou simplement redémarrer le service réseau:
/sbin/service network restart
/sbin/ifconfig eth0 | grep "inet addr"
inet addr:192.168.1.23
Dès lors, vous pourrez vous connecter depuis le domaine 0 sur black avec SSH.
- Ajouter le référentiel de Oracle Enterprise Linux sur votre serveur et activez-le
cd /etc/yum.repos.d wget http://public-yum.oracle.com/public-yum-el5.repo vi public-yum-el5.repo [el5_u3_base] ... enabled=1
- Ajouter les adresses des 2 serveurs dans /etc/hosts
cat >>/etc/hosts <<EOF 192.168.199.1 black 192.168.199.11 black-vip 192.168.200.1 black-priv 192.168.199.2 white 192.168.199.12 white-vip 192.168.200.2 white-priv EOF
- Formater et monter le nouveau disque
Commencez par partitionner /dev/hdb avec la commande fdisk:
fdisk /dev/hdb n p 1 <Return> <Return> p w
Formattez /dev/hdb1 avec ext3
mkfs -t ext3 /dev/hdb1
Mettez ensuite un label sur la partition
e2label /dev/hdb1 oracle
Ajoutez une ligne dans /etc/fstab et montez le système de fichier sur /u01
cat /etc/fstab
echo "LABEL=oracle /u01 ext3 defaults 1 0" \
>> /etc/fstab
mount /u01
chown oracle:oinstall /u01
df -h
- Désactivez le firewall
/sbin/service iptables stop /sbin/chkconfig iptables off /sbin/chkconfig --list iptables iptables-save
Etape 8: Créer et démarrer la VM white
Pour créer et démarrer la machine “white” avec la commande xm :
xm create /OVS/seed_pool/white/white.cfg
Une fois la VM démarrée, connectez-vous depuis la console VNC avec les username/password par défaut, c’est à dire: root et ovsroot.
Etape 9: Configurer hostname, réseau, système de fichiers et firewall
Réalisez la configuration des hostname, réseau, système de fichiers et firewall sur white comme vous l’avez réalisée sur black à l’étape 7. Changez simplement les adresses réseaux pour 192.168.199.2 sur eth1 et 192.168.200.2 sur eth2.
Etape 10: Autorisez le montage d’un répertoire en NFS sur le domaine 0
Ajoutez les adresses IP des interfaces eth0 des 2 VM dans le fichier /etc/hosts.allow du domaine 0:
cat /etc/hosts.allow|grep -v "^#" ALL:192.168.1.23 ALL:192.168.1.25
Ajouter le répertoire à monter dans /etc/exports
cat /etc/exports /home/oracle/distribs 192.168.1.23(rw,sync) /home/oracle/distribs 192.168.1.25(rw,sync)
Redémarrer le serveur NFS sur le domaine 0:
/sbin/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 ]
Connectez-vous successivement sur les 2 VM, créez un répertoire à utiliser comme point de montage et montez-les sur le domaine 0:
su - oracle \ -c "mkdir -p /u01/app/oracle/distribs" mount -t nfs 192.168.1.22:/home/oracle/distribs \ /u01/app/oracle/distribs df -h
Vous pouvez désormais télécharger les distributions Oracle sur le domaine 0 dans le répertoire partagé en NFS et commencer les installations qui conviennent. Vous disposez déhà avec /dev/hdc d’un disque partagé. Bien sur, tout ceci ne peut pas être utilisé pour autre-chose que pour réaliser des tests et ce n’est absolument pas possible de les utiliser en production. Enfin, c’était bien l’objectif de cet article alors, maintenant, entrainez-vous !


Rétroliens