Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : Azure Stack HCI, version 22H2
Important
Azure Stack HCI fait désormais partie d’Azure Local. Toutefois, les versions antérieures de Azure Stack HCI, par exemple 22H2, continueront de référencer Azure Stack HCI et ne reflèteront pas la modification du nom. En savoir plus.
Warning
Les instructions de déploiement fournies dans cet article s’appliquent à une version antérieure, Azure Stack HCI, version 22H2. Pour les nouveaux déploiements, nous vous recommandons d’utiliser la dernière version en disponibilité générale de Azure Local, consultez À propos de Azure Local déploiement.
Dans cet article, vous allez apprendre à utiliser Windows PowerShell pour créer un cluster hyperconvergé Azure Stack HCI qui utilise espaces de stockage direct. Si vous utilisez plutôt l'Assistant Création de cluster dans Windows Admin Center pour créer le cluster, consultez Créer le cluster avec Windows Admin Center.
Note
Si vous effectuez une installation de serveur unique de Azure Stack HCI 21H2, utilisez PowerShell pour créer le cluster.
Vous avez le choix entre deux types de cluster :
- Cluster standard avec un ou deux nœuds de serveur, tous résidant dans un seul site.
- Cluster étendu avec au moins quatre nœuds serveur qui s’étendent sur deux sites, avec deux nœuds par site.
Pour le scénario de serveur unique, suivez les mêmes instructions pour le serveur unique.
Note
Les clusters Stretch ne sont pas pris en charge dans une configuration de serveur unique.
Dans cet article, nous créons un exemple de cluster nommé Cluster1 composé de quatre nœuds serveur nommés Server1, Server2, Server3 et Server4.
Pour le scénario de cluster étendu, nous utilisons ClusterS1 comme nom et utilisez les quatre mêmes nœuds serveur étendus sur les sites Site1 et Site2.
Pour plus d’informations sur les clusters étendus, consultez la vue d’ensemble des clusters étendus.
Avant de commencer
Avant de commencer, assurez-vous de :
- Lisez et comprenez la configuration système requise Azure Stack HCI.
- Lisez et comprenez la configuration réseau physique requise et la configuration réseau hôte requise pour Azure Stack HCI.
- Installez le système d’exploitation Azure Stack HCI sur chaque serveur du cluster. Consultez Déployer le système d’exploitation Azure Stack HCI.
- Vérifiez que tous les serveurs se trouvent dans le fuseau horaire approprié.
- Disposer d’un compte membre du groupe Administrateurs local sur chaque serveur.
- Disposez de droits dans Active Directory pour créer des objets.
- Pour les clusters étendus, configurez vos deux sites au préalable dans Active Directory.
Utilisation de Windows PowerShell
Vous pouvez exécuter PowerShell localement dans une session RDP sur un serveur hôte ou exécuter PowerShell à distance à partir d’un ordinateur de gestion. Cet article traite de l’option distante.
Lorsque vous exécutez PowerShell à partir d’un ordinateur de gestion, incluez le paramètre -Cluster ou -Name avec le nom du serveur ou du cluster que vous gérez. En outre, vous devrez peut-être spécifier le nom de domaine complet (FQDN) lors de l’utilisation du -ComputerName paramètre pour un nœud de serveur.
Vous avez besoin des applets de commande RSAT (Remote Server Administration Tools) et des modules PowerShell pour Hyper-V et le clustering de basculement. Si les applets de commande et les modules ne sont pas déjà disponibles dans votre session PowerShell sur votre ordinateur de gestion, vous pouvez les ajouter à l’aide de la commande suivante : Add-WindowsFeature RSAT-Clustering-PowerShell
Étape 1 : Configurer les serveurs
Tout d’abord, connectez-vous à chacun des serveurs, joignez-les à un domaine (le même domaine dans lequel se trouve l’ordinateur de gestion) et installez les rôles et fonctionnalités requis.
Étape 1.1 : Se connecter aux serveurs
Pour vous connecter aux serveurs, vous devez d’abord disposer d’une connectivité réseau, être joint au même domaine ou à un domaine entièrement approuvé et disposer d’autorisations administratives locales sur les serveurs.
Ouvrez PowerShell et utilisez le nom de domaine complet ou l’adresse IP du serveur auquel vous souhaitez vous connecter. Vous serez invité à entrer un mot de passe après avoir exécuté la commande suivante sur chaque serveur.
Pour cet exemple, nous partons du principe que les serveurs sont nommés Server1, Server2, Server3 et Server4 :
Enter-PSSession -ComputerName "Server1" -Credential "Server1\Administrator"
Voici un autre exemple de faire la même chose :
$myServer1 = "Server1"
$user = "$myServer1\Administrator"
Enter-PSSession -ComputerName $myServer1 -Credential $user
Tip
Lorsque vous exécutez des commandes PowerShell à partir de votre PC de gestion, vous risquez d’obtenir une erreur telle que WinRM ne peut pas traiter la requête. Pour résoudre ce problème, utilisez PowerShell pour ajouter chaque serveur à la liste des hôtes approuvés sur votre ordinateur de gestion. Cette liste prend en charge les caractères génériques, comme Server* par exemple.
Set-Item WSMAN:\Localhost\Client\TrustedHosts -Value Server1 -Force
Pour voir votre liste Hôtes approuvés, tapez Get-Item WSMAN:\Localhost\Client\TrustedHosts.
Pour vider la liste, tapez Clear-Item WSMAN:\Localhost\Client\TrustedHost.
Étape 1.2 : Joindre le domaine et ajouter des comptes de domaine
À l’étape précédente, vous vous êtes connecté à chaque nœud de serveur avec le compte d’administrateur local <ServerName>\Administrator.
Pour continuer, vous devez joindre les serveurs à un domaine et utiliser le compte de domaine qui se trouve dans le groupe Administrateurs local sur chaque serveur.
Utilisez l’applet Enter-PSSession de commande pour vous connecter à chaque serveur et exécuter l’applet de commande suivante, en remplaçant le nom du serveur, le nom de domaine et les informations d’identification de domaine :
Add-Computer -NewName "Server1" -DomainName "contoso.com" -Credential "Contoso\User" -Restart -Force
Si votre compte d’administrateur n’est pas membre du groupe Administrateurs de domaine, ajoutez votre compte d’administrateur au groupe Administrateurs local sur chaque serveur , ou mieux encore, ajoutez le groupe que vous utilisez pour les administrateurs. Vous pouvez utiliser la commande suivante pour ce faire :
Add-LocalGroupMember -Group "Administrators" -Member "king@contoso.local"
Étape 1.3 : Installer des rôles et des fonctionnalités
L’étape suivante consiste à installer les rôles et fonctionnalités requis Windows sur chaque serveur du cluster. Voici les rôles à installer :
- BitLocker
- Data Center Bridging
- Clustering de basculement
- Serveur de fichiers
- module FS de déduplication des données
- Hyper-V
- Hyper-V PowerShell
- module RSAT-Clustering-PowerShell
- module RSAT-AD-PowerShell
- NetworkATC
- Limite de bande passante SMB
- Réplication de stockage (pour les clusters étendus)
Utilisez la commande suivante pour chaque serveur (si vous êtes connecté via Bureau à distance omettez le -ComputerName paramètre ici et dans les commandes suivantes) :
Install-WindowsFeature -ComputerName "Server1" -Name "BitLocker", "Data-Center-Bridging", "Failover-Clustering", "FS-FileServer", "FS-Data-Deduplication", "FS-SMBBW", "Hyper-V", "Hyper-V-PowerShell", "RSAT-AD-Powershell", "RSAT-Clustering-PowerShell", "NetworkATC", "Storage-Replica" -IncludeAllSubFeature -IncludeManagementTools
Pour exécuter la commande sur tous les serveurs du cluster en même temps, utilisez le script suivant, en modifiant la liste des variables au début pour qu’elles correspondent à votre environnement :
# Fill in these variables with your values
$ServerList = "Server1", "Server2", "Server3", "Server4"
$FeatureList = "BitLocker", "Data-Center-Bridging", "Failover-Clustering", "FS-FileServer", "FS-Data-Deduplication", "Hyper-V", "Hyper-V-PowerShell", "RSAT-AD-Powershell", "RSAT-Clustering-PowerShell", "NetworkATC", "FS-SMBBW", "Storage-Replica"
# This part runs the Install-WindowsFeature cmdlet on all servers in $ServerList, passing the list of features in $FeatureList.
Invoke-Command ($ServerList) {
Install-WindowsFeature -Name $Using:Featurelist -IncludeAllSubFeature -IncludeManagementTools
}
Ensuite, redémarrez tous les serveurs :
$ServerList = "Server1", "Server2", "Server3", "Server4"
Restart-Computer -ComputerName $ServerList -WSManAuthentication Kerberos
Étape 2 : Préparation de la configuration du cluster
Ensuite, vérifiez que vos serveurs sont prêts pour le clustering.
En guise de vérification de l’intégrité, envisagez d’exécuter les commandes suivantes pour vous assurer que vos serveurs n’appartiennent pas déjà à un cluster :
Permet Get-ClusterNode d’afficher tous les nœuds :
Get-ClusterNode
Permet Get-ClusterResource d’afficher tous les nœuds de cluster :
Get-ClusterResource
Permet Get-ClusterNetwork d’afficher tous les réseaux de cluster :
Get-ClusterNetwork
Étape 2.1 : Préparer les lecteurs
Avant d’activer espaces de stockage direct, vérifiez que vos lecteurs permanents sont vides. Exécutez le script suivant pour supprimer les anciennes partitions et autres données.
Note
Exclut du script tous les lecteurs amovibles attachés à un nœud de serveur. Si vous exécutez ce script localement à partir d’un nœud de serveur, par exemple, vous ne souhaitez pas réinitialiser le lecteur amovible que vous utilisez peut-être pour déployer le cluster.
# Fill in these variables with your values
$ServerList = "Server1", "Server2", "Server3", "Server4"
Invoke-Command ($ServerList) {
Update-StorageProviderCache
Get-StoragePool | ? IsPrimordial -eq $false | Set-StoragePool -IsReadOnly:$false -ErrorAction SilentlyContinue
Get-StoragePool | ? IsPrimordial -eq $false | Get-VirtualDisk | Remove-VirtualDisk -Confirm:$false -ErrorAction SilentlyContinue
Get-StoragePool | ? IsPrimordial -eq $false | Remove-StoragePool -Confirm:$false -ErrorAction SilentlyContinue
Get-PhysicalDisk | Reset-PhysicalDisk -ErrorAction SilentlyContinue
Get-Disk | ? Number -ne $null | ? IsBoot -ne $true | ? IsSystem -ne $true | ? PartitionStyle -ne RAW | % {
$_ | Set-Disk -isoffline:$false
$_ | Set-Disk -isreadonly:$false
$_ | Clear-Disk -RemoveData -RemoveOEM -Confirm:$false
$_ | Set-Disk -isreadonly:$true
$_ | Set-Disk -isoffline:$true
}
Get-Disk | Where Number -Ne $Null | Where IsBoot -Ne $True | Where IsSystem -Ne $True | Where PartitionStyle -Eq RAW | Group -NoElement -Property FriendlyName
} | Sort -Property PsComputerName, Count
Étape 2.2 : Tester la configuration du cluster
Dans cette étape, vérifiez que les nœuds de serveur sont configurés correctement pour créer un cluster. L’applet Test-Cluster de commande est utilisée pour exécuter des tests pour vérifier que votre configuration convient pour fonctionner en tant que cluster hyperconvergé. L’exemple suivant utilise le -Include paramètre, avec les catégories spécifiques de tests spécifiés pour vous assurer que les tests corrects sont inclus dans la validation.
Test-Cluster -Node $ServerList -Include "Storage Spaces Direct", "Inventory", "Network", "System Configuration"
Étape 3 : Créer le cluster
Vous êtes maintenant prêt à créer un cluster avec les nœuds de serveur que vous avez validés dans les étapes précédentes.
Lors de la création du cluster, vous pouvez recevoir un avertissement indiquant que "There were issues while creating the clustered role that may prevent it from starting. For more information, view the report file below." vous pouvez ignorer cet avertissement en toute sécurité. Cet avertissement est dû à l’absence de disques disponibles pour le témoin de cluster. Le témoin de cluster est créé lors d’étapes ultérieures.
Note
Si les serveurs utilisent des adresses IP statiques, modifiez la commande suivante pour refléter l’adresse IP statique en ajoutant le paramètre suivant et en spécifiant l’adresse IP : -StaticAddress <X.X.X.X>;.
$ClusterName="cluster1"
New-Cluster -Name $ClusterName –Node $ServerList –nostorage
Une fois le cluster créé, il peut prendre un certain temps pour que le nom du cluster soit répliqué via DNS dans votre domaine, en particulier si les serveurs de groupe de travail viennent d’être ajoutés à Active Directory. Même si le cluster peut être affiché dans Windows Admin Center, il n’est peut-être pas encore disponible pour se connecter.
Vérifiez que toutes les ressources de cluster sont en ligne :
Get-Cluster -Name $ClusterName | Get-ClusterResource
Si la résolution du cluster ne réussit pas après un certain temps, dans la plupart des cas, vous pouvez vous connecter à l’aide du nom de l’un des serveurs en cluster au lieu du nom du cluster.
Étape 4 : Configurer la mise en réseau de l’hôte
Microsoft recommande d'utiliser Network ATC pour déployer le réseau hôte si vous exécutez Azure Stack HCI version 21H2 ou ultérieure. Dans le cas contraire, consultez la configuration requise du réseau hôte pour obtenir des informations et des exigences spécifiques.
Network ATC peut automatiser le déploiement de votre configuration réseau prévue si vous spécifiez un ou plusieurs types d’intentions pour vos adaptateurs. Pour plus d’informations sur des types d’intention spécifiques, consultez : Types de trafic réseau.
Étape 4.1 : Passer en revue les adaptateurs physiques
Sur l’un des nœuds du cluster, exécutez Get-NetAdapter pour passer en revue les adaptateurs physiques. Vérifiez que chaque nœud du cluster a les mêmes adaptateurs physiques nommés et qu’ils signalent l’état « Up ».
Get-NetAdapter -Name pNIC01, pNIC02 -CimSession $ClusterName | Select Name, PSComputerName
Si le nom d’un adaptateur physique varie d’un nœud à l’autre dans votre cluster, vous pouvez le renommer à l’aide de Rename-NetAdapter.
Rename-NetAdapter -Name oldName -NewName newName
Étape 4.2 : Configurer une intention
Dans cet exemple, une intention est créée qui spécifie l’intention de calcul et de stockage. Pour plus d’exemples d’intention, consultez Simplifier la mise en réseau de l’hôte avec Network ATC .
Exécutez la commande suivante pour ajouter les types d’intention de stockage et de calcul à pNIC01 et pNIC02. Notez que nous spécifions le -ClusterName paramètre.
Add-NetIntent -Name Cluster_ComputeStorage -Compute -Storage -ClusterName $ClusterName -AdapterName pNIC01, pNIC02
La commande doit immédiatement retourner après une vérification initiale.
Étape 4.3 : Valider le déploiement de l’intention
Exécutez l’applet Get-NetIntent de commande pour afficher l’intention du cluster. Si vous avez plusieurs intentions, vous pouvez spécifier le Name paramètre pour afficher les détails d’une intention spécifique uniquement.
Get-NetIntent -ClusterName $ClusterName
Pour afficher l’état du provisionnement de l’intention, exécutez la commande Get-NetIntentStatus :
Get-NetIntentStatus -ClusterName $ClusterName -Name Cluster_ComputeStorage
Notez le paramètre d’état qui affiche l’approvisionnement, la validation, la réussite, l’échec.
Le statut devrait indiquer un succès dans quelques minutes. Si l’état de réussite n’apparaît pas ou si vous voyez un échec du paramètre d’état, consultez l’Observateur d’événements pour rechercher d’éventuels problèmes.
Note
Pour le moment, Network ATC ne configure pas d’adresses IP pour aucun des adaptateurs qu’il gère. Une fois que Get-NetIntentStatus indique l’état « terminé », vous devez ajouter des adresses IP aux adaptateurs.
Étape 5 : Configurer des sites (cluster étendu)
Cette tâche s’applique uniquement si vous créez un cluster étendu entre deux sites avec au moins deux serveurs dans chaque site.
Note
Si vous avez configuré Active Directory sites et services au préalable, vous n'avez pas besoin de créer les sites manuellement, comme décrit dans la section suivante.
Étape 5.1 : Créer des sites
Dans l’applet de commande suivante, FaultDomain est simplement un autre nom pour un site. Cet exemple utilise « ClusterS1 » comme nom du cluster étendu.
New-ClusterFaultDomain -CimSession $ClusterName -FaultDomainType Site -Name "Site1"
New-ClusterFaultDomain -CimSession $ClusterName -FaultDomainType Site -Name "Site2"
Utilisez l’applet Get-ClusterFaultDomain de commande pour vérifier que les deux sites sont créés pour le cluster.
Get-ClusterFaultDomain -CimSession $ClusterName
Étape 5.2 : Affecter des nœuds de serveur
Ensuite, nous affectons les quatre nœuds serveur à leurs sites respectifs. Dans l’exemple suivant, Server1 et Server2 sont affectés à Site1, tandis que Server3 et Server4 sont affectés à Site2.
Set-ClusterFaultDomain -CimSession $ClusterName -Name "Server1", "Server2" -Parent "Site1"
Set-ClusterFaultDomain -CimSession $ClusterName -Name "Server3", "Server4" -Parent "Site2"
À l’aide de l’applet Get-ClusterFaultDomain de commande, vérifiez que les nœuds se trouvent dans les sites appropriés.
Get-ClusterFaultDomain -CimSession $ClusterName
Étape 5.3 : Définir un site préféré
Vous pouvez également définir un site global préféré , ce qui signifie que les ressources et les groupes spécifiés doivent s’exécuter sur le site préféré. Ce paramètre peut être défini au niveau du site à l’aide de la commande suivante :
(Get-Cluster).PreferredSite = "Site1"
La spécification d’un site préféré pour les clusters étendus présente les avantages suivants :
Démarrage à froid - lors d’un démarrage à froid, les machines virtuelles sont placées sur le site privilégié
Vote de quorum
Avec un quorum dynamique, la pondération est réduite d’abord du site passif (répliqué) pour s’assurer que le site préféré survive si toutes les autres choses sont égales. En outre, les nœuds de serveur sont supprimés du site passif en premier lors du regroupement après des événements tels que des échecs de connectivité réseau asymétrique.
En cas de scission de quorum entre deux sites, si le témoin du cluster est inaccessible, le site préféré est automatiquement élu comme site gagnant. Les nœuds serveur du site passif quittent alors le cluster, permettant ainsi au cluster de résister à une perte simultanée de 50 % des votes.
Le site préféré peut également être configuré au niveau du rôle de cluster ou du groupe. Dans ce cas, un autre site préféré peut être configuré pour chaque groupe de machines virtuelles, ce qui permet à un site d’être actif et préféré pour des machines virtuelles spécifiques.
Étape 5.4 : Configurer Stretch Clustering avec Network ATC
Après la version 22H2, vous pouvez utiliser Network ATC pour configurer stretch clustering. Network ATC ajoute Stretch en tant que type d’intention à partir de la version 22H2. Pour déployer une intention avec stretch clustering avec Network ATC, exécutez la commande suivante :
Add-NetIntent -Name StretchIntent -Stretch -AdapterName "pNIC01", "pNIC02"
Une intention d’extension peut également être combinée avec d’autres intentions lors d’un déploiement avec Network ATC.
SiteOverrides
En vous basant sur les étapes 5.1 à 5.3, vous pouvez ajouter les sites que vous avez créés au préalable à votre stratégie d’extension déployée avec Network ATC. Network ATC gère cela à l’aide de SiteOverrides. Pour créer un SiteOverride, exécutez :
$siteOverride = New-NetIntentSiteOverrides
Une fois votre siteOverride créé, vous pouvez définir n’importe quelle propriété pour siteOverride. Assurez-vous que la propriété name du siteOverride porte exactement le même nom que le nom de votre site dans clusterFaultDomain. Une différence entre les noms de ClusterFaultDomain et de siteOverride empêche l’application de siteOverride.
Les propriétés que vous pouvez définir pour un siteOverride spécifique sont les suivantes : Name, StorageVlan et StretchVlan. Par exemple, vous créez 2 sitesOverrides pour vos deux sites - site1 et site2 à l’aide de :
$siteOverride1 = New-NetIntentSiteOverrides
$siteoverride1.Name = "site1"
$siteOverride1.StorageVLAN = 711
$siteOverride1.StretchVLAN = 25
$siteOverride2 = New-NetIntentSiteOverrides
$siteOverride2.Name = "site2"
$siteOverride2.StorageVLAN = 712
$siteOverride2.StretchVLAN = 26
Vous pouvez exécuter $siteOverride1, $siteOverride2 dans votre fenêtre PowerShell pour vous assurer que toutes vos propriétés sont définies de la manière souhaitée.
Enfin, pour ajouter un ou plusieurs siteOverrides à votre intention, exécutez :
Add-NetIntent -Name StretchIntent -Stretch -AdapterName "pNIC01" , "pNIC02" -SiteOverrides $siteOverride1, $siteOverride2
Étape 6 : Activer espaces de stockage direct
Après avoir créé le cluster, utilisez l’applet Enable-ClusterStorageSpacesDirect de commande, qui active espaces de stockage direct et effectuez automatiquement les opérations suivantes :
Créez un pool de stockage : Crée un pool de stockage pour le cluster qui a un nom tel que « Pool de stockage Cluster1 ».
Créez un disque d’historique des performances du cluster : Crée un disque virtuel d’historique des performances du cluster dans le pool de stockage.
Créez des volumes de données et de journaux : Crée un volume de données et un volume de journaux dans le pool de stockage.
Configurez les caches de espaces de stockage direct : S'il existe plusieurs types de supports de stockage (lecteurs) disponibles pour espaces de stockage direct, celui-ci utilise le type le plus rapide comme périphérique de cache, pour la lecture et l’écriture dans la plupart des cas.
Créer des niveaux : Crée deux niveaux en tant que niveaux par défaut. Un est appelé « Capacité » et l’autre « Performances ». L’applet de commande analyse les périphériques et configure chaque niveau avec la combinaison des types de périphériques et de la résilience.
Pour le scénario de serveur unique, le seul FaultDomainAwarenessDefault est PhysicalDisk.
Enable-ClusterStorageSpacesDirect l’applet de commande détecte un seul serveur et configure automatiquement FaultDomainAwarenessDefault en tant que PhysicalDisk pendant l’activation.
Pour les clusters étendus, la cmdlet Enable-ClusterStorageSpacesDirect effectue également :
- Vérifier si les sites sont configurés
- Déterminer dans quels sites se trouvent les nœuds
- Détermine le stockage disponible pour chaque nœud
- Vérifie si la fonctionnalité réplica de stockage est installée sur chaque nœud
- Crée un pool de stockage pour chaque site et l’identifie avec le nom du site
- Crée des volumes de données et de journal dans chaque pool de stockage : un par site
La commande suivante active espaces de stockage direct sur un cluster à plusieurs nœuds. Vous pouvez également spécifier un nom convivial pour un pool de stockage, comme indiqué ici :
Enable-ClusterStorageSpacesDirect -PoolFriendlyName "$ClusterName Storage Pool" -CimSession $ClusterName
Voici un exemple de désactivation du cache de stockage sur un cluster à nœud unique :
Enable-ClusterStorageSpacesDirect -CacheState Disabled
Pour afficher les pools de stockage, utilisez la commande suivante :
Get-StoragePool -CimSession $ClusterName
Après avoir créé le cluster
Maintenant que votre cluster est créé, vous devez effectuer d’autres tâches importantes :
- Configurez un témoin de cluster si vous utilisez un cluster à deux nœuds ou plus. Consultez Configurer un témoin de cluster.
- Créez vos volumes. Consultez Créer des volumes. Lorsque vous créez des volumes sur un cluster à nœud unique, vous devez utiliser PowerShell. Consultez Créer des volumes à l’aide de PowerShell.
- Pour les clusters étendus, créez des volumes et configurez la réplication à l’aide de Storage Replica. Consultez Créer des volumes et configurer la réplication pour les clusters étendus.
Étapes suivantes
- Inscrivez votre cluster avec Azure. Consultez Connecter Azure Stack HCI à Azure.
- Effectuez une validation finale du cluster. Consultez Valider un cluster HCI Azure Stack
- Gérer la mise en réseau de l’hôte. Consultez Gérer la mise en réseau des hôtes à l’aide de Network ATC.