Serveur d'impression

Cluster hyperconvergé à 2 nœuds avec Windows Server 2016 – Bien choisir son serveur d impression

Le 2 mai 2019 - 1 minute de lecture

La semaine dernière, Microsoft a annoncé la version finale de Windows Server 2016 (les bits peuvent être téléchargés ici). En outre, Microsoft a annoncé que Windows Server 2016 prend désormais en charge une configuration de cluster hyperconvergée à 2 nœuds. Je peux maintenant publier la configuration de mon laboratoire, qui est presque une plate-forme de production. Seuls les disques SSD ne sont pas de niveau entreprise et il manque un Xeon par serveur. Mais pour vous montrer à quel point il est facile de mettre en œuvre une solution hyperconvergée, c’est bien. Dans cette rubrique, je vais vous montrer comment déployer un cluster hyperconvergé à 2 nœuds depuis le début avec Windows Server 2016. Mais avant d'exécuter une applet de commande PowerShell, jetons un coup d'œil à la conception.

Aperçu de la conception

Dans cette partie, je parlerai du matériel mis en œuvre et de la manière dont les deux nœuds sont connectés. Ensuite, je présenterai la conception du réseau et la mise en oeuvre logicielle requise.

fichier "width =" 375 "height =" 500 "srcset =" https://i0.wp.com/www.tech-coffee.net/wp-content/uploads/2016/10/file-e1475827271561.jpeg?resize = 768% 2C1024 & ssl = 1 768w, https://i0.wp.com/www.tech-coffee.net/wp-content/uploads/2016/10/file-e1475827271561.jpeg?resize=225%2C300&ssl=1 225w , https://i0.wp.com/www.tech-coffee.net/wp-content/uploads/2016/10/file-e1475827271561.jpeg?w=1240&ssl=1 1240w, https: //i0.wp. com / www.tech-coffee.net / wp-content / uploads / 2016/10 / file-e1475827271561.jpeg? w = 1860 & ssl = 1 1860w "tailles =" (largeur maximale: 375 pixels), 100vw, 375 pixels "données-recalculées -dims = "1" /></p>
<h3><span class=Considération matérielle

