Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: Azure Stack HCI, versión 22H2
Important
Azure Stack HCI ahora forma parte de Azure Local. Sin embargo, las versiones anteriores de Azure Stack HCI, por ejemplo 22H2 seguirán haciendo referencia a Azure Stack HCI y no reflejarán el cambio de nombre. Obtenga más información.
Warning
Las instrucciones de implementación proporcionadas en este artículo se aplican a una versión anterior, Azure Stack HCI, versión 22H2. Para las nuevas implementaciones, se recomienda usar la versión más reciente disponible con carácter general de Azure Local, consulte Acerca de la implementación de Azure Local.
En este artículo, aprenderá a usar Windows PowerShell para crear un clúster hiperconvergido de HCI Azure Stack que usa Espacios de almacenamiento directo. Si prefiere usar el Asistente para la creación de clústeres en Windows Admin Center para crear el clúster, consulte Creación del clúster con Windows Admin Center.
Note
Si va a realizar una instalación de servidor único de Azure Stack HCI 21H2, use PowerShell para crear el clúster.
Tiene una opción entre dos tipos de clúster:
- Clúster estándar con uno o dos nodos de servidor, todos residiendo en un único sitio.
- Clúster extendido con al menos cuatro nodos de servidor que abarcan dos sitios, con dos nodos por sitio.
Para el escenario de servidor único, complete las mismas instrucciones para el servidor único.
Note
Los clústeres stretch no se admiten en una sola configuración de servidor.
En este artículo, se crea un clúster de ejemplo denominado Cluster1 compuesto por cuatro nodos de servidor denominados Server1, Server2, Server3 y Server4.
En el escenario de clúster extendido, usamos ClusterS1 como nombre y usamos los mismos cuatro nodos de servidor extendidos entre sitios Site1 y Site2.
Para más información sobre los clústeres extendidos, consulte Información general sobre los clústeres extendidos.
Antes de empezar
Antes de empezar, asegúrese de que:
- Lea y comprenda los requisitos del sistema de Azure Stack HCI.
- Lea y comprenda los requisitos de red física y los requisitos de red de host para Azure Stack HCI.
- Instale el sistema operativo Azure Stack HCI en cada servidor del clúster. Consulte Implementación del sistema operativo Azure Stack HCI.
- Asegúrese de que todos los servidores están en la zona horaria correcta.
- Tener una cuenta que sea miembro del grupo administradores local en cada servidor.
- Tener derechos en Active Directory para crear objetos.
- En el caso de los clústeres extendidos, configure los dos sitios de antemano en Active Directory.
Uso de Windows PowerShell
Puede ejecutar PowerShell localmente en una sesión de RDP en un servidor host o ejecutar PowerShell de forma remota desde un equipo de administración. En este artículo se describe la opción remota.
Al ejecutar PowerShell desde un equipo de administración, incluya el -Name parámetro o -Cluster con el nombre del servidor o clúster que administra. Además, es posible que tenga que especificar el nombre de dominio completo (FQDN) al usar el -ComputerName parámetro para un nodo de servidor.
Necesita los cmdlets de las Herramientas de administración remota del servidor (RSAT) y los módulos de PowerShell para Hyper-V y los clústeres de conmutación por error. Si los cmdlets y módulos aún no están disponibles en la sesión de PowerShell en el equipo de administración, puede agregarlos mediante el siguiente comando: Add-WindowsFeature RSAT-Clustering-PowerShell.
Paso 1: Configurar los servidores
En primer lugar, conéctese a cada uno de los servidores, únase a un dominio (el mismo dominio en el que se encuentra el equipo de administración) e instale los roles y características necesarios.
Paso 1.1: Conexión a los servidores
Para conectarse a los servidores, primero debe tener conectividad de red, unirse al mismo dominio o a un dominio de plena confianza y tener permisos administrativos locales para los servidores.
Abra PowerShell y use el nombre de dominio completo o la dirección IP del servidor al que desea conectarse. Se le pedirá una contraseña después de ejecutar el siguiente comando en cada servidor.
En este ejemplo, se supone que los servidores se denominan Server1, Server2, Server3 y Server4:
Enter-PSSession -ComputerName "Server1" -Credential "Server1\Administrator"
Este es otro ejemplo de hacer lo mismo:
$myServer1 = "Server1"
$user = "$myServer1\Administrator"
Enter-PSSession -ComputerName $myServer1 -Credential $user
Tip
Al ejecutar comandos de PowerShell desde el equipo de administración, es posible que reciba un error como WinRM no puede procesar la solicitud. Para corregirlo, use PowerShell para agregar cada servidor a la lista Hosts de confianza en el equipo de administración. Esta lista admite caracteres comodín, como Server* por ejemplo.
Set-Item WSMAN:\Localhost\Client\TrustedHosts -Value Server1 -Force
Para ver la lista de hosts de confianza, escriba Get-Item WSMAN:\Localhost\Client\TrustedHosts.
Para vaciar la lista, escriba Clear-Item WSMAN:\Localhost\Client\TrustedHost.
Paso 1.2: Unirse al dominio y agregar cuentas de dominio
En el paso anterior, se conectó a cada nodo de servidor con la cuenta de administrador local <ServerName>\Administrator.
Para continuar, debe unir los servidores a un dominio y usar la cuenta de dominio que se encuentra en el grupo administradores local en cada servidor.
Use el Enter-PSSession cmdlet para conectarse a cada servidor y ejecutar el siguiente cmdlet, sustituyendo el nombre del servidor, el nombre de dominio y las credenciales de dominio:
Add-Computer -NewName "Server1" -DomainName "contoso.com" -Credential "Contoso\User" -Restart -Force
Si la cuenta de administrador no es miembro del grupo Administradores de dominio, agregue la cuenta de administrador al grupo Administradores local en cada servidor o, mejor aún, agregue el grupo que usa para los administradores. Puede usar el siguiente comando para hacerlo:
Add-LocalGroupMember -Group "Administrators" -Member "king@contoso.local"
Paso 1.3: Instalación de roles y características
El siguiente paso consiste en instalar los roles y características necesarios Windows en cada servidor del clúster. Estos son los roles a instalar:
- BitLocker
- Data Center Bridging
- Clústeres de conmutación por error
- Servidor de archivos
- Módulo FS-Data-Deduplication
- Hyper-V
- Hyper-V PowerShell
- Módulo de RSAT-Clustering-PowerShell
- Módulo RSAT-AD-PowerShell
- NetworkATC
- Límite de ancho de banda SMB
- Réplica de almacenamiento (para clústeres extendidos)
Use el siguiente comando para cada servidor (si está conectado a través de Escritorio remoto omitir el -ComputerName parámetro aquí y en comandos posteriores):
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
Para ejecutar el comando en todos los servidores del clúster al mismo tiempo, use el siguiente script, modificando la lista de variables al principio para ajustarse al entorno:
# 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
}
A continuación, reinicie todos los servidores:
$ServerList = "Server1", "Server2", "Server3", "Server4"
Restart-Computer -ComputerName $ServerList -WSManAuthentication Kerberos
Paso 2: Preparación para la configuración del clúster
A continuación, compruebe que los servidores están listos para la agrupación en clústeres.
Como comprobación de integridad, considere la posibilidad de ejecutar los siguientes comandos para asegurarse de que los servidores aún no pertenecen a un clúster:
Use Get-ClusterNode para mostrar todos los nodos:
Get-ClusterNode
Use Get-ClusterResource para mostrar todos los nodos de clúster:
Get-ClusterResource
Use Get-ClusterNetwork para mostrar todas las redes de clúster:
Get-ClusterNetwork
Paso 2.1: Preparar unidades
Antes de habilitar Espacios de almacenamiento directo, asegúrese de que las unidades permanentes estén vacías. Ejecute el siguiente script para quitar las particiones antiguas y otros datos.
Note
Excluya del script las unidades extraíbles conectadas a un nodo de servidor. Si ejecuta este script localmente desde un nodo de servidor, por ejemplo, no desea borrar la unidad extraíble que podría usar para implementar el clúster.
# 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
Paso 2.2: Prueba de la configuración del clúster
En este paso, asegúrese de que los nodos de servidor están configurados correctamente para crear un clúster. El Test-Cluster cmdlet se usa para ejecutar pruebas para comprobar que la configuración es adecuada para funcionar como un clúster hiperconvergido. En el ejemplo siguiente se usa el -Include parámetro , con las categorías específicas de pruebas especificadas para asegurarse de que las pruebas correctas se incluyen en la validación.
Test-Cluster -Node $ServerList -Include "Storage Spaces Direct", "Inventory", "Network", "System Configuration"
Paso 3: Creación del clúster
Ya está listo para crear un clúster con los nodos de servidor que validó en los pasos anteriores.
Al crear el clúster, es posible que reciba una advertencia que indica "There were issues while creating the clustered role that may prevent it from starting. For more information, view the report file below." : puede omitir esta advertencia de forma segura. Esta advertencia se debe a que no hay discos disponibles para el testigo del clúster. El testigo de clúster se crea en pasos posteriores.
Note
Si los servidores usan direcciones IP estáticas, modifique el comando siguiente para reflejar la dirección IP estática agregando el parámetro siguiente y especificando la dirección IP: -StaticAddress <X.X.X.X>;.
$ClusterName="cluster1"
New-Cluster -Name $ClusterName –Node $ServerList –nostorage
Una vez creado el clúster, el nombre del clúster puede tardar algún tiempo en replicarse a través de DNS en el dominio, especialmente si los servidores de grupo de trabajo se agregan recientemente a Active Directory. Aunque el clúster puede mostrarse en Windows Admin Center, es posible que aún no esté disponible para conectarse.
Una buena comprobación para asegurarse de que todos los recursos del clúster están en línea:
Get-Cluster -Name $ClusterName | Get-ClusterResource
Si el clúster no se resuelve correctamente tras un tiempo, en la mayoría de los casos puede conectarse usando el nombre de uno de los servidores del clúster en lugar del nombre del clúster.
Paso 4: Configuración de redes de host
Microsoft recomienda usar Network ATC para implementar redes de host si ejecuta Azure Stack HCI versión 21H2 o posterior. De lo contrario, consulte Requisitos de red de host para obtener información y requisitos específicos.
Network ATC puede automatizar la implementación de la configuración de red prevista si especifica uno o varios tipos de intención para los adaptadores. Para obtener más información sobre los tipos de intención específicos, consulte: Tipos de tráfico de red.
Paso 4.1: Revisión de adaptadores físicos
En uno de los nodos del clúster, ejecute Get-NetAdapter para revisar los adaptadores físicos. Asegúrese de que cada nodo del clúster tenga adaptadores físicos con el mismo nombre y que muestren el estado como "activo".
Get-NetAdapter -Name pNIC01, pNIC02 -CimSession $ClusterName | Select Name, PSComputerName
Si un nombre de adaptador físico varía entre los nodos del clúster, puede cambiarle el nombre mediante Rename-NetAdapter.
Rename-NetAdapter -Name oldName -NewName newName
Paso 4.2: Configurar una intención
En este ejemplo, se crea una intención que especifica la intención de proceso y almacenamiento. Consulte Simplificación de las redes de host con Network ATC para obtener más ejemplos de intenciones.
Ejecute el siguiente comando para agregar los tipos de intención de almacenamiento y proceso a pNIC01 y pNIC02. Tenga en cuenta que especificamos el -ClusterName parámetro .
Add-NetIntent -Name Cluster_ComputeStorage -Compute -Storage -ClusterName $ClusterName -AdapterName pNIC01, pNIC02
El comando debería retornar inmediatamente tras una comprobación inicial.
Paso 4.3: Validación de la implementación de intenciones
Ejecute el Get-NetIntent cmdlet para ver la intención del clúster. Si tiene más de una intención, puede especificar el Name parámetro para ver solo los detalles de una intención específica.
Get-NetIntent -ClusterName $ClusterName
Para ver el estado de aprovisionamiento de la intención, ejecute el Get-NetIntentStatus comando :
Get-NetIntentStatus -ClusterName $ClusterName -Name Cluster_ComputeStorage
Tenga en cuenta el parámetro de estado que muestra: Aprovisionando, Validando, Correcto, Error.
El estado debería mostrarse como correcto en unos minutos. Si no aparece el estado de éxito o ve un error en el parámetro de estado, compruebe si hay problemas en el Visor de eventos.
Note
En este momento, Network ATC no configura direcciones IP para ninguno de sus adaptadores administrados. Una vez que Get-NetIntentStatus muestre el estado «Completado», debe añadir direcciones IP a los adaptadores.
Paso 5: Configurar sitios (clúster extendido)
Esta tarea solo se aplica si va a crear un clúster extendido entre dos sitios con al menos dos servidores en cada sitio.
Note
Si ha configurado Active Directory sitios y servicios de antemano, no es necesario crear los sitios manualmente, como se describe en la sección siguiente.
Paso 5.1: Crear sitios
En el siguiente cmdlet, FaultDomain es simplemente otro nombre para un sitio. En este ejemplo se usa "ClusterS1" como nombre del clúster extendido.
New-ClusterFaultDomain -CimSession $ClusterName -FaultDomainType Site -Name "Site1"
New-ClusterFaultDomain -CimSession $ClusterName -FaultDomainType Site -Name "Site2"
Use el cmdlet Get-ClusterFaultDomain para comprobar que ambos sitios se han creado para el clúster.
Get-ClusterFaultDomain -CimSession $ClusterName
Paso 5.2: Asignación de nodos de servidor
A continuación, asignamos los cuatro nodos de servidor a sus respectivos sitios. En el ejemplo siguiente, Server1 y Server2 se asignan a Site1, mientras que Server3 y Server4 se asignan a Site2.
Set-ClusterFaultDomain -CimSession $ClusterName -Name "Server1", "Server2" -Parent "Site1"
Set-ClusterFaultDomain -CimSession $ClusterName -Name "Server3", "Server4" -Parent "Site2"
Con el Get-ClusterFaultDomain cmdlet , compruebe que los nodos están en los sitios correctos.
Get-ClusterFaultDomain -CimSession $ClusterName
Paso 5.3: Establecer un sitio preferido
También puede definir un sitio preferido global, lo que significa que los recursos y grupos especificados deben ejecutarse en el sitio preferido. Esta configuración se puede definir en el nivel de sitio mediante el siguiente comando:
(Get-Cluster).PreferredSite = "Site1"
La especificación de un sitio preferido para clústeres extendidos tiene las siguientes ventajas:
Arranque en frío: durante un arranque en frío, las máquinas virtuales se colocan en el sitio preferido.
Votación por quórum
Con un cuórum dinámico, la ponderación se reduce del sitio pasivo (replicado) primero para asegurarse de que el sitio preferido sobrevive si todas las demás cosas son iguales. Además, los nodos de servidor se eliminan primero del sitio pasivo durante la reagrupación después de eventos como errores de conectividad de red asimétrica.
Durante una división de cuórum de dos sitios, si no se puede establecer contacto con el testigo del clúster, el sitio preferido se elige automáticamente para ganar. A continuación, los nodos de servidor del sitio pasivo abandonan la pertenencia al clúster, lo que permite al clúster sobrevivir a una pérdida simultánea de 50% de votos.
El sitio preferido también se puede configurar a nivel de rol del clúster o de grupo. En este caso, se puede configurar un sitio preferido diferente para cada grupo de máquinas virtuales, lo que permite que un sitio esté activo y preferido para máquinas virtuales específicas.
Paso 5.4: Configurar el clúster extendido con Network ATC
Después de la versión 22H2, puede usar Network ATC para configurar la agrupación en clústeres stretch. Network ATC añade Stretch como tipo de intención a partir de la versión 22H2. Para implementar una intención con clúster extendido mediante Network ATC, ejecute el siguiente comando:
Add-NetIntent -Name StretchIntent -Stretch -AdapterName "pNIC01", "pNIC02"
Una intención de extensión también se puede combinar con otras intenciones cuando se implementa con Network ATC.
SiteOverrides
Basándose en los pasos 5.1-5.3, puede agregar los sitios creados previamente a su stretch intent desplegado con Network ATC. Network ATC controla esto mediante SiteOverrides. Para crear un SiteOverride, ejecute:
$siteOverride = New-NetIntentSiteOverrides
Una vez creado el siteOverride, puede establecer cualquier propiedad del siteOverride. Asegúrese de que la propiedad name del siteOverride tiene exactamente el mismo nombre, que el nombre que tiene el sitio en ClusterFaultDomain. Una falta de coincidencia de nombres entre ClusterFaultDomain y siteOverride da como resultado que no se aplique siteOverride.
Las propiedades que puede establecer para un siteOverride determinado son: Name, StorageVlan y StretchVlan. Por ejemplo, creará 2 siteOverrides para los dos sitios: site1 y site2 mediante:
$siteOverride1 = New-NetIntentSiteOverrides
$siteoverride1.Name = "site1"
$siteOverride1.StorageVLAN = 711
$siteOverride1.StretchVLAN = 25
$siteOverride2 = New-NetIntentSiteOverrides
$siteOverride2.Name = "site2"
$siteOverride2.StorageVLAN = 712
$siteOverride2.StretchVLAN = 26
Puede ejecutar $siteOverride1, $siteOverride2 en la ventana de PowerShell para asegurarse de que todas las propiedades están establecidas de la manera deseada.
Por último, para añadir uno o varios siteOverrides a la intención, ejecute:
Add-NetIntent -Name StretchIntent -Stretch -AdapterName "pNIC01" , "pNIC02" -SiteOverrides $siteOverride1, $siteOverride2
Paso 6: Habilitar Espacios de almacenamiento directo
Después de crear el clúster, use el Enable-ClusterStorageSpacesDirect cmdlet , que habilitará Espacios de almacenamiento directo y hará lo siguiente automáticamente:
Cree un grupo de almacenamiento: Crea un grupo de almacenamiento para el clúster que tiene un nombre como "Cluster1 Storage Pool".
Cree un disco del historial de rendimiento del clúster: Crea un disco virtual del historial de rendimiento del clúster en el bloque de almacenamiento.
Cree volúmenes de datos y de registro: Crea un volumen de datos y un volumen de registro en el bloque de almacenamiento.
Configurar la caché de Espacios de almacenamiento directo: Si hay más de un tipo de medio (unidad) disponible para Espacios de almacenamiento directo, utiliza el tipo más rápido como dispositivos de caché (para lectura y escritura en la mayoría de los casos).
Crear niveles: Crea dos niveles como niveles predeterminados. Uno se denomina "Capacity" y, el otro, "Performance". El cmdlet analiza los dispositivos y configura cada nivel con la combinación de tipos de dispositivo y resistencia.
Para el escenario de servidor único, el único FaultDomainAwarenessDefault es PhysicalDisk.
Enable-ClusterStorageSpacesDirect cmdlet detecta un único servidor y configura automáticamente FaultDomainAwarenessDefault como physicalDisk durante la habilitación.
En el caso de los clústeres extendidos, el Enable-ClusterStorageSpacesDirect cmdlet también hará lo siguiente:
- Comprobar si los sitios están configurados
- Determinar qué nodos están en qué sitios
- Determina qué almacenamiento tiene cada nodo disponible
- Comprueba si la característica Réplica de almacenamiento está instalada en cada nodo.
- Crea un grupo de almacenamiento para cada sitio e lo identifica con el nombre del sitio.
- Crea volúmenes de datos y de registro en cada grupo de almacenamiento: uno por sitio
El comando siguiente habilita Espacios de almacenamiento directo en un clúster de varios nodos. También puede especificar un nombre descriptivo para un grupo de almacenamiento, como se muestra aquí:
Enable-ClusterStorageSpacesDirect -PoolFriendlyName "$ClusterName Storage Pool" -CimSession $ClusterName
Este es un ejemplo de deshabilitación de la caché de almacenamiento en un clúster de un solo nodo:
Enable-ClusterStorageSpacesDirect -CacheState Disabled
Para ver los grupos de almacenamiento, use el siguiente comando:
Get-StoragePool -CimSession $ClusterName
Después de crear el clúster
Ahora que se crea el clúster, hay otras tareas importantes que debe completar:
- Configure un testigo de clúster si usa un clúster de dos nodos o más grandes. Consulte Configurar un testigo de clúster.
- Crear volúmenes. Consulte Creación de volúmenes. Al crear volúmenes en un clúster de un solo nodo, debe usar PowerShell. Consulte Creación de volúmenes mediante PowerShell.
- En el caso de los clústeres extendidos, cree volúmenes y configure la replicación mediante réplica de almacenamiento. Consulte Creación de volúmenes y configuración de la replicación para clústeres extendidos.
Pasos siguientes
- Registre el clúster con Azure. Consulte Conexión de Azure Stack HCI a Azure.
- Realice una validación final del clúster. Consulte Validación de un clúster de Azure Stack HCI.
- Administrar redes de host. Consulte Administración de redes de host mediante Network ATC.