Bonjour à tous,
Nous allons voir aujourd’hui
la mise en place d’un cluster Hyper-V sous Windows Server Technical Preview2
(Windows Server 2016) , et la configuration d’un Quorum Witness dans Azure.
Important :
Vous n’avez pas besoin de mettre en place un
VPN site à site entre votre Datacenter et Azure pour réaliser cette opération,
juste une connexion internet sur le cluster suffit.
Voici le schéma de mon infrastructure
:
Les éléments de mon infra
sont:
- - Deux nœuds sous Windows Server TP2
- - Un contrôleur de domaine (on ne le voit pas sur le schéma)
- - Un serveur Windows Server TP2 pour le stockage (Storage Space et Target iSCSI)
- - Une plateforme Microsoft Azure sur laquelle je vais créer un compte de stockage pour le Quorum de mon cluster
Configuration réseau:
J’ai également plusieurs
réseaux :
- - Un réseau pour le LAN (192.168.2.0)
- - Un réseau pour le stockage (172.16.0.0)
- - Un réseau pour le HA (10.10.10.0)
Au niveau de chaque serveur
j’ai 6 cartes réseaux, vous l’aurez compris, je fais du Nic Teaming (agrégation
de carte réseau) j’ai donc deux cartes réseaux par flux réseau.
Voici la configuration du
NIC Teaming sur mes deux nœuds de cluster :
En Powershell:
Voici la topologie
physique de cette configuration de Nic Teaming :
Configuration stockage
Au niveau du stockage je
dispose d’un serveur Windows Server TP2 avec une Target iSCSI installée dessus,
et je profite bien évidement des apports des Storage Space afin de créer des
LUNs pour mes deux nœuds pour le stockage des VMs.
Voici le Storage Pool :
Voici le
iSCSIVirtualDisk :
Mes deux serveurs sont joints
au domaine (lab.net) bien entendu,
avec le rôle Hyper-V installé dessus
ainsi que la fonctionnalité Failover
Clustering.
Et surtout la LUN créé sur mon
serveur de stockage est présentée via iSCSI à mes deux nœuds comme ceci
via un target iSCSI :
Remarquer en rouge les deux
adresses IP sur le réseau de stockage de mes deux hyperviseur Hyper-V.
En interface graphique
également voici mes deux serveurs qui sont autorisés à se connecter à ma
target iSCSI « Target-01 » :
Coté iSCSI initiator voici la connexion à la Target :
(en mettant l’adresse IP de votre serveur de stockage dans « Target » :
Une fois trouvée, vous aurez un
pop-up qui vous dit que vous êtes bien connecté.
Il faut donc :
- - Mettre en ligne le disque
- - Initialiser le disque
- - Créer un volume, choisir sa taille, lui attribuer une lettre, un nom et le formater :D
Votre disque est présent comme s'il était connecté localement à votre nœud (c’est le principe du mode Bloc)
Une fois que vous avez ceci, nous allons pouvoir commencer la création de notre cluster.
à la fin du test vous aurez ceci:
Configuration d’un Quorum Witness dans Azure
Une fois la commande passée
vous devez avoir ceci :
Pour le second nœud, il suffit
de le connecter à la Target iSCSI et mettre le volume en ligne simplement comme
ceci :
Vous devez voir le disque dans
votre deuxième nœud également comme ceci :
Voilà, ici j’ai mes deux nœuds
connectés à mon serveur de stockage via iSCSI.
Pour résumé :
- - Deux serveurs Hyper-V (joint au domaine è lab.net) / avec Hyper-V et Failover clustering installés sur chaque nœud / les deux nœuds sont attachés à mon serveur de stockage via ma Target iSCSI
Une fois que vous avez ceci, nous allons pouvoir commencer la création de notre cluster.
Pour commencer, nous allons valider
notre cluster, pour se faire, allez dans le nœud 1 et ouvrez une console
PowerShell en tant qu’admin et faite la commande suivante afin de tester
la configuration et de valider le cluster :
Test-Cluster –Node
vNext01.lab.net,vNext02.lab.net
Le test commence :
à la fin du test vous aurez ceci:
Afin de voir le rapport de la
validation du cluster il faut se rendre dans
C:\Windows\Cluster\Reports .
Et vous aurez ceci :
Ouvrez le fichier XML avec IE
comme ceci : cliquez droit, faites « Open With » et cliquez sur IE .
Voici le résultat que vous
devez obtenir si vous avez bien configuré les prérequis pour un cluster
Microsoft :
Tous est vert, je vais donc
pouvoir créer mon cluster dans les bonnes conditions.
Pour créer mon cluster
j’utilise le script suivant :
Une fois terminée, vous devez
aller voir le rapport de création de cluster afin de vérifier si y’a pas
d’erreurs :
Le chemin ou se trouve le
rapport est : c:\Windows\Cluster\Reports
et ouvrez le fichier suivant avec IE :
Tous c’est bien passé comme on
peut le voir ici , mon cluster est bien crée.
Remarquez
en jaune une petite alerte sur le Quorum et c’est notre sujet dans cet
article J et il dits en gros que le cluster n’est pas configuré avec
un Quorum Witness.
Nous allons faire le nécessaire
au niveau du Quorum sur Azure J
Configuration d’un Quorum Witness dans Azure
Je me rends dans la console « Failover Cluster Manager »
comme ceci afin de voir le bon fonctionnement de mon cluster. (pour
l’instant il est vide, il n’ya pas de rôle cluster Hyper-V dessus) on verra
plus tard.
Nous allons commencer la
configuration du Quorum Witness dans Azure, pour cela, il faut créer un compte
de stockage comme ceci :
Cliquez sur « NEW » ensuite allez dans « DataServices » ensuite « Storage » et après « QUICK Create » Mettez le nom
de l’URL de votre compte de stockage + choisir la location et le type de
réplication:
Une fois terminée, cliquez sur
« Create Storage Account » :
La création du compte de
stockage commence :
Une fois terminée, allez dans
votre compte de stockage que vous venez de créer, et en bas de la page cliques
sur « Manage Access Keys »
Vous aurez la fenêtre
suivante, vous aurez besoin de la « primary
access key » afin que votre serveur puisse joindre votre compte de
stockage.
Copier bien cette clé J on aura besoin dans pas longtemps.
Je retourne sur ma console du
cluster, je clique droit sur mon cluster « Hyper-VCluster » après je vais sur « More Options » et je vais pour finir dans « Configure Cluster Quorum Settings » :
Vous aurez l’assistant suivant,
cliquez sur Next
Choisir le mode avancé comme
ceci et cliquez sur Next
Laissez l’option « All Nodes » et
cliquez sur Next
Choisir « Configure a cloud Witness » , vous
avez compris, c’est ici qu’on va chercher notre compte de stockage que nous
avons mis dans Azure J
Mettre les informations qu’il
faut, c’est-à-dire le Nom de votre compte de stockage Azure, ainsi que la clé
qu’on avait récupérée plus haut dans l’article
et cliquez sur Next
Confirmation et récap de vos
action, et cliquez sur Next pour commencer la configuration
Voici la configuration
terminée avec succès J
Cliquez sur Finish.
Allons faire un tour sur le
rapport :
On voit que tout s’est bien
passé.
Vérifions dans les ressources
du cluster, on voit bien qu’on a un Quorum qui est dans le Cloud d’AZURE.
Vérifions également le compte
de stockage dans Azure : allez dans
votre compte de stockage et ensuite allez dans « Containers » :
Vérification en
PowerShell :
Une
fois que nous avons configuré notre cluster avec le Quorum sur Azure, nous
allons pouvoir configurer le stockage CSV pour le stockage des VMs Hyper-V.
Pour
cela utilisez la commande suivante :
Vérification :
On voit bien notre CSV (c:\ClusterStorage\Volume1)
Vérification dans
l’explorer :
Une fois le stockage CSV
effectué, nous allons paramétrer notre Hyper-V afin qu’il stocke les VMs par
défaut dans ce CSV.
Comme ceci pour les VHDx:
Comme ceci pour les fichiers
des VMs :
Je
vais maintenant créer une VM et la stocker dans mon CSV comme ceci :
#Création de VM sur mon stockage CSV
"C:\ClusterStorage\Volume1\VMs"
# Serveur Windows Server 2012
$SRV01 = "VM01-test01"
# Taille HDD
$SRV01VHD = 10GB
# Location des Vms dans le stockage CSV
$VMLOC = "C:\ClusterStorage\Volume1\VMs"
# Création des VMs "Client"
New-VM -Name $SRV01
-Path $VMLOC
-MemoryStartupBytes 512MB
-NewVHDPath $VMLOC\$SRV01.vhdx -NewVHDSizeBytes
$SRV01VHD
# Démarrage de la VM
Start-VM -Name $SRV01
Voici
la VM créé dans Hyper-V :
Et dans
la console d’Hyper-v :
Vérification
des fichiers de VMs au niveau du
stockage CSV :
On
retrouve bien le VHDx de la VM ainsi que le dossier ou se trouve les fichiers
de configuration de la VM
Voici également les fichiers de configuration :
A noter
avec les nouveautés de Windows Server 2016 les fichiers de configuration sont
(.vmcx) alors qu’avec un Hyper-V sous
Windows Server 2012 R2 les fichiers de configuration étaient en XML.
Une
fois la VM crée, nous allons pouvoir ajouter le rôle « Virtual Machine »
pour la haute disponibilité des VMs.
Pour
cela il suffit de lancer le script suivant :
Add-ClusterVirtualMachineRole -VirtualMachine "VM01-test01"
Une
fois terminée vous devez obtenir ceci :
Vérification
dans la console du cluster :
Et voilà
nous venons de finir cet article sur la haute disponibilité d’une infrastructure
virtualisée sous Hyper-V avec un Quorum placé dans le Cloud (Microsoft Azure).
Dans
cet article nous avons abordé les notions suivantes :
- - La mise en place d’un cluster (FailOver Clustering) Hyper-V
- - La configuration d’un Quorum dans le Cloud (avec Microsoft Azure)
- - La création d’un compte de stockage dans Azure
- - La création de VM clustérisée (qui sont mis en haute dispo )
- - L’administration de notre cluster Hyper-V en termes de bonnes pratiques etc.
En attendant,
bonne virtualisation avec Hyper-V et à bientôt
Seyfallah
Tagrerout
MVP
Hyper-V