Compartir a través de


Replicación de almacenamiento entre clústeres

Réplica de almacenamiento puede replicar volúmenes entre clústeres, incluida la replicación de clústeres mediante Espacios de almacenamiento directo. La administración y la configuración es similar a la replicación de servidor a servidor.

Configurará estos equipos y almacenamiento en una configuración de clúster a clúster, donde un clúster replica su propio conjunto de almacenamiento con otro clúster y su conjunto de almacenamiento. Estos nodos y su almacenamiento deben encontrarse en sitios físicos independientes, aunque no es necesario.

Important

En esta prueba, los cuatro servidores son un ejemplo. Puede usar cualquier número de servidores compatibles con Microsoft en cada clúster, que actualmente es 8 para un clúster de Espacios de almacenamiento directo y 64 para un clúster de almacenamiento compartido.

En esta guía no se trata la configuración de Espacios de almacenamiento directo. Para obtener información sobre cómo configurar Espacios de almacenamiento directo, vea Introducción a Espacios de almacenamiento directo.

En este tutorial se utiliza como ejemplo el siguiente entorno:

  • Two member servers, named SR-SRV01 and SR-SRV02 that are later formed into a cluster named SR-SRVCLUSA.

  • Two member servers named SR-SRV03 and SR-SRV04 that are later formed into a cluster named SR-SRVCLUSB.

  • A pair of logical "sites" that represent two different data centers, with one called Redmond and one called Bellevue.

Diagrama que muestra un entorno de ejemplo con un clúster en el sitio de Redmond que se replica con un clúster en el sitio de Bellevue

FIGURA 1: Replicación de clúster a clúster

Prerequisites

  • Bosque de Active Directory Domain Services (no es necesario ejecutar Windows Server 2016).
  • 4-128 servidores (dos clústeres de 2-64 servidores) que ejecutan Windows Server 2019 o Windows Server 2016, Datacenter Edition. Si está ejecutando Windows Server 2019, puede optar por usar Standard Edition si acepta replicar únicamente un volumen de hasta 2 TB de tamaño.
  • Dos conjuntos de almacenamiento, usando JBOD de SAS, SAN de canal de fibra, VHDX compartido, Espacios de almacenamiento directo o destino iSCSI. El almacenamiento debe contener una combinación de medios de disco duro (HDD) y unidades de estado sólido (SSD). Hará que cada conjunto de almacenamiento esté disponible solo para cada uno de los clústeres, sin acceso compartido entre clústeres.
  • Cada conjunto de almacenamiento debe permitir la creación de al menos dos discos virtuales, uno para datos replicados y otro para registros. El almacenamiento físico debe tener los mismos tamaños de sector en todos los discos de datos. El almacenamiento físico debe tener los mismos tamaños de sector en todos los discos de registro.
  • Al menos una conexión de Ethernet/TCP en cada servidor para replicación sincrónica, pero preferiblemente RDMA.
  • Reglas de firewall y enrutador correspondientes para permitir tráfico bidireccional ICMP, SMB (puerto 445, más 5445 para SMB directo) y WS-MAN (puerto 5985) entre todos los nodos.
  • Una red entre servidores con ancho de banda suficiente para contener la carga de trabajo de escritura de entrada/salida y un promedio de 5 ms de latencia de ida y vuelta para la replicación sincrónica. La replicación asíncrona no tiene una recomendación de latencia.
  • El almacenamiento replicado no se puede encontrar en la unidad que contiene la carpeta del sistema operativo Windows.
  • Existen consideraciones y limitaciones importantes para la replicación directa de Espacios de almacenamiento.

Muchos de estos requisitos se pueden determinar mediante el cmdlet Test-SRTopology. Puede acceder a esta herramienta si instala réplica de almacenamiento o las características herramientas de administración de réplicas de almacenamiento en al menos un servidor. No es necesario configurar Storage Replica para usar esta herramienta, solo instalar el cmdlet. Se incluye más información en los pasos siguientes.

Paso 1: Aprovisionamiento de sistema operativo, características, roles, almacenamiento y red

  1. Install Windows Server on all four server nodes with an installation type of Windows Server (Desktop Experience).

  2. Agregue información de red y una los nodos al dominio; a continuación, reinícielos.

    Important

    Desde este punto, inicie sesión siempre como un usuario de dominio que sea miembro del grupo de administradores integrado en todos los servidores. Recuerde siempre elevar los mensajes de Windows PowerShell y CMD en el futuro al ejecutarse en una instalación de servidor gráfico o en un equipo con Windows 10.

  3. Connect first set of JBOD storage enclosure, iSCSI target, FC SAN, or local fixed disk (DAS) storage to the server in site Redmond.

  4. Connect second set of storage to the server in site Bellevue.

  5. Según corresponda, instale el firmware y los controladores más recientes de almacenamiento y alojamiento de proveedores, los controladores HBA más recientes de los proveedores, el firmware UEFI y BIOS más reciente de los proveedores, los controladores de red más recientes de los proveedores y los controladores más recientes de conjunto de chips de placa base en los cuatro nodos. Reinicie los nodos según sea necesario.

    Note

    Consulte la documentación del proveedor de hardware para configurar el almacenamiento compartido y el hardware de red.

  6. Asegúrese de que la configuración de BIOS o UEFI para los servidores permite un alto rendimiento; por ejemplo, deshabilite el estado C, establezca la velocidad de QPI, habilite NUMA y configure la frecuencia de la memoria en el valor más elevado. Asegúrese de que la administración de energía en Windows Server se establezca en alto rendimiento. Reinicie si es necesario.

  7. Configure los roles de la manera siguiente:

    • Graphical method

      1. Run ServerManager.exe and create a server group, adding all server nodes.

      2. Install the File Server and Storage Replica roles and features on each of the nodes and restart them.

    • Método de Windows PowerShell

      En SR-SRV04 o un equipo de administración remota, ejecute el siguiente comando en una consola de Windows PowerShell para instalar las características y los roles necesarios para un clúster extendido en los cuatro nodos y reinícielos.

      $Servers = 'SR-SRV01','SR-SRV02','SR-SRV03','SR-SRV04'
      
      $Servers | ForEach { Install-WindowsFeature -ComputerName $_ -Name Storage-Replica,Failover-Clustering,FS-FileServer -IncludeManagementTools -restart }
      

      Para más información sobre estos pasos, consulte Instalación o desinstalación de roles, servicios de rol o características.

  8. Configure el almacenamiento como sigue:

    Important

    • Debe crear dos volúmenes en cada contenedor: uno para datos y otro para registros.
    • Log and data disks must be initialized as GPT, not MBR.
    • Los dos volúmenes de datos deben tener un tamaño idéntico.
    • Los dos volúmenes de registros deben tener un tamaño idéntico.
    • Todos los discos de datos replicados deben tener los mismos tamaños de sector.
    • Todos los discos de registro deben tener los mismos tamaños de sector.
    • Los volúmenes de registro deben usar almacenamiento basado en flash, como SSD. Microsoft recomienda que el almacenamiento de registros sea más rápido que el almacenamiento de datos. Los volúmenes de registro nunca se deben usar para otras cargas de trabajo.
    • Los discos de datos pueden usar HDD, SSD o una combinación en niveles, y pueden usar espacios reflejados o de paridad, o RAID 1 o 10, o RAID 5 o RAID 50.
    • El tamaño del registro tiene como valor predeterminado 8 GB si no se especifica. El volumen de registro debe tener al menos 10 GB o más en función de los requisitos de registro y las necesidades de la organización.
    • Al usar Espacios de almacenamiento directo (Espacios de almacenamiento directo) con una memoria caché NVME o SSD, verá un aumento mayor de lo esperado en la latencia al configurar la replicación de réplica de almacenamiento entre clústeres de Espacios de almacenamiento directo. El cambio de latencia es proporcionalmente mucho mayor que el que se ve cuando se usa NVME y SSD en una configuración de rendimiento y capacidad y no hay ningún nivel de HDD ni nivel de capacidad.

    Este problema se produce debido a limitaciones arquitectónicas en el mecanismo de registro de SR, combinado con la latencia extremadamente baja de NVME en comparación con medios más lentos. Cuando se usa la memoria caché directa de Espacios de almacenamiento directo, todas las E/S de registros SR, junto con todas las E/S de lectura y escritura recientes de las aplicaciones, se producen en la memoria caché y nunca en los niveles de rendimiento o capacidad. Esto significa que toda la actividad de SR se produce en el mismo medio de velocidad: esta configuración no se admite (consulte https://aka.ms/srfaq para obtener recomendaciones de registro).

    Al usar Espacios de almacenamiento directo con discos DUROS, no se puede deshabilitar ni evitar la memoria caché. Como solución alternativa, si usa solo SSD y NVME, puede configurar solo los niveles de rendimiento y capacidad. Si usa esa configuración y coloca los registros de SR en el nivel de rendimiento solo con los volúmenes de datos que servicio en el nivel de capacidad, evitará el problema de latencia alta descrito anteriormente. Lo mismo podría hacerse con una combinación de SSD más rápidos y más lentos y sin NVME.

    Esta solución alternativa no es ideal y es posible que algunos clientes no puedan usarlo. El equipo SR está trabajando en optimizaciones y en un mecanismo de registro actualizado con el objetivo de reducir estos cuellos de botella artificiales en el futuro.

  • Para contenedores JBOD:
  1. Asegúrese de que cada clúster pueda ver solo contenedores de almacenamiento de ese sitio y que las conexiones de SAS estén configuradas correctamente.

  2. Provision the storage using Storage Spaces by following Steps 1-3 provided in the Deploy Storage Spaces on a Stand-Alone Server using Windows PowerShell or Server Manager.

  • Para almacenamiento de destino iSCSI:
  1. Asegúrese de que cada clúster pueda ver solo los contenedores de almacenamiento de ese sitio. Debe usar más de un único adaptador de red si utiliza iSCSI.

  2. Aprovisione el almacenamiento mediante la documentación del proveedor. Si usa destinos iSCSI basados en Windows, consulte Procedimientos de almacenamiento de bloque de destino iSCSI.

  • Para el almacenamiento SAN de FC:
  1. Asegúrese de que cada clúster pueda ver solo los gabinetes de almacenamiento de ese sitio y que haya configurado correctamente la zonificación de los hosts.

  2. Aprovisione el almacenamiento mediante la documentación del proveedor.

  • Para Espacios de almacenamiento directo:
  1. Asegúrese de que cada clúster puede consultar solo los contenedores de almacenamiento de ese sitio mediante la implementación de Espacios de almacenamiento directo.

  2. Asegúrese de que los volúmenes de registro de SR siempre estén en el almacenamiento flash más rápido y que los volúmenes de datos estén en un almacenamiento de alta capacidad pero más lento.

  3. Inicie Windows PowerShell y use el cmdlet Test-SRTopology para determinar si se cumplen todos los requisitos de Réplica de almacenamiento. Puede usar el cmdlet en modo de solo requisitos para una prueba rápida y un modo de evaluación de rendimiento de larga duración. For example,

    MD c:\temp
    
    Test-SRTopology -SourceComputerName SR-SRV01 -SourceVolumeName f: -SourceLogVolumeName g: -DestinationComputerName SR-SRV03 -DestinationVolumeName f: -DestinationLogVolumeName g: -DurationInMinutes 30 -ResultPath c:\temp
    

    Important

    Al usar un servidor de prueba sin carga de E/S de escritura en el volumen de origen especificado durante el período de evaluación, considere la posibilidad de agregar una carga de trabajo o no generará un informe útil. Debe probar con cargas de trabajo similares a producción para ver números reales y tamaños de registro recomendados. Alternatively, copy some files into the source volume during the test or download and run DISKSPD to generate write IOs. Por ejemplo, una muestra con una carga de trabajo de E/S de escritura baja durante cinco minutos en el volumen D: Diskspd.exe -c1g -d300 -W5 -C5 -b8k -t2 -o2 -r -w5 -h d:\test.dat

  4. Examine the TestSrTopologyReport.html report to ensure that you meet the Storage Replica requirements.

    Pantalla donde se muestran los resultados de informes de topología de replicación

Paso 2: Configuración de dos clústeres de conmutación por error en Servidor de archivos de escalabilidad horizontal

Ahora creará dos clústeres de conmutación por error normales. Después de la configuración, la validación y las pruebas, los replicará mediante réplica de almacenamiento. Puede realizar todos los pasos que se indican a continuación en los nodos del clúster directamente o desde un equipo de administración remota que contenga las Herramientas de administración remota del servidor de Windows Server.

Graphical method

  1. Run cluadmin.msc against a node in each site.

  2. Valide el clúster propuesto y analice los resultados para asegurarse de que puede continuar. The example used below are SR-SRVCLUSA and SR-SRVCLUSB.

  3. Cree los dos clústeres. Asegúrese de que los nombres de clúster contiene 15 caracteres o menos.

  4. Configure un testigo de recurso compartido de archivos o un testigo en la nube.

    Note

    Windows Server ahora incluye una opción para el testigo basado en la nube (Azure). Puede elegir esta opción de cuórum en lugar del testigo del recurso compartido de archivos.

    Warning

    Para obtener más información sobre la configuración del testigo de cuórum, consulte el artículo Implantar un testigo de cuórum. For more information on the Set-ClusterQuorum cmdlet, see Set-ClusterQuorum.

  5. Add one disk in the Redmond site to the cluster CSV. To do so, right click a source disk in the Disks node of the Storage section, and then click Add to Cluster Shared Volumes.

  6. Cree los Servidores de archivos de escalabilidad horizontal agrupados en ambos clústeres mediante las instrucciones de Configurar el servidor de archivos de escalabilidad horizontal

Método de Windows PowerShell

  1. Pruebe el clúster propuesto y analice los resultados para asegurarse de que puede continuar:

    Test-Cluster SR-SRV01,SR-SRV02
    Test-Cluster SR-SRV03,SR-SRV04
    
  2. Cree los clústeres (debe especificar sus propias direcciones IP estáticas para los clústeres). Asegúrese de que cada nombre de clúster contiene 15 caracteres o menos:

    New-Cluster -Name SR-SRVCLUSA -Node SR-SRV01,SR-SRV02 -StaticAddress <your IP here>
    New-Cluster -Name SR-SRVCLUSB -Node SR-SRV03,SR-SRV04 -StaticAddress <your IP here>
    
  3. Configure un testigo de recurso compartido de archivos o un testigo en la nube (Azure) en cada clúster que apunte a un recurso compartido hospedado en el controlador de dominio o en algún otro servidor independiente. For example:

    Set-ClusterQuorum -FileShareWitness \\someserver\someshare
    

    Note

    Windows Server ahora incluye una opción para el testigo basado en la nube (Azure). Puede elegir esta opción de cuórum en lugar del testigo del recurso compartido de archivos.

  4. Cree los Servidores de archivos de escalabilidad horizontal agrupados en ambos clústeres mediante las instrucciones de Configurar el servidor de archivos de escalabilidad horizontal

Paso 3: Configuración de la replicación de clúster a clúster mediante Windows PowerShell

Ahora configurará la replicación de clúster a clúster mediante Windows PowerShell. Puede realizar todos los pasos que se indican a continuación en los nodos directamente o desde un equipo de administración remota que contenga las Herramientas de administración remota del servidor de Windows Server

  1. Grant the first cluster full access to the other cluster by running the Grant-SRAccess cmdlet on any node in the first cluster, or remotely. Herramientas de administración remota del servidor para Windows Server

    Grant-SRAccess -ComputerName SR-SRV01 -Cluster SR-SRVCLUSB
    
  2. Grant the second cluster full access to the other cluster by running the Grant-SRAccess cmdlet on any node in the second cluster, or remotely.

    Grant-SRAccess -ComputerName SR-SRV03 -Cluster SR-SRVCLUSA
    
  3. Configure la replicación de clúster a clúster y especifique los discos de origen y destino, los registros de origen y destino, los nombres de clúster de origen y de destino y el tamaño del registro. Puede realizar este comando localmente en el servidor o mediante un equipo de administración remota.

    New-SRPartnership -SourceComputerName SR-SRVCLUSA -SourceRGName rg01 -SourceVolumeName c:\ClusterStorage\Volume2 -SourceLogVolumeName f: -DestinationComputerName SR-SRVCLUSB -DestinationRGName rg02 -DestinationVolumeName c:\ClusterStorage\Volume2 -DestinationLogVolumeName f: -LogType Raw
    

    Warning

    El tamaño de registro predeterminado es 8 GB. Depending on the results of the Test-SRTopology cmdlet, you may decide to use -LogSizeInBytes with a higher or lower value.

  4. To get replication source and destination state, use Get-SRGroup and Get-SRPartnership as follows:

    Get-SRGroup
    Get-SRPartnership
    (Get-SRGroup).replicas
    
  5. Determine el progreso de la replicación del modo siguiente:

    1. En el servidor de origen, ejecute el siguiente comando y examine los eventos 5015, 5002, 5004, 1237, 5001 y 2200:

      Get-WinEvent -ProviderName Microsoft-Windows-StorageReplica -max 20
      
    2. En el servidor de destino, ejecute el comando siguiente para ver los eventos de réplica de almacenamiento que muestran la creación de la asociación. Este evento indica el número de bytes copiados y el tiempo insumido. Example:

      Get-WinEvent -ProviderName Microsoft-Windows-StorageReplica | Where-Object {$_.ID -eq "1215"} | Format-List
      

      A continuación, presentamos un ejemplo de la salida:

      TimeCreated  : 4/8/2016 4:12:37 PM
      ProviderName : Microsoft-Windows-StorageReplica
      Id           : 1215
      Message      : Block copy completed for replica.
          ReplicationGroupName: rg02
          ReplicationGroupId:
          {616F1E00-5A68-4447-830F-B0B0EFBD359C}
          ReplicaName: f:\
          ReplicaId: {00000000-0000-0000-0000-000000000000}
          End LSN in bitmap:
          LogGeneration: {00000000-0000-0000-0000-000000000000}
          LogFileId: 0
          CLSFLsn: 0xFFFFFFFF
          Number of Bytes Recovered: 68583161856
          Elapsed Time (seconds): 117
      
    3. También es posible que el grupo de servidores de destino de la réplica indique el número de bytes que quedan por copiar en todo momento, lo cual se puede consultar mediante PowerShell. For example:

      (Get-SRGroup).Replicas | Select-Object numofbytesremaining
      

      Como ejemplo de progreso (que no terminará):

        while($true) {
        $v = (Get-SRGroup -Name "Replication 2").replicas | Select-Object numofbytesremaining
        [System.Console]::Write("Number of bytes remaining: {0}`n", $v.numofbytesremaining)
        Start-Sleep -s 5
       }
      
  6. En el servidor de destino del clúster de destino, ejecute el siguiente comando y examine los eventos 5009, 1237, 5001, 5015, 5005 y 2200 para entender el progreso del procesamiento. No debería haber ninguna advertencia de error en esta secuencia. Habrá 1237 eventos; estos indican progreso.

    Get-WinEvent -ProviderName Microsoft-Windows-StorageReplica | FL
    

    Note

    El disco de clúster de destino siempre se mostrará como En línea (sin acceso) cuando se replica.

Paso 4: Administrar la replicación

Ahora administrará y operará la replicación de clúster a clúster. Puede realizar todos los pasos que se indican a continuación en los nodos del clúster directamente o desde un equipo de administración remota que contenga las Herramientas de administración remota del servidor de Windows Server.

  1. Use Get-ClusterGroup or Failover Cluster Manager to determine the current source and destination of replication and their status. Herramientas de administración remota del servidor para Windows Server

  2. To measure replication performance, use the Get-Counter cmdlet on both the source and destination nodes. Los nombres de contador son:

    • \Estadísticas de E/S de partición de Réplica de almacenamiento(*)\Número de veces que se pausó el vaciado

    • \Estadísticas de E/S de partición de Réplica de almacenamiento(*)\Número de E/S de vaciado pendientes

    • \Estadísticas de E/S de partición de Réplica de almacenamiento(*)\Número de solicitudes para la última escritura del registro

    • \Estadísticas de E/S de partición de réplica de almacenamiento(*)\Promedio. longitud de cola de vaciado

    • \Estadísticas de E/S de partición de Réplica de almacenamiento(*)\Longitud actual de la cola de vaciado

    • \Estadísticas de E/S de partición de Réplica de almacenamiento(*)\Número de solicitudes de escritura en aplicación

    • \Estadísticas de E/S de partición de Réplica de almacenamiento(*)\Promedio de Número de solicitudes por escritura en registro

    • \Estadísticas de E/S de partición de réplica de almacenamiento(*)\Promedio. latencia de escritura de aplicación

    • \Estadísticas de E/S de partición de réplica de almacenamiento(*)\Promedio. latencia de lectura de aplicación

    • \Estadísticas de Réplica de almacenamiento(*)\RPO de destino

    • \Estadísticas de Réplica de almacenamiento(*)\RPO actual

    • \Estadísticas de Réplica de almacenamiento(*)\Promedio de longitud de cola de registro

    • \Estadísticas de Réplica de almacenamiento(*)\Longitud de cola del registro actual

    • \Estadísticas de Réplica de almacenamiento(*)\Nº total de bytes recibidos

    • \Estadísticas de Réplica de almacenamiento(*)\Nº total de bytes enviados

    • \Estadísticas de réplica de almacenamiento(*)\Promedio. latencia de envío de red

    • \Estadísticas de Réplica de almacenamiento(*)\Estado de la replicación

    • \Estadísticas de réplica de almacenamiento(*)\Promedio. latencia del recorrido de ida y vuelta de mensaje

    • \Estadísticas de Réplica de almacenamiento(*)\Tiempo transcurrido de la última recuperación

    • \Estadísticas de Réplica de almacenamiento(*)\Número de transacciones de recuperación vaciadas

    • \Estadísticas de Réplica de almacenamiento(*)\Número de transacciones de recuperación

    • \Estadísticas de réplica de almacenamiento(*)\Número de transacciones de replicación vacías

    • \Estadísticas de Réplica de almacenamiento(*)\Número de transacciones de replicación

    • \Estadísticas de réplica de almacenamiento(*)\Número máximo de secuencia de registro

    • \Estadísticas de Réplica de almacenamiento(*)\Número de mensajes recibidos

    • \Estadísticas de Réplica de almacenamiento(*)\Número de mensajes enviados

    For more information on performance counters in Windows PowerShell, see Get-Counter.

  3. To move the replication direction from one site, use the Set-SRPartnership cmdlet.

    Set-SRPartnership -NewSourceComputerName SR-SRVCLUSB -SourceRGName rg02 -DestinationComputerName SR-SRVCLUSA -DestinationRGName rg01
    

    Note

    Windows Server impide el cambio de rol cuando la sincronización inicial está en curso, lo que puede dar lugar a pérdida de datos si intenta cambiar antes de dejar que finalice la replicación inicial. No obligue a cambiar las direcciones hasta que se complete la sincronización inicial.

    Compruebe los registros de eventos para ver la dirección en que se producen el cambio de replicación y el modo de recuperación y luego concílielos. Después, las E/S de escritura pueden escribir en el almacenamiento que pertenece al nuevo servidor de origen. Al cambiar la dirección de replicación, se bloquean las E/S de escritura en el equipo de origen anterior.

    Note

    El disco de clúster de destino siempre se mostrará como En línea (sin acceso) cuando se replica.

  4. To change the log size from the default 8GB, use Set-SRGroup on both the source and destination Storage Replica groups.

    Important

    El tamaño de registro predeterminado es 8 GB. Depending on the results of the Test-SRTopology cmdlet, you may decide to use -LogSizeInBytes with a higher or lower value.

  5. To remove replication, use Get-SRGroup, Get-SRPartnership, Remove-SRGroup, and Remove-SRPartnership on each cluster.

    Get-SRPartnership | Remove-SRPartnership
    Get-SRGroup | Remove-SRGroup
    

    Note

    Réplica de almacenamiento desmonta los volúmenes de destino. es así por diseño.

Additional References