Templates pour déploiement aisés sous vmWare

Créer un Template Linux RedHat Family pour vmWare ESXi

Ce tutoriel vous permettra de créer un Template (ou modèle) de machine virtuelle Linux pour votre environnement vmWare vSphere. A l’heure ou le temps est compté pour provisionner une infrastructure virtuelle le plus rapidement possible pour répondre à une montée en charge ou mettre en place un nouveau service.

Pour y voir plus clair sur la configuration d'un serveur Linux de la famille RedHat, suivez ce tutoriel : Configuration de base d'un serveur Linux.


Vous apprendrez à éviter les pièges qui surviennent lorsque nous effectuons une copie pure et simple d’une machine virtuelle.

Stratégie et réflexions

Comme dans tout projet (informatique ou autre), il ne faut jamais se lancer sans d’abord avoir pris le temps nécessaire à la réflexion et ce, afin d’éviter d’avoir à recommencer son travail à plusieurs reprises.

Bien entendu, faire et défaire, c’est tout de même travailler, mais on dit aussi qu’un informaticien est un grand feignant, donc économisons nos forces et réfléchissons sur le sujet.

Cependant, cela ne garanti pas que nous aurons écarté toute éventualité mais nous auront réduit le risque d’avoir à tout reprendre au minimum.

 

Création de la machine virtuelle

La machine virtuelle sera déployée à grande échelle et donc dédiée a être dupliquée à volonté. Il nous la faut la plus neutre possible afin de pouvoir customiser les machines résultantes de l’originale.

Dans vmWare ESXi ou vSphere Client, créez une machine virtuelle avec la configuration décrite ci-dessous.

 

Choix des ressources virtuels attribuées à la nouvelle machine

Pour alléger au maximum le traitement et le poids sur disque, nous allons utiliser une distribution en installation minimale et avec le moins de périphériques installés.

En termes de configuration virtuelle, 1 vCPU, 512Mo de vRAM et un vDisk de 10Go sont amplement suffisants. Il sera toujours possible de modifier la configuration matérielle ultérieurement selon vos futurs besoins. Concernant le vDisk, le mieux sera d’en ajouter plutôt que de tenter d’en modifier la taille.

L’interface réseau devra être configurée pour obtenir une adresse ip automatiquement via DHCP et être activée pour fonctionner à chaque démarrage.

 

Installation

Durant l’installation, laissez le nom de machine par défaut « localhost » sans nom de domaine, indiquez un mot de passe pour le super utilisateur Rootet enfin, ne créez surtout pas d’autre utilisateur.

Une fois l’installation terminée, connectez-vous en tant que Rootavec votre mot de passe sur la console.

 

Gestionnaire de paquets

Tout d’abord, il faut installer les dernières mises à jour du système. Cela évitera de trop lourdes mises à jours après le déploiement du Template.

Commande en tant que root
yum update -y

 

Nous installerons les outils de base que nous utilisons toujours dans nos environnements :

Commande en tant que root
yum install -y yum-utils htop vim wget open-vm-tools

Si vous êtes un fervent utilisateur de nano, vous pouvez remplacer vimpar nanodans la commande ci-dessus.

NOTE :Si vous utilisez d’autres paquets au quotidien tels OpenVPN ou autres, c’est là qu’il faudra les ajouter.

 

On se débarrasse des anciennes versions du Kernel pour réduire au maximum le volume des données stockées sur le disque virtuel.

Commande en tant que root
package-cleanup –-oldkernels –-count=1

 

On nettoie le cache du gestionnaire de paquets toujours dans un soucis de gain d’espace disque.

Commande en tant que root
yum clean all

 

Purge des fichiers de Logs et d’Audits

Nous allons temporairement arrêter les services de Loget d’Auditpour éviter que les fichiers sur lesquels nous allons travailler ne se remplissent avec nos actions.

Commande en tant que root
service rsyslog stop 
service auditd stop

 

Nous supprimons et purgeons de fichiers :

Commande en tant que root
logrotate -f /etc/logrotate.conf
rm -f /var/log/*-???????? 
rm -f /var/log/*.gz
rm -f /var/log/dmesg.old
rm -rf /var/log/anaconda
cat /dev/null > /var/log/audit/audit.log
cat /dev/null > /var/log/wtmp
cat /dev/null > /var/log/lastlog
cat /dev/null > /var/log/grubby

 

Suppression de l’identification matérielle de la machine et de l’interface réseau

On supprime les identifiants matériels liés à cette VM :

Commande en tant que root
rm -f /etc/udev/rules.d/70*

 

Le nom des interfaces réseau peuvent différer selon la version ou la distribution que vous utilisez. Pour être certain du nom de l’interface réseau installée, deux solutions s’offrent à vous.

Soit l’utilisation de nmclipour Network Manager CLIent, soit en listant les fichiers de configuration disponibles dans /etc/sysconfig/network-scripts/ifcfg-*.

 

1. La solution « nmcli »

Commande en tant que root
nmcli

 

Réponse de la commande nmcli
eth0: connecté to System eth0
        "Red Hat Virtio network device"
        ethernet (virtio_net), xx:xx:xx:xx:xx:xx, hw, mtu 1500
        ip4 default
        inet4 192.168.45.11/24

lo: non-géré
        "lo"
        loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536

Use "nmcli device show" to get complete information about known devices and
"nmcli connection show" to get an overview on active connection profiles.

Consult nmcli(1) and nmcli-examples(5) manual pages for complete usage details.

 

2.  nous allons déterminer le nom de l’interface réseau depuis les fichiers de configuration

Commande en tant que root
ls /etc/sysconfig/network-scripts/ifcfg-*

 

Réponse de la commande ls
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-lo

 

Nous allons supprimer l’UUID présent dans le fichier et création d’un ficher de sauvegarde.

Commande en tant que root
sed -i”.bak” ‘/UUID/d’ /etc/sysconfig/network-scripts/ifcfg-eth0

 

Suppression des clefs SSHpour éviter tout conflit potentiel.

Commande en tant que root
rm -f /etc/ssh/*key*

 

Suppression de l’historique de ce qu’on vient de faire

Commande en tant que root
rm -f ~root/.bash_history
unset HISTFILE
rm -rf ~root/.ssh/
history –c

 

Tout est prêt pour arrêter la machine.

Commande en tant que root
sys-unconfig

La machine va terminer la configuration et s’arrêter automatiquement.

 

Création du Modèle

Rien de bien compliqué pour créer le Template depuis l’interface Web d’ESXi ou depuis le vmWare vSphere Client.

 

Depuis l’interface web de vmWare ESXi :

Connectez-vous  à l’interface web avec un compte administrateur.

Repérez la machine virtuelle concernée qui doit avoir le status « Éteinte » puis sélectionnez-là.

Dans le menu « Actions », sélectionnez « Exporter ».

Votre navigateur vous demandera de confirmer le téléchargement des fichiers sur votre ordinateur local dans le dossier de téléchargements.

C’est fait ! Vous disposez maintenant d’un Template Linux de machine virtuelle pour vmWare ESXi ou vmWare vSphere.

 

Depuis vmWare vSphere Client :

Choisissez la machine virtuelle concernée qui se trouve en statut « Arrêt » puis ouvrez le menu Fichier, sélectionnez Exporter puis « Exporter modèle OVF… ».


Le tour est joué. Vous disposez maintenant d’un Template de machine virtuelle.