Archives de l’auteur : Jean-Yves LENHOF

Nested VMWare… Partie 1 – Création des ESXi Nested

Ou comment mettre du virtuel dans du virtuel…

La première question que je me suis posé quand j’en ai entendu parler c’est pourquoi ? Peut-être que vous êtes riche comme Rothschild et que vous avez une baie SAN ou NAS qui ne sert à rien et que vous avez 3 serveurs qui ne servent pas… mais ce n’est pas le cas de tout le monde !

Aussi si par contre vous avez un poste (ou un serveur) sur-gonflé en RAM (En dessous de 16 Go c’est très compliqué, avec 32 Go cela devient cool) vous pouvez vous amusez à faire un super lab pour tester VMWare et ses fonctionnalités, ou juste répéter une mise à jour par exemple. (Il existe des licences d’évaluation chez VmWare qui permettent de tourner pendant 60 jours, de quoi faire de beaux tests !).

L’exemple que je propose ici est la mise en œuvre d’un cluster de deux ESXi virtuels attachés à une baie (virtuelle) NAS en NFS et une baie (virtuelle) SAN en Iscsi, Nas4Free permettant d’assurer ces fonctions… Voici quelques schémas permettant de se donner une idée du câblage réseau virtuel désiré…

Les étapes préliminaires :

Installez ESXi et Vcenter 6.0 en version appliance vcsa (cf. mon post précédent)…  et vérifiez que vous pouvez effectivement faire du virtuel dans du virtuel.

Pour cela, utilisez l’URL suivante que vous adapterez pour pointer vers votre serveur ESXi installé par vos soins : https://test-esxi-ovh.lenhof.eu.org/mob/?moid=ha-host&doPath=capability et vérifiez dans la page que la ligne « nestedHVSupported »  a la valeur « true ».

Je vais tenter d’être le plus détaillé possible en décrivant l’ensemble des tâches… de la création du DataCenter, des hôtes, etc…

Première étape :

Une fois VMWAre VSphere Web Client accessible, il faut vous connecter sur l’URL que vous adapterez à votre environnement :

https://vsphere.lenhof.eu.org/vsphere-client avec le compte administrator de votre domaine SSO que vous avez créé lors de l’installation…

Création du Datacenter

1-CreationDatacenter-1

1-CreationDatacenter-21-CreationDatacenter-31-CreationDatacenter-41-CreationDatacenter-5

Puis on ajoute l’hôte :

2-AjoutHote-12-AjoutHote-22-AjoutHote-32-AjoutHote-42-AjoutHote-52-AjoutHote-62-AjoutHote-72-AjoutHote-82-AjoutHote-9

 

Puis on créé le 1er ESXi Nested :

3-CreationESXiNested1-1

3-CreationESXiNested1-23-CreationESXiNested1-33-CreationESXiNested1-43-CreationESXiNested1-53-CreationESXiNested1-6

On choisi « Autre » dans la liste « famille des systèmes d’exploitation clients » et on sélectionne « Autre (64 bits) » dans la liste « version du système d’exploitation client » :3-CreationESXiNested1-7Sélectionnez 2 vCPUs (sinon ESXi ne veut pas s’installer) et 6 Go de RAM

3-CreationESXiNested1-8

On sélectionne l’ISO de l’installateur d’ESXi que l’on aura préalablement recopier via ssh dans le dossier ISOs de notre datastore :3-CreationESXiNested1-9Pensez à cocher « Exposer l’assistance matérielle à la virtualisation au SE invité », sinon ESXi ne s’installera pas en disant que le processeur n’a pas les capacités de virtualisation…

3-CreationESXiNested1-10On coche « La prochaine fois que la machine virtuelle démarre, forcer l’entrée sur l’écran de configuration BIOS », pour avoir le temps de sélectionner le fait de booter sur le CD dans le BIOS, sinon cela va trop vite…

3-CreationESXiNested1-11Une fois la machine créée, il faut remodifier les paramètres du système d’exploitation

3-CreationESXiNested1-13Et là miracle on peut choisir « ESXi 5.5 »

3-CreationESXiNested1-14

On fera de même pour la création du deuxième Nested ESXi…

La suite dans un prochain post…

Share

Installer vSphere 6 sur un serveur ESXi 5.5/6.0 pris chez OVH…

EDIT du 17/03/2015 : Correction du guestOS de la machine Windows…sinon VMWare Vsphere 6 ne veut pas modifier les propriétés de la machine…