Tout d'abord, il est nécessaire de vous présenter le design. J'ai acheté deux nœuds que j'ai construits moi-même. Les deux nœuds ne sont pas fournis par un fabricant. Vous trouverez ci-dessous le matériel que j'ai implémenté dans chaque nœud:

  • CPU: Xeon 2620v2
  • Carte mère: Asus Z9PA-U8 avec ASMB6-iKVM pour KVM sur Internet (contrôleur de gestion de la carte mère)
  • PSU: Fortron 350W FSP FSP350-60GHC
  • Affaire: Dexlan 4U IPC-E450
  • RAM: 128 Go ECC enregistré DDR3
  • Périphériques de stockage:

    • 1x Intel SSD 530 128 Go pour le système d'exploitation
    • 1x Samsung NVMe SSD 950 Pro 256 Go (mémoire cache d'espace de stockage direct)
    • 4x Samsung SATA SSD 850 EVO 500 Go (capacité d'espace de stockage direct)
  • Adaptateurs réseau:

    • 1x Intel 82574L 1 Go pour les charges de travail VM (deux contrôleurs). Intégré à la carte mère
    • 1x Mellanox Connectx3-Pro 10 Go pour les charges de travail de stockage et de migration en direct (deux contrôleurs). Mellanox sont connectés avec deux câbles de cuivre passifs avec SFP fourni par Mellanox
  • 1x commutateur Ubiquiti ES-24-Lite 1GB

Si j'étais en production, je remplacerais le disque SSD par un disque SSD de niveau entreprise et ajouterais un disque SSD NVMe pour la mise en cache. Pour finir, j'achèterais un serveur avec deux Xeon. Vous trouverez ci-dessous l'implémentation matérielle.

Conception de réseau

Pour prendre en charge cette configuration, j'ai créé cinq sous-réseaux:

  • La gestion réseau: 10.10.0.0/24 – VID 10 (VLAN natif). Ce réseau est utilisé pour Active Directory, la gestion via RDS ou PowerShell, etc. Les machines virtuelles Fabric seront également connectées à ce sous-réseau.
  • DMZ réseau: 10.10.10.0/24 – VID 11. Ce réseau est utilisé par les VM DMZ en tant que serveurs Web, AD FS, etc.
  • Grappe réseau: 10.10.100 / 24 – VID 100. Il s’agit du réseau qui bat le cœur du cluster
  • Stockage01 network: 10.10.101 / 24 – VID 101. C'est le premier réseau de stockage. Il est utilisé pour la transaction SMB 3.11 et pour Live-Migration.
  • Stockage02 network: 10.10.102 / 24 – VID 102. Il s'agit du deuxième réseau de stockage. Il est utilisé pour la transaction SMB 3.11 et pour Live-Migration.

Je ne peux pas tirer parti du mode multicanal SMB simplifié car je n’ai pas de commutateur de 10 Go. Ainsi, chaque contrôleur de 10 Go doit appartenir à des sous-réseaux distincts.

Je déploierai un Switch Embedded Teaming pour des adaptateurs réseau de 1 Go. Je ne vais pas mettre en œuvre un commutateur Teaming intégré pour 10 Go car un commutateur est manquant.

Conception logique

Je vais avoir deux nœuds appelés pyhyv01 et pyhyv02 (Physical Hypar-V).

Le premier défi concerne le cluster de basculement. Comme je n'ai pas d'autre serveur physique, les contrôleurs de domaine seront virtuels. si j'implémente des VM de contrôleurs de domaine dans le cluster, comment puis-je démarrer le cluster? Par conséquent, les machines virtuelles DC ne doivent pas figurer dans le cluster et doivent être stockées localement. Pour prendre en charge la haute disponibilité, les deux nœuds hébergeront un contrôleur de domaine localement dans le volume système (C: ). De cette manière, le nœud démarre, la machine virtuelle DC démarre, puis le cluster de basculement peut démarrer.

Les deux nœuds sont déployés en mode principal car je n’aime vraiment pas l’interface utilisateur graphique pour les hyperviseurs. Je ne déploie pas le serveur Nano parce que je n’aime pas le modèle Branche actuelle pour entreprise pour Hyper-V et l’utilisation du stockage. La fonctionnalité suivante sera déployée pour les deux nœuds:

  • Outils de gestion Hyper-V + PowerShell
  • Outils de gestion du cluster de basculement + PowerShell
  • Réplica de stockage (facultatif, uniquement si vous avez besoin de la fonctionnalité de réplica de stockage)

La configuration du stockage sera facile: je vais créer un pool de stockage unique avec tous les disques SSD SATA et NVMe. Ensuite, je créerai deux volumes partagés de cluster qui seront répartis sur les deux nœuds. Le CSV s'appellera CSV-01 et CSV-02.

Configuration du système d'exploitation

Je montre comment configurer un seul nœud. Vous devez répéter ces opérations pour le deuxième noeud de la même manière. C'est pourquoi je vous recommande de créer un script avec les commandes: le script aidera à éviter les erreurs humaines.

Configuration du bios

Le bios peut changer en ce qui concerne le fabricant et la carte mère. Mais je fais toujours les mêmes choses sur chaque serveur:

  • Vérifier si le serveur démarre en UEFI
  • Activer les technologies de virtualisation telles que VT-d, VT-x, SLAT, etc.
  • Configurez le serveur avec des performances élevées (afin que les processeurs disposent de la fréquence maximale disponible)
  • Activer HyperThreading
  • Désactiver tout le matériel indésirable (carte son, port série / com, etc.)
  • Désactiver le démarrage PXE sur les cartes réseau indésirables pour accélérer le démarrage du serveur
  • Définir la date / heure

Ensuite, je vérifie si la mémoire est visible et si tous les périphériques de stockage sont branchés. Quand j'ai le temps, je lance un memtest sur le serveur pour valider le matériel.

OS premier réglages

J'ai déployé mes nœuds à partir d'une clé USB configurée avec Easy2Boot. Une fois le système installé, j'ai déployé des pilotes pour la carte mère et les adaptateurs réseau Mellanox. Étant donné que je ne peux pas me connecter au Gestionnaire de périphériques avec une console MMC distante, j’utilise les commandes suivantes pour répertorier les pilotes installés:



gwmi Win32_SystemDriver | sélectionnez nom, @ n = "version"; e = (gi $ _. chemin d'accès) .VersionInfo.FileVersion
gwmi Win32_PnPSignedDriver | sélectionnez nom de périphérique, driverversion

Une fois tous les pilotes installés, je configure le nom du serveur, les mises à jour, la connexion à distance, etc. Pour cela, j'utilise sconfig.

Cet outil est simple, mais ne fournit pas d’automatisation. Vous pouvez faire la même chose avec l'applet de commande PowerShell, mais je n'ai que deux nœuds à déployer et je trouve cela plus facile. Tout ce que vous avez à faire est de vous déplacer dans le menu et de définir les paramètres. Ici, j'ai changé le nom de l'ordinateur, j'ai activé le poste de travail distant et j'ai téléchargé et installé toutes les mises à jour. Je vous recommande fortement d'installer toutes les mises à jour avant de déployer Storage Spaces Direct.

Ensuite, je configure les options d'alimentation sur "performances" à l'aide de l'applet de commande ci-dessous:



POWERCFG.EXE / S SCHEME_MIN

Une fois la configuration terminée, vous pouvez installer les fonctions et les rôles requis. Vous pouvez exécuter l'applet de commande suivante sur les deux nœuds:



Installation-WindowsFeature Hyper-V, pontage de centre de données, clustering avec basculement, clustering de basculement RSAT, Powershell, Hyper-V-PowerShell, réplica de stockage

Une fois que vous avez exécuté cette cmdlet, les rôles et fonctionnalités suivants sont déployés:

  • Module Hyper-V + PowerShell
  • Pontage du centre de données
  • Module de basculement en cluster + PowerShell
  • Réplique de stockage

Paramètres réseau

Une fois la configuration du système d'exploitation terminée, vous pouvez configurer le réseau. Tout d'abord, je renomme les cartes réseau comme ci-dessous:



get-netadapter |? Nom - pas comme vEthernet * |? InterfaceDescription-like Mellanox * # 2 | Rename-NetAdapter -NewName Storage-101

get-netadapter |? Nom - pas comme vEthernet * |? Adaptateur Mellanox * de type InterfaceDescription | Rename-NetAdapter -NewName Storage-102

get-netadapter |? Nom - pas comme vEthernet * |? InterfaceDescription-like Intel * # 2 | Rename-NetAdapter -NewName Management01-0

get-netadapter |? Nom - pas comme vEthernet * |? InterfaceDescription-like Intel * Connection | Rename-NetAdapter -NewName Management02-0

Ensuite, je crée le regroupement Switch Embedded Teaming avec deux adaptateurs réseau de 1 Go appelés SW-1G:



New-VMSwitch -Name SW-1G -NetAdapterName Management01-0, Management02-0 -EnableEmbeddedTeaming $ True -AllowManagementOS $ False

Nous pouvons maintenant créer deux adaptateurs réseau virtuels pour la gestion et la pulsation:



Add-VMNetworkAdapter -SwitchName SW-1G -ManagementOS -Name Management-0
Add-VMNetworkAdapter -SwitchName SW-1G -ManagementOS -Name Cluster-100

Ensuite, je configure le VLAN sur la vNIC et sur la carte de stockage:



Set-VMNetworkAdapterVLAN -ManagementOS -VMNetworkAdapterName Cluster-100 -Access -VlanId 100
Set-NetAdapter -Name Storage-101 -VlanID 101 -Confirm: $ False
Set-NetAdapter -Name Storage-102 -VlanID 102 -Confirm: $ False

La capture d'écran ci-dessous montre la configuration du VLAN sur les adaptateurs physiques et virtuels.

Ensuite, je désactive la file d'attente de machine virtuelle (VMQ) sur les cartes réseau de 1 Go et la configure sur les cartes réseau de 10 Go. Lorsque je configure la VMQ, j'utilise le multiple de 2 car l'hyperthreading est activé. Je commence par un nombre de processeurs de base de 2 car il est recommandé de laisser le premier coeur (core 0) pour les autres processus.



Disable-NetAdapterVMQ -Name Management *

# Core 1, 2 & 3 seront utilisés pour le trafic réseau sur Storage-101
Set-NetAdapterRSS Storage-101 -BaseProcessorNumber 2 -MaxProcessors 2 -MaxProcessorNumber 4

#Core 4 & 5 seront utilisés pour le trafic réseau sur Storage-102
Set-NetAdapterRSS Storage-102 -BaseProcessorNumber 6 -MaxProcessors 2 -MaxProcessorNumber 8

sans titre

Ensuite, je configure Jumbo Frame sur chaque carte réseau.



Get-NetAdapterAdvancedProperty -Name * -RegistryKeyword "* jumbopacket" | Set-NetAdapterAdvancedProperty -RegistryValue 9014

Nous pouvons maintenant activer RDMA sur les cartes réseau de stockage:



Get-NetAdapter * Stockage * | Enable-NetAdapterRDMA

La capture d'écran ci-dessous est le résultat de Get-NetAdapterRDMA.

Même si cela ne sert à rien car je n'ai ni commutateur ni autre connexion sur des cartes réseau de 10 Go, je configure DCB:



# Activer le DCB
Installer-WindowsFeature Data-Center-Bridging

# Définir une stratégie pour SMB-Direct
New-NetQosPolicy "SMB" -NetDirectPortMatchCondition 445 -PriorityValue8021Action 3

# Activer le contrôle de flux pour SMB
Enable-NetQosFlowControl -Priority 3

# Assurez-vous que le contrôle de flux est désactivé pour les autres trafics
Disable-NetQosFlowControl -Priority 0,1,2,4,5,6,7

# Appliquer la politique aux adaptateurs cibles
Enable-NetAdapterQos -InterfaceAlias ​​"Storage-101"
Enable-NetAdapterQos -InterfaceAlias ​​"Storage-102"

# Donnez à SMB Direct 30% de la bande passante minimum
New-NetQosTrafficClass "SMB" -Priority 3 -BandwidthPercentage 30 -Algorithm ETS

Ok, maintenant que les adaptateurs réseau sont configurés, nous pouvons configurer des adresses IP et essayer la communication sur le réseau.



New-NetIPAddress -InterfaceAlias ​​"vEthernet (Management-0)" -IPAddress 10.10.0.5 -PrefixLength 24 -DefaultGateway 10.10.0.1 -Type Unicast | Out-Null
Set-DnsClientServerAddress -InterfaceAlias ​​"vEthernet (Management-0)" -ServerAddresses 10.10.0.20 | Out-Null

New-NetIPAddress -InterfaceAlias ​​"vEthernet (Cluster-100)" -IPAddress 10.10.100.5 -PrefixLength 24 -Type Unicast | Out-Null

New-NetIPAddress -InterfaceAlias ​​"Storage-101" -IPAddress 10.10.101.5 -PrefixLength 24-Type Unicast | Out-Null

New-NetIPAddress -InterfaceAlias ​​"Storage-102" -IPAddress 10.10.102.5 -PrefixLength 24-Type Unicast | Out-Null

Enregistrement DNS #Disable de la carte réseau de stockage et de cluster (Merci à Philip Elder :))

Set-DNSClient -InterfaceAlias ​​Storage * -RegisterThisConnectionsAddress $ False
Set-DNSClient -InterfaceAlias ​​* Cluster * -RegisterThisConnectionsAddress $ False

Ensuite, j'essaye le Jumbo Frame: ça marche.

Maintenant, mes nœuds peuvent communiquer avec d'autres amis via le réseau. Une fois que vous avez reproduit ces étapes sur le deuxième nœud, nous pouvons déployer le contrôleur de domaine.

Connectez-vous à Hyper-V à distance

Pour effectuer les actions futures, je travaille depuis mon ordinateur portable avec PowerShell à distance. Pour afficher les consoles de machine virtuelle Hyper-V, j'ai installé RSAT sur Windows 10. Ensuite, j'ai installé la console Hyper-V:

Avant de pouvoir se connecter à Hyper-V à distance, certaines configurations sont requises du point de vue du serveur et du client. Dans les deux nœuds, exécutez les applets de commande suivantes:



Serveur Enable-WSManCredSSP -Role

Dans votre ordinateur portable, exécutez les applets de commande suivantes (remplacez fqdn-of-hyper-v-host par le futur nom d’hôte Hyper-V):



WSMan Set-Item:  localhost  Client  TrustedHosts -Value "10.10.0.5"
SetManager WSMan:  localhost  Client  TrustedHosts -Value "fqdn-of-hyper-v-host"
WSMan Set-Item:  localhost  Client  TrustedHosts -Value "10.10.0.6"
SetManager WSMan:  localhost  Client  TrustedHosts -Value "fqdn-of-hyper-v-host"

Enable-WSManCredSSP -Role client -DelegateComputer "10.10.0.5"
Enable-WSManCredSSP -Role client -DelegateComputer "fqdn-of-hyper-v-host"
Enable-WSManCredSSP -Role client -DelegateComputer "10.10.0.6"
Enable-WSManCredSSP -Role client -DelegateComputer "fqdn-of-hyper-v-host"

Puis, lancez gpedit.msc et configurez la politique suivante:

Vous pouvez maintenant tirer parti de la nouvelle fonctionnalité de gestion Hyper-V, qui permet d’utiliser un autre identifiant pour se connecter à Hyper-V.

Déploiement du contrôleur de domaine

Avant de déployer la machine virtuelle, j'ai copié l'ISO de Windows Server 2016 dans c: temp des deux nœuds. Ensuite, j'ai exécuté le script suivant depuis mon ordinateur portable:



# Créer la première machine virtuelle DC
Enter-PSSession -ComputerName 10.10.0.5 -Credential pyhyv01  administrateur

$ VMName = "VMADS01"
# Créer une machine virtuelle de génération 2 avec une mémoire dynamique, une action de démarrage automatique à 0s et un jeu d’actions d’arrêt automatique. 2vCPU
New-VM -Generation 2 -Name $ VMName -SwitchName SW-1G -NoVHD -MemoryStartupBytes 2048MB -Path C:  VirtualMachines
Set-VM -Name $ VMName -ProcessorCount 2 -DynamicMemory -MemoryMinimumBytes 1024MB -MemoryMaximumBytes 4096MB -MemoryStartupBytes -AutomaticStartAction Start -AutomaticStopAction ShutDown

# Créer et ajouter un VHDX dynamique de 60 Go à la machine virtuelle
Nouveau-VHD -Path C:  VirtualMachines  $ VMName  W2016-STD-1.0.vhdx -SizeBytes 60 Go -Dynamique
Add-VMHardDiskDrive -VMName $ VMName -Path C:  VirtualMachines  $ VMName  W2016-STD-1.0.vhdx

# Renommez la carte réseau
Get-VMNetworkAdapter -VMName $ VMName | Rename-VMNetworkAdapter -NewName Management-0

# Ajouter un lecteur de DVD avec W2016 ISO
Add-VMDvdDrive -VMName $ VMName
Set-VMDvdDrive -VMName $ VMName -Path C:  temp  14393.0.160715-1616.RS1_RELEASE_SERVER_EVAL_X64FRE_EN-US.ISO

# Définir le lecteur de DVD comme premier démarrage
$ VD = Get-VMHardDiskDrive -VMName $ VMName -ControllerNumber 0 -ControllerLocation 1
Set-VMFirmware -VMName $ VMName -FirstBootDevice $ VD

# Ajouter un disque de données à la machine virtuelle (dynamique de 10 Go)
Nouveau-VHD -Path C:  VirtualMachines  $ VMName  data.vhdx -SizeBytes 10GB -Dynamic
Add-VMHardDiskDrive -VMName $ VMName -Path C:  VirtualMachines  $ VMName  Data.vhdx

# Démarrer la machine virtuelle
Start-VM
Sortie

# Créez la deuxième machine virtuelle DC avec les mêmes fonctionnalités que ci-dessous
Enter-PSSession -ComputerName 10.10.0.6 -Credential pyhyv02  administrateur
$ VMName = "VMADS02"

New-VM -Generation 2 -Name $ VMName -SwitchName SW-1G -NoVHD -MemoryStartupBytes 2048MB -Path C:  VirtualMachines

Set-VM -Name $ VMName -ProcessorCount 2 -DynamicMemory -MemoryMinimumBytes 1024MB -MemoryMaximumBytes 4096MB -MemoryStartupBytes -AutomaticStartAction Start -AutomaticStopAction ShutDown

Nouveau-VHD -Path C:  VirtualMachines  $ VMName  W2016-STD-1.0.vhdx -SizeBytes 60 Go -Dynamique
Add-VMHardDiskDrive -VMName $ VMName -Path C:  VirtualMachines  $ VMName  W2016-STD-1.0.vhdx
Get-VMNetworkAdapter -VMName $ VMName | Rename-VMNetworkAdapter -NewName Management-0
Add-VMDvdDrive -VMName $ VMName
Set-VMDvdDrive -VMName $ VMName -Path C:  temp  14393.0.160715-1616.RS1_RELEASE_SERVER_EVAL_X64FRE_EN-US.ISO
$ VD = Get-VMHardDiskDrive -VMName $ VMName -ControllerNumber 0 -ControllerLocation 1
Set-VMFirmware -VMName $ VMName -FirstBootDevice $ VD
Nouveau-VHD -Path C:  VirtualMachines  $ VMName  data.vhdx -SizeBytes 10GB -Dynamic
Add-VMHardDiskDrive -VMName $ VMName -Path C:  VirtualMachines  $ VMName  Data.vhdx
Start-VM
Sortie

Déployer le premier contrôleur de domaine

Une fois les ordinateurs virtuels créés, vous pouvez vous connecter à leurs consoles à partir du gestionnaire Hyper-V pour installer le système d'exploitation. Une meilleure solution consiste à utiliser une image sysprep’d. Mais comme il s’agit d’une infrastructure «à partir de zéro», je n’ai pas de maître en or. En utilisant sconfig, vous pouvez installer des mises à jour et activer le Bureau à distance. Une fois les systèmes d'exploitation déployés, vous pouvez vous connecter à la machine virtuelle via PowerShell Direct.

Vous trouverez ci-dessous la configuration du premier contrôleur de domaine:



# Connexion distante au premier noeud
Enter-PSSession -ComputerName 10.10.0.5 -Credential pyhyv01  administrateur

# Etablir une session directe PowerShell vers VMADS01
Enter-PSSession -VMName VMADS01 -Credential VMADS01  administrateur

# Renommer la carte réseau
Rename-NetAdapter -Name Ethernet -NewName Management-0

# Définir les adresses IP
New-NetIPAddress -InterfaceAlias ​​"Management-0" -IPAddress 10.10.0.20 -PrefixLength 24-Type Unicast | Out-Null

# Définir le DNS (cette adresse IP est mon serveur DNS pour Internet dans mon laboratoire)
Set-DnsClientServerAddress -InterfaceAlias ​​"Management-0" -ServerAddresses 10.10.0.229 | Out-Null

# Initialise et monte le disque de données
initialize-disk -Numéro 1
New-Volume -DiskNumber 1 -FileSystem NTFS -FriendlyName Data -DriveLetter E

# Installer la fonctionnalité requise
install-WindowsFeature AD-Domain-Services, DNS - IncludeManagementTools

# Déployer la forêt
Module d'importation ADDSDeployment

Installer-ADDSForest `
    -CreateDnsDelegation: $ false `
    -DatabasePath "E:  NTDS" `
    -DomainMode "WinThreshold" `# devrait être bientôt Win2016
    -DomainName "int.HomeCloud.net" `
    -DomainNetbiosName "INTHOMECLOUD" `
    -ForestMode "WinThreshold" `# devrait être bientôt Win2016
    -InstallDns: $ true `
    -LogPath "E:  NTDS" `
    -NoRebootOnCompletion: $ false `
    -SysvolPath "E:  SYSVOL" `
    -Force: $ true

Promouvoir le deuxième contrôleur de domaine

Une fois le premier contrôleur de domaine déployé et la forêt prête, vous pouvez promouvoir le second contrôleur de domaine:



Enter-PSSession -ComputerName 10.10.0.6 -Credential pyhyv02  administrateur

# Etablir une session directe PowerShell vers VMADS02
Enter-PSSession -VMName VMADS02 -Credential VMADS02  administrateur

# Renommer la carte réseau
Rename-NetAdapter -Name Ethernet -NewName Management-0

# Définir les adresses IP
New-NetIPAddress -InterfaceAlias ​​"Management-0" -IPAddress 10.10.0.21 -PrefixLength 24-Unicast de type | Out-Null

# Définir le DNS sur le premier contrôleur de domaine
Set-DnsClientServerAddress -InterfaceAlias ​​"Management-0" -ServerAddresses 10.10.0.20 | Out-Null

# Initialise et monte le disque de données
initialize-disk -Numéro 1
New-Volume -DiskNumber 1 -FileSystem NTFS -FriendlyName Data -DriveLetter E

# Installer la fonctionnalité requise
install-WindowsFeature AD-Domain-Services, DNS - IncludeManagementTools

# Déployer la forêt
Module d'importation ADDSDeployment
Install-ADDSDomainController `
    -NoGlobalCatalog: $ false `
    -CreateDnsDelegation: $ false `
    -Credential (Get-Credential) `
    -CriticalReplicationOnly: $ false `
    -DatabasePath "E:  NTDS" `
    -DomainName "int.HomeCloud.net" `
    -InstallDns: $ true `
    -LogPath "E:  NTDS" `
    -NoRebootOnCompletion: $ false `
    -SiteName "Nom du premier site par défaut" `
    -SysvolPath "E:  SYSVOL" `
    -Force: $ true

Configurez le répertoire

Une fois le second serveur redémarré, nous pouvons configurer le répertoire ci-dessous:



Enter-PSSession-nom_ordinateur VMADS01.int.homecloud.net
#Requires -version 4.0
$ DN = "DC = int, DC = HomeCloud, DC = net"

# Nouvelle unité d'organisation par défaut
New-ADOrganizationalUnit -Name "Default" -Path $ DN
$ DefaultDN = "OU = Par défaut, $ DN"
New-ADOrganizationalUnit -Name "Computers" -Path $ DefaultDN
New-ADOrganizationalUnit -Name "Users" -Path $ DefaultDN

# Réorienter le conteneur vers l'unité d'organisation
cmd / c redircmp "OU = Ordinateurs, OU = par défaut, $ DN"
cmd / c redirusr "OU = Utilisateurs, OU = Par défaut, $ DN"

# Créer une arborescence de comptes
New-ADOrganizationalUnit -Name "Comptes" -Path $ DN
$ AccountOU = "OU = Comptes, $ DN"
New-ADOrganizationalUnit -Name "Users" -Path $ AccountOU
New-ADOrganizationalUnit -Name "Groupes" -Path $ AccountOU
New-ADOrganizationalUnit -Name "Services" -Path $ AccountOU

# Créer une arborescence de serveurs
New-ADOrganizationalUnit -Name "Servers" -Path $ DN
$ ServersOU = "OU = Serveurs, $ DN"
New-ADOrganizationalUnit -Name "Computers" -Path $ ServersOU
New-ADOrganizationalUnit -Name "Groupes" -Path $ ServersOU
New-ADOrganizationalUnit -Name "CNO" -Path $ ServersOU

# Nouveaux groupes d'utilisateurs
$ GroupAcctOU = "OU = Groupes, $ AccountOU"
New-ADGroup -Name "GG-FabricAdmins" -Path $ GroupAcctOU -GroupScope DomainLocal -Description "Les administrateurs de Fabric Server"
New-ADGroup -Name "GG-SQLAdmins" -Path $ GroupAcctOU -GroupScope DomainLocal -Description "Administrateurs de la base de données SQL"

# Groupes de New Computer
$ GroupCMPOU = "OU = Groupes, $ ServersOU"
New-ADGroup -Name "GG-Hyperv" -Path $ GroupCMPOU -GroupScope DomainLocal -Description "Serveurs Hyper-V"
New-ADGroup -Name "GG-FabricServers" -Path $ GroupCMPOU -GroupScope DomainLocal -Description "Serveurs Fabric"
New-ADGroup -Name "GG-SQLServers" -Path $ GroupCMPOU -GroupScope DomainLocal -Description "Serveurs SQL"
Sortie

Ok, notre Active Directory est prêt, nous pouvons maintenant ajouter des nœuds Hyper-V au domaine. 🙂

Ajouter des noeuds au domaine

Pour ajouter les deux nœuds au domaine, j'exécute les applets de commande suivantes à partir de mon ordinateur portable:



Enter-PSSession -ComputerName 10.10.0.5 -Credential pyhyv01  administrateur
$ domain = "int.homecloud.net"
$ password = "P @ $$ w0rd" | ConvertTo-SecureString -asPlainText -Force
$ username = "$ domain  administrator"
$ credential = New-Object System.Management.Automation.PSCredential ($ nom d'utilisateur, $ mot de passe)
Add-Computer -DomainName $ domain -Credential $ credential -OUPath "OU = Ordinateurs, OU = Serveurs, DC = int, DC = HomeCloud, DC = net" -Restart

Attendez que pyhyv01 ait redémarré et exécutez l'applet de commande suivante sur pyhyv02. Vous pouvez maintenant vous connecter sur pyhyv01 et pyhyv02 avec les informations d'identification du domaine. Vous pouvez installer les services de domaine RSAT sur l'ordinateur portable pour analyser Active Directory.

Déploiement de cluster hyperconvergé à 2 nœuds

Maintenant que Active Directory est disponible, nous pouvons déployer le cluster. Tout d'abord, je teste le cluster pour vérifier que tout va bien:



Enter-PSSession -ComputerName pyhyv01.int.homecloud.net -credential inthomecloud  administrateur
Pyhyv01, pyhyv02 - Incluez "Espaces de stockage directs", Inventaire, Réseau, "Configuration du système"

Vérifiez le rapport s'il y a des problèmes avec la configuration. Si le rapport est correct, exécutez les applets de commande suivantes:



# Créer le cluster
New-Cluster -Name Cluster-Hyv01 -Node pyhyv01, pyhyv02 -NoStorage -StaticAddress 10.10.0.10

Une fois le cluster créé, je configure un témoin de nuage afin qu'Azure dispose d'un vote pour le quorum.



# Ajouter un témoin cloud (nécessite un compte Microsoft Azure)
Set-ClusterQuorum -CloudWitness -Cluster Cluster-Hyv01 -AccountName "& lt; StorageAccount & gt;" -AccessKey "& lt; AccessKey & gt;"

Ensuite, je configure le nom du réseau dans le cluster:



#Configurer le nom du réseau
(Get-ClusterNetwork -Name "Réseau de cluster 1"). Name = "Storage-102"
(Get-ClusterNetwork -Name "Réseau de cluster 2"). Name = "Storage-101"
(Get-ClusterNetwork -Name "Réseau de clusters 3"). Name = "Cluster-100"
(Get-ClusterNetwork -Name "Réseau de cluster 4"). Name = "Management-0"

Ensuite, je configure l'équité de nœud pour qu'elle s'exécute chaque fois qu'un nœud est ajouté au cluster et toutes les 30 minutes. Lorsque le processeur d'un nœud sera utilisé à 70%, l'équité du nœud équilibrera la machine virtuelle entre d'autres nœuds.



# Configurer l'équité des nœuds
(Get-Cluster) .AutoBalancerMode = 2
(Get-Cluster) .AutoBalancerLevel = 2

Ensuite, je configure le Fault Domain Awareness pour avoir une tolérance de panne basée sur le rack. C'est inutile dans cette configuration, mais si vous ajoutez des nœuds au cluster, cela peut être utile. J'active ceci parce qu'il est recommandé d'effectuer cette configuration avant d'activer Storage Spaces Direct.



# Configurer la connaissance du domaine de pannes
New-ClusterFaultDomain -Type Site -Name "Lyon"
New-ClusterFaultDomain -Type Rack -Name "Rack-22U-01"
New-ClusterFaultDomain -Type Rack -Name "Rack-22U-02"
New-ClusterFaultDomain -Type Chassis -Name "Chassis-Fabric-01"
New-ClusterFaultDomain -Type Chassis -Name "Chassis-Fabric-02"

Set-ClusterFaultDomain -Name Lyon -Localisation "France, Lyon 8e"
Set-ClusterFaultDomain -Name Rack-22U-01-Parental Lyon
Set-ClusterFaultDomain -Name Rack-22U-02 -Parent Lyon
Set-ClusterFaultDomain -Name Chassis-Fabric-01 -Parent Rack-22U-01
Set-ClusterFaultDomain -Name Chassis-Fabric-02 -Parent Rack-22U-02
Set-ClusterFaultDomain -Name pyhyv01 -Parent Chassis-Fabric-01
Set-ClusterFaultDomain -Name pyhyv02 -Parent Chassis-Fabric-02

Pour finir avec le cluster, nous devons activer Storage Spaces Direct et créer un volume. Mais auparavant, j'exécutais le script suivant pour nettoyer les disques:



icm (Get-Cluster -Name Cluster-Hyv01 | Get-ClusterNode) %  Set-Disk -isoffline: $ false

        $ _ 

    Get-Disk  | Trier -Property PsComputerName, Count

Nous pouvons maintenant activer les espaces de stockage directs et créer des volumes:



Enable-ClusterStorageSpacesDirect

New-Volume -StoragePoolFriendlyName "S2D *" -FriendlyName CSV-01 -FileSystem CSVFS_ReFS -Size 922GB

New-Volume -StoragePoolFriendlyName "S2D *" -FriendlyName CSV-02 -FileSystem CSVFS_ReFS -Size 922GB

Pour finir, je renomme le volume dans c: ClusterStorage par leur nom dans le cluster:



Rename-Item -Path C:  ClusterStorage  volume1  -NewName CSV-01
Rename-Item -Path C:  ClusterStorage  volume2  -NewName CSV-02

Configuration finale Hyper-V

Premièrement, je définis les dossiers de machine virtuelle et de disque virtuel par défaut:



Set-VMHOST –nomordinateur pyhyv01 –virtualharddiskpath 'C:  ClusterStorage  CSV-01'
Set-VMHOST –nomordinateur pyhyv01 –virtualmachinepath 'C:  ClusterStorage  CSV-01'
Set-VMHOST –nomordinateur pyhyv02 –virtualharddiskpath 'C:  ClusterStorage  CSV-02'
Set-VMHOST –nomordinateur pyhyv02 –virtualmachinepath 'C:  ClusterStorage  CSV-02'

Ensuite, je configure le protocole Live-Migration et le nombre de migrations simultanées autorisées:



Enable-VMMigration –Computername pyhyv01, pyhyv02
Set-VMHost -MaximumVirtualMachineMigrations 4 `
           –MaximumStorageMigrations 4 `
           –VirtualMachineMigrationPerformanceOption SMB `
           -ComputerName pyhyv01, pyhyv02

Ensuite, j'ajoute une délégation Kerberos pour configurer Live-Migration en mode Kerberos:



Enter-PSSession -ComputerName VMADS01.int.homecloud.net
$ HyvHost = "pyhyv01"
$ Domain = "int.homecloud.net"

Get-ADComputer pyhyv02 | Set-ADObject -Add @ "msDS-AllowedToDelegateTo" = "Service de migration de système virtuel Microsoft / $ HyvHost. $ Domain", "cifs / $ HyvHost. $ Domain", "Service de migration de système virtuel Microsoft / $ HyvHost", "cifs / $ HyvHost "

$ HyvHost = "pyhyv02"

Get-ADComputer pyhyv01 | Set-ADObject -Add @ "msDS-AllowedToDelegateTo" = "Service de migration de système virtuel Microsoft / $ HyvHost. $ Domain", "cifs / $ HyvHost. $ Domain", "Service de migration de système virtuel Microsoft / $ HyvHost", "cifs / $ HyvHost "
Sortie

Ensuite, je configure l'authentification de Live-Migration sur Kerberos.



Set-VMHost –Nomordinateur pyhyv01, pyhyv02 `
           –VirtualMachineMigrationAuthenticationType Kerberos

Ensuite, je configure la priorité réseau Live-Migration:

Pour terminer je configure la taille du cache du CSV à 512 Mo:



(Get-Cluster) .BlockCacheSize = 512

Essayez une défaillance de noeud

J'aimerais maintenant arrêter un nœud pour vérifier si le cluster est toujours actif. Voyons ce qui se passe si j’arrête un nœud:

Comme vous l'avez vu dans la vidéo ci-dessus, même si j'arrête un nœud, les charges de travail fonctionnent toujours. Lorsque le second nœud sera redémarré, les disques virtuels entreront dans Régénérant mais vous pourrez accéder aux données.

Vous pouvez visualiser le travail de stockage avec la cmdlet ci-dessous:

Conclusion

La configuration à 2 nœuds est vraiment un bon scénario pour les petites entreprises ou les succursales. Sans le coût d'un commutateur 10 Go expansif et d'un réseau SAN, vous pouvez bénéficier d'une haute disponibilité avec Storage Spaces Direct. Ce type de cluster n'est pas vraiment difficile à déployer, mais je vous recommande fortement d'utiliser PowerShell pour effectuer la mise en œuvre. Actuellement, je travaille également sur VMware vSAN et je peux vous confirmer que Microsoft a une meilleure solution en configuration à 2 nœuds. Dans le scénario vSAN, vous avez besoin d’un troisième ESX dans une troisième pièce. Dans l'environnement Microsoft, vous n'avez besoin que d'un témoin dans une autre pièce comme Microsoft Azure avec Cloud Witness.

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.