Malheureusement il va nous falloir installer une petite machine sous Windows pour « boostraper » l’installation de vsphere 6.0 (vcsa) contrairement à la version 5.5 où l’on pouvait s’en sortir via ovftool… (cf. un des articles précédents sur mon blog).

J’ai donc choisi l’opportunité de télécharger Windows 10 Preview dont l’ISO est disponible ici :

http://windows.microsoft.com/fr-fr/windows/preview-download

Pendant le téléchargement, j’ai décidé de renommer le datastore créé par défaut pour lui donner un nom parlant en se connectant en ssh sur le serveur esxi :

vim-cmd hostsvc/datastore/rename datastore1 test-esxi-ovh.lenhof.eu.org_datastore

On peut alors vérifier que cela fonctionne en utilisant la commande :

vim-cmd hostsvc/datastore/listsummary

Vous pouvez ensuite télécharger « vmware-player » pour Linux pour pouvoir administrer de façon assez confortable les VMs que vous créerez par la suite sur votre serveur ici :

http://www.vmware.com/fr/products/player

Cet outil nous permettra la prise en main à distance des consoles des différentes VMs créées de façon bien plus sympa que la console en mode web de VSphere Web Client qui joue pas mal de tour au niveau du mappage de clavier… l’outil VMRC n’étant lui pas encore disponible sous Linux

Une fois l’ISO de Windows téléchargée, j’ai décidé de pousser l’ISO sur le datastore dans un dossier ISOs via ssh…

cd /vmfs/volumes/test-esxi-ovh.lenhof.eu.org_datastore/ISOs
ls -la
total 4115464
drwxr-xr-x 1 root root 420 Mar 15 08:59 .
drwxr-xr-t 1 root root 1400 Mar 15 08:59 ..
-rw-r--r-- 1 root root 4212791296 Mar 15 09:05 win_10_x86_64.iso

On créé ensuite les fichiers de la VM à la main, d’abord le disque correspondant à la VM :

#mkdir /vmfs/volumes/test-esxi-ovh.lenhof.eu.org_datastore/VMWindowsAdmin
#vmkfstools --createvirtualdisk 20G --diskformat zeroedthick --adaptertype lsilogic /vmfs/volumes/test-esxi-ovh.lenhof.eu.org_datastore/VMWindowsAdmin/VMWindowsAdmin.vmdk
Create: 100% done.
#ls -la /vmfs/volumes/test-esxi-ovh.lenhof.eu.org_datastore/VMWindowsAdmin
total 20972552
drwxr-xr-x 1 root root 560 Mar 15 09:15 .
drwxr-xr-t 1 root root 1540 Mar 15 09:15 ..
-rw------- 1 root root 21474836480 Mar 15 09:15 VMWindowsAdmin-flat.vmdk
-rw------- 1 root root 476 Mar 15 09:15 VMWindowsAdmin.vmdk

Puis on créé le fichier correspondant au hardware de la machine (vous devrez changer l’adresse mac présente sur la ligne « ethernet0.address » par l’adresse que vous aura attribué OVH dans votre interface pour l’IP concernée (si vous avez pris un paquet d’IP publiques comme j’ai fait) :

#cat > /vmfs/volumes/test-esxi-ovh.lenhof.eu.org_datastore/VMWindowsAdmin/VMWindowsAdmin.vmx <<EOF
config.version = "8"
virtualHW.version = "7"
vmci0.present = "TRUE"
displayName = "VMWindowsAdmin"
floppy0.present = "FALSE"
numvcpus = "1"
scsi0.present = "TRUE"
scsi0.sharedBus = "none"
scsi0.virtualDev = "lsisas1068"
memsize = "2048"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "VMWindowsAdmin.vmdk"
scsi0:0.deviceType = "scsi-hardDisk"
ide1:0.present = "TRUE"
ide1:0.fileName = "/vmfs/volumes/test-esxi-ovh.lenhof.eu.org_datastore/ISOs/win_10_x86_64.iso"
ide1:0.deviceType = "cdrom-image"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
ethernet0.pciSlotNumber = "32"
ethernet0.present = "TRUE"
ethernet0.virtualDev = "e1000"
ethernet0.networkName = "VM Network"
ethernet0.generatedAddressOffset = "0"
guestOS = "windows7-64"
ethernet0.addressType = "static"
ethernet0.address = "00:50:56:06:E7:7D"
EOF

Et on enregistre la VM :

#vim-cmd solo/registervm /vmfs/volumes/test-esxi-ovh.lenhof.eu.org_datastore/VMWindowsAdmin/VMWindowsAdmin.vmx

On peut alors se connecter pour booter la VM depuis Linux :

vmplayer -H test-esxi-ovh.lenhof.eu.org

Et configurer tranquillement son Windows… avec notamment la partie réseau avec notamment la route pour atteindre la gateway un peu spéciale d’OVH :

route add -p 188.165.209.254 188.165.79.253

Une fois le Windows installé, RDP activé et le firewall ouvert pour RDP, on peut prendre garder la main avec le vmplayer et y installer un google chrome des familles, parce que je ne supporte pas IE longtemps….

Puis on récupère l’ISO de vCSA 6.0 sur le site de VMWARE après s’y être loggué.

Puis on monte cette iso sous windows en cliquant dessus, cf la copie d’écran :

install_vsphere1

Puis on installe l’outil d’intégration.

install_vsphere2Puis on charge la page setup depuis Google-Chrome…

install_vsphere3

On accepte les conditions du contrat :

install_vsphere4

On saisi l’IP, le compte root et le mot de passe du serveur ESXi sur lequel on veut installer l’appliance  :

install_vsphere5

 

On valide la clé SSH :

 

install_vsphere6

install_vsphere7

On saisi le nom de l’appliance et on choisit un mot de passe pour le compte root de l’appliance :

install_vsphere8

 

On valide le choix par défaut :install_vsphere9

On créé le domaine SSO (Attention là où est indiqué « Port SSO de VCenter » c’est le mot de passe qui est en fait demandé, oui un bug de traduction il semblerait )

install_vsphere10

J’utilise la taille minimale :

install_vsphere11

On coche le mode disque dynamique :

install_vsphere12

On créé une base intégrée :

install_vsphere13

On renseigne l’IP de la machine et on met l’IP aussi au niveau du nom du système sinon l’installation va se viander parce que la résolution inverse ne fonctionne pas (à cause du coup de la gateway un peu spéciale d’OVH) :

install_vsphere14

install_vsphere15

On accepte le warning (cf. explication au-dessus) :

install_vsphere16

Et on accepte le tout :

install_vsphere17

L’installation démarre alors :

install_vsphere18

Et cela dure :

install_vsphere19

Un bon moment :

install_vsphere20

Jusqu’à l’affichage de ce message :

install_vsphere21

On peut alors utiliser vmware-player pour se connecter à la VM pour terminer la configuration réseau :

install_vsphere22

On se loggue (attention le clavier est en qwerty encore à cette étape ) :

install_vsphere23

On active le mode troubleshooting :

install_vsphere24

Notamment l’accès au BASH :

install_vsphere25

Puis on fait du CTRL+F1/F2, etc et on se loggue (toujours en qwerty) :

install_vsphere26

On accède au shell :

install_vsphere27

On charge le clavier français et on fait la modification pour que ce soit le clavier français qui soit chargé par défaut :

install_vsphere28install_vsphere29

Puis on va créer un petit script pour charger les routes un peu spéciales pour la gateway d’OVH :

install_vsphere30

install_vsphere31

 

On fait les liens qui vont bien…

install_vsphere32

Et enfin on clique sur configuration avancé sur la carte réseau pour modifier à distance le fichier vmx de la machine virtuelle pour indiquer la mac adresse que l’on a généré auparavant dans l’interface d’OVH :

install_vsphere33

install_vsphere34

Il ne reste plus alors qu’à rebooter la machine virtuelle via un petit reboot et accéder via google chrome à l’URL du type : https://vsphere.lenhof.eu.org/vsphere-client/

Voilà, voilà ça a l’air simple comme ça, mais j’ai mis un petit moment pour écrire une procédure qui fonctionne…

EDIT : J’espère peut-être avoir une solution avec ovftool du type de ce que j’ai fait avec vcsa pour vsphere 5.5, puisqu’il semblerait qu’il y ait un fichier au format OVA (mais sans l’extension) dans l’ISO d’installation… Ce serait bien, puisque cela permettrait peut-être d’éviter l’installation d’une machine windows qui ne sert juste que pour cette phase d’installation.

Share

Faire un tunnel pour accéder à Vcenter & aux consoles….

Si vous avez des firewalls entre la machine sur laquelle vous êtes et le serveur VSphere sur lequel vous voulez vous connecter pour gérer des serveurs virtuels, vous aurez besoin de tunnels SSH… Kitty ou Putty vient alors en sauveur :

2015_03_02_14_53_02_KiTTY_Configuration

Et vous pouvez ensuite accéder à votre serveur vsphere en allant à l’adresse https://localhost:9443/vsphere-client/

Vous aurez alors le droit à un message sur le certificat puisque le certificat ne correspondra plus…

Share

Installer VCSA 5.5 depuis Linux…

N’ayant aucun poste de travail sous Windows, ça me gavait d’avance d’avoir à installer un poste de travail Windows virtuel juste pour installer le client lourd VSphere Client pour créer et installer l’appliance de management… et puis j’ai trouvé que l’outil ovftool était disponible sous Linux !

Après avoir installé ovftool (il existe une version 32 et une version 64 bits) en version 4.0 ici :

https://my.vmware.com/web/vmware/details?downloadGroup=OVFTOOL400&productId=353

Vous pouvez alors faire un petit script (largement inspiré du travail de William Lam du site www.virtuallyghetto.com) qui va installer VCSA directement et le configurer aux petits oignons… à adapter avec les infos IPs, DNS, etc de vos environnements :

#!/bin/bash
# Author: Jean-Yves LENHOF
# Inspired by different scripts provided by William Lam on www.virtuallyghetto.comOVFTOOL= »/usr/bin/ovftool »
VCSA_OVA=/iso/vmware_vcenter/VMware-vCenter-Server-Appliance-5.5.0.20400-2442330_OVF10.ovaESXI_HOST=test-esxi-ovh.lenhof.eu.org
ESXI_USERNAME=root
ESXI_PASSWORD=passwordofyouresxiserveur
VM_NETWORK= »VM Network »
VM_DATASTORE=datastore1
VCSA_VMNAME=vcsa-embedded
VCSA_ROOT_PASSWORD=changeme
## IP Network Prefix (CIDR notation)
VCSA_NETMASK=255.255.255.255
## Same value as VCSA_IP if no DNS
VCSA_HOSTNAME=vsphere.lenhof.eu.org
VCSA_IP=188.165.79.252
VCSA_GATEWAY=188.165.79.254
VCSA_DNS=213.186.33.99
### DO NOT EDIT BEYOND HERE ###« ${OVFTOOL} » –version | grep ‘4.0.0’ > /dev/null 2>&1
if [ $? -eq 1 ]; then
echo « This script requires ovftool 4.0.0 … »
exit 1
fi

« ${OVFTOOL} » –acceptAllEulas –skipManifestCheck –X:injectOvfEnv –powerOn « –net:Network 1=${VM_NETWORK} » –datastore=${VM_DATASTORE} –diskMode=thin –name=${VCSA_VMNAME} –prop:vami.hostname=${VCSA_HOSTNAME} –prop:vami.DNS.VMware_vCenter_Server_Appliance=${VCSA_DNS} –prop:vami.gateway.VMware_vCenter_Server_Appliance=${VCSA_GATEWAY} –prop:vami.ip0.VMware_vCenter_Server_Appliance=${VCSA_IP} –prop:vami.netmask0.VMware_vCenter_Server_Appliance=${VCSA_NETMASK} ${VCSA_OVA} « vi://${ESXI_USERNAME}:${ESXI_PASSWORD}@${ESXI_HOST}/ »

 

Suivant le débit de votre réseau, cela peut prendre du temps…

Si vous faites ça vers un serveur chez OVH (mon cas), attention avec les protections au niveau Mac Adress, il vous faut modifier le fichier .vmx alors généré pour y mettre en manuel l’adresse mac que vous avez créé dans votre interface…

Il faut alors supprimer les lignes suivantes :

ethernet0.generatedAddress
ethernet0.addressType
ethernet0.generatedAddressOffset
et ajouter les lignes en utilisant la mac adress que vous avez défini :
ethernet0.address = « 00:50:56:3F:FF:FF »
ethernet0.addressType = « static »
 Puis listez les VMs en ligne de commande via
« vim-cmd vmsvc/getallvms »
réperez le numéro d’id (chez moi c’est 2)
Déterminez son statut :
« vim-cmd vmsvc/power.getstate 2 »
Puis démarrez la VM VCSA :
« vim-cmd vmsvc/power.on 2 »
Vous pouvez alors aller sur l’interface web pour terminer l’installation :
https://vsphere.lenhof.eu.org:5480/
Une fois la configuration faite, vous pourrez vous logguer sur l’interface web pour créer vos VMs (mais attention sous Linux seul Chrome fonctionnera du fait de la dépendance à Flash en version 11.5) :
https://vsphere.lenhof.eu.org:9443/vsphere-client/
Share