Resistencia anidada para Espacios de almacenamiento directo

Se aplica a: Azure Stack HCI, versiones 22H2 y 21H2; Windows Server 2022 y Windows Server 2019

La resistencia anidada es una funcionalidad de Espacios de almacenamiento directo en Azure Stack HCI y Windows Server. Permite que un clúster de dos servidores resista varios errores de hardware al mismo tiempo sin perder la disponibilidad del almacenamiento, lo que permite a los usuarios, las aplicaciones y las máquinas virtuales seguir su ejecución sin interrupciones. En este artículo, se explica cómo funciona la resistencia anidada, se proporcionan instrucciones paso a paso para empezar a trabajar y se responden las preguntas más frecuentes.

Antes de empezar

Considere el uso de la resistencia anidada si:

  • El clúster ejecuta uno de estos sistemas operativos: Azure Stack HCI (versión 21H2), Azure Stack HCI (versión 20H2), Windows Server 2022 o Windows Server 2019, y
  • El clúster tiene exactamente dos nodos de servidor.

No se puede usar la resistencia anidada si:

  • El clúster ejecuta Windows Server 2016, o
  • El clúster solo tiene un nodo de servidor o tiene tres o más nodos de servidor.

Por qué usar la resistencia anidada

Los volúmenes que usan resistencia anidada pueden mantenerse en línea y accesibles incluso si se producen varios errores de hardware al mismo tiempo, a diferencia de la resistencia de creación de reflejo bidireccional clásica. Por ejemplo, si se produce un error en dos unidades al mismo tiempo, o si un servidor deja de funcionar y se produce un error en una unidad, los volúmenes que usan resistencia anidada permanecen en línea y son accesibles. Para una infraestructura hiperconvergida, esto aumenta el tiempo de actividad de las aplicaciones y las máquinas virtuales; para las cargas de trabajo del servidor de archivos, esto significa que los usuarios tienen acceso ininterrumpido a sus archivos.

Diagrama que muestra la disponibilidad del almacenamiento.

La desventaja es que la resistencia anidada tiene una menor eficacia de capacidad que la creación de reflejo bidireccional clásica, lo que significa que se obtiene algo menos de espacio utilizable. Para más información, consulte la siguiente sección Eficacia de capacidad.

Cómo funciona

En esta sección, se proporciona información general sobre la resistencia anidada para Espacios de almacenamiento directo y se describen las dos nuevas opciones de resistencia y su eficacia de capacidad.

Inspiración: RAID 5+1

RAID 5+1 es una forma establecida de resistencia de almacenamiento distribuido que proporciona un punto de partida útil para comprender la resistencia anidada. En RAID 5+1, dentro de cada servidor, RAID-5 proporciona resistencia local, o paridad única, para protegerse contra la pérdida de una unidad. A continuación, RAID-1 proporciona resistencia adicional, o creación de reflejo bidireccional entre los dos servidores para protegerse contra la pérdida de cualquiera de los servidores.

Diagrama que muestra RAID 5+1.

Opciones de resistencia

Espacios de almacenamiento directo en Azure Stack HCI y Windows Server ofrece dos opciones de resistencia implementadas mediante software, sin necesidad de hardware RAID especializado:

  • Reflejo bidireccional anidado. Dentro de cada servidor, la resistencia local se proporciona mediante la creación de reflejo bidireccional y, después, la creación de reflejo bidireccional entre los dos servidores proporciona resistencia adicional. Básicamente, es un reflejo de cuatro vías, con dos copias en cada servidor que se encuentran en discos físicos diferentes. La creación de reflejo bidireccional anidada proporciona un rendimiento sin concesiones: las escrituras van a todas las copias y las lecturas proceden de cualquier copia.

    Diagrama que muestra el reflejo bidireccional anidado.

  • Paridad acelerada por reflejo anidado. Combine la creación de reflejo bidireccional anidada, de la imagen anterior, con la paridad anidada. Dentro de cada servidor, la resistencia local para la mayoría de los datos se proporciona mediante aritmética de paridad bit a bit única, excepto las nuevas escrituras recientes, que usan la creación de reflejo bidireccional. A continuación, se proporciona una mayor resistencia para todos los datos mediante la creación de reflejo bidireccional entre los servidores. Las nuevas escrituras en el volumen van a la parte reflejada, con dos copias en discos físicos independientes en cada servidor. A medida que la parte reflejada del volumen se rellena en cada servidor, los datos más antiguos se convierten y guardan en la parte de paridad en segundo plano. Como resultado, cada servidor tiene los datos del volumen en reflejo bidireccional o en una estructura de paridad única. Esto es similar al funcionamiento de la paridad acelerada por reflejo, con la diferencia de que la paridad acelerada por reflejo requiere cuatro servidores en el clúster y el bloque de almacenamiento, y usa un algoritmo de paridad diferente.

    Diagrama que muestra la paridad acelerada por reflejo anidado.

Eficacia de capacidad

La eficacia de capacidad es la proporción entre el espacio utilizable y la superficie del volumen. Describe la sobrecarga de capacidad que se atribuye a la resistencia y depende de la opción de resistencia que elija. Como ejemplo sencillo, el almacenamiento de datos sin resistencia tiene una eficacia de capacidad del 100 % (1 TB de datos ocupa 1 TB de capacidad de almacenamiento físico), mientras que la creación de reflejo bidireccional tiene una eficacia del 50 % (1 TB de datos ocupa hasta 2 TB de capacidad de almacenamiento físico).

  • El reflejo bidireccional anidado escribe cuatro copias de todo. Esto significa que para almacenar 1 TB de datos, necesita 4 TB de capacidad de almacenamiento físico. Aunque su simplicidad es atractiva, la eficacia de capacidad del reflejo bidireccional anidado del 25 % es la más baja de cualquier opción de resistencia en Espacios de almacenamiento directo.

  • La paridad acelerada por reflejo anidado logra una mayor eficacia de capacidad, entre el 35 % y el 40 %, que depende de dos factores: el número de unidades de capacidad en cada servidor y la combinación de reflejo y paridad que especifique para el volumen. En esta tabla, se proporciona una búsqueda de configuraciones comunes:

    Unidades de capacidad por servidor Reflejo 10 % Reflejo 20 % Reflejo 30 %
    4 35,7 % 34,1 % 32,6 %
    5 37,7 % 35,7 % 33,9 %
    6 39,1 % 36,8 % 34,7 %
    7 (o posterior) 40,0 % 37,5 % 35,3 %

    A continuación, se muestra un ejemplo de las operaciones matemáticas completas. Supongamos que tenemos seis unidades de capacidad en cada uno de los dos servidores y queremos crear un volumen de 100 GB compuesto por 10 GB de reflejo y 90 GB de paridad. El reflejo bidireccional local del servidor tiene una eficacia del 50,0 %, lo que significa que los 10 GB de datos reflejados ocupan 20 GB para almacenarse en cada servidor. Reflejada en ambos servidores, su superficie total es de 40 GB. La paridad única local del servidor, en este caso, es 5/6 = eficacia del 83,3 %, lo que significa que los 90 GB de datos de paridad ocupan 108 GB para almacenarse en cada servidor. Reflejada en ambos servidores, su superficie total es de 216 GB. Por lo tanto, la superficie total es [(10 GB / 50,0 %) + (90 GB / 83,3 %)] × 2 = 256 GB, para una eficacia de capacidad total del 39,1 %.

    Observe que la eficacia de capacidad de la creación de reflejo bidireccional clásica (aproximadamente el 50 %) y la paridad acelerada por reflejo anidado (hasta un 40 %) no son muy diferentes. En función de los requisitos, por una eficacia de capacidad ligeramente inferior puede merecer la pena el aumento significativo de la disponibilidad del almacenamiento. Elija resistencia por volumen, para que pueda combinar volúmenes de resistencia anidados y volúmenes de reflejo bidireccional clásicos dentro del mismo clúster.

    Diagrama que muestra el equilibrio entre el reflejo bidireccional y la paridad acelerada por reflejo anidado.

Creación de volúmenes de resistencia anidada

Puede usar cmdlets de almacenamiento conocidos en PowerShell para crear volúmenes con resistencia anidada, como se describe en la sección siguiente.

Paso 1: Creación de las plantillas del nivel de almacenamiento (solo Windows Server 2019)

Windows Server 2019 requiere que cree nuevas plantillas de nivel de almacenamiento mediante el cmdlet New-StorageTier antes de crear volúmenes. Solo tiene que hacerlo una vez y, después, cada volumen nuevo que cree puede hacer referencia a estas plantillas.

Nota

Si ejecuta Windows Server 2022, Azure Stack HCI 21H2 o Azure Stack HCI 20H2, puede omitir este paso.

Especifique el valor -MediaType de las unidades de capacidad y, opcionalmente, el valor -FriendlyName de su elección. No modifique otros parámetros.

Por ejemplo, si las unidades de capacidad son unidades de disco duro (HDD), inicie PowerShell como administrador y ejecute los siguientes cmdlets.

Para crear un nivel NestedMirror:

New-StorageTier -StoragePoolFriendlyName S2D* -FriendlyName NestedMirrorOnHDD -ResiliencySettingName Mirror -MediaType HDD -NumberOfDataCopies 4

Para crear un nivel NestedParity:

New-StorageTier -StoragePoolFriendlyName S2D* -FriendlyName NestedParityOnHDD -ResiliencySettingName Parity -MediaType HDD -NumberOfDataCopies 2 -PhysicalDiskRedundancy 1 -NumberOfGroups 1 -FaultDomainAwareness StorageScaleUnit -ColumnIsolation PhysicalDisk

Si las unidades de capacidad son unidades de estado sólido (SSD), establezca -MediaType en SSD en su lugar y cambie -FriendlyName a *OnSSD. No modifique otros parámetros.

Sugerencia

Compruebe que Get-StorageTier haya creado correctamente los niveles.

Paso 2: Creación de los volúmenes anidados

Cree nuevos volúmenes mediante el cmdlet New-Volume.

  • Reflejo bidireccional anidado

    Para usar el reflejo bidireccional anidado, haga referencia a la plantilla de nivel NestedMirror y especifique el tamaño. Por ejemplo:

    New-Volume -StoragePoolFriendlyName S2D* -FriendlyName Volume01 -StorageTierFriendlyNames NestedMirrorOnHDD -StorageTierSizes 500GB
    

    Si las unidades de capacidad son unidades de estado sólido (SSD), cambie -StorageTierFriendlyNames a *OnSSD.

  • Paridad acelerada por reflejo anidada

    Para usar la paridad anidada acelerada por reflejo anidado, haga referencia a las plantillas de nivel NestedMirror y NestedParity, y especifique dos tamaños, uno para cada parte del volumen (reflejo primero, paridad segundo). Por ejemplo, para crear un volumen de 500 GB que sea un reflejo bidireccional anidado del 20 % y una paridad anidada del 80 %, ejecute:

    New-Volume -StoragePoolFriendlyName S2D* -FriendlyName Volume02 -StorageTierFriendlyNames NestedMirrorOnHDD, NestedParityOnHDD -StorageTierSizes 100GB, 400GB
    

    Si las unidades de capacidad son unidades de estado sólido (SSD), cambie -StorageTierFriendlyNames a *OnSSD.

Paso 3: Continuar en Windows Admin Center

Los volúmenes que usan resistencia anidada aparecen en Windows Admin Center con etiquetado claro, como en la captura de pantalla siguiente. Una vez creados, puede administrarlos y supervisarlos mediante Windows Admin Center igual que cualquier otro volumen de Espacios de almacenamiento directo.

Administración de volúmenes en Windows Admin Center.

Opcional: extensión a las unidades de caché

Con su configuración predeterminada, la resistencia anidada protege contra la pérdida de varias unidades de capacidad al mismo tiempo, o un servidor y una unidad de capacidad al mismo tiempo. Para ampliar esta protección a las unidades de caché, hay otra consideración: porque las unidades de caché suelen proporcionar almacenamiento en caché de lectura y escritura para varias unidades de capacidad, la única manera de asegurarse de que puede tolerar la pérdida de una unidad de caché cuando el otro servidor está inactivo es no almacenar en caché las escrituras, pero eso afecta al rendimiento.

Para solucionar este escenario, Espacios de almacenamiento directo ofrece la opción de deshabilitar automáticamente el almacenamiento en caché de escritura cuando un servidor de un clúster de dos servidores está inactivo y, a continuación, volver a habilitar el almacenamiento en caché de escritura una vez que el servidor vuelve a estar activo. Para permitir reinicios rutinarios sin impacto en el rendimiento, el almacenamiento en caché de escritura no se deshabilita hasta que el servidor haya estado inactivo durante 30 minutos. Una vez deshabilitado el almacenamiento en caché de escritura, el contenido de la caché de escritura se escribe en los dispositivos de capacidad. Después de esto, el servidor puede tolerar un dispositivo de caché con errores en el servidor en línea, aunque es posible que las lecturas de la memoria caché se retrasen o se produzcan errores si se produce un error en un dispositivo de caché.

Nota

En el caso de un sistema físico con toda la memoria caché (tipo de soporte físico único), no es necesario tener en cuenta la deshabilitación automática del almacenamiento en caché de escritura cuando un servidor de un clúster de dos servidores está inactivo. Solo debe tener esto en cuenta con la memoria caché de la capa de bus de almacenamiento (SBL), que solo es necesaria si usa unidades HDD.

(Opcional) Para deshabilitar automáticamente el almacenamiento en caché de escritura cuando un servidor de un clúster de dos servidores está inactivo, inicie PowerShell como administrador y ejecute:

Get-StorageSubSystem Cluster* | Set-StorageHealthSetting -Name "System.Storage.NestedResiliency.DisableWriteCacheOnNodeDown.Enabled" -Value "True"

Una vez establecido en True, el comportamiento de la memoria caché es el siguiente:

Situación Comportamiento de la caché ¿Puede tolerar la pérdida de la unidad de caché?
Ambos servidores activos Lecturas y escrituras de caché, rendimiento completo
Servidor inactivo, primeros 30 minutos Lecturas y escrituras de caché, rendimiento completo No (temporalmente)
Después de los primeros 30 minutos Solo lecturas de caché, rendimiento afectado Sí (después de escribir la memoria caché en unidades de capacidad)

Preguntas más frecuentes

Obtenga respuestas a algunas preguntas frecuentes sobre la resistencia anidada.

¿Puedo convertir un volumen existente entre el reflejo bidireccional y la resistencia anidada?

No, los volúmenes no se pueden convertir entre tipos de resistencia. Para las nuevas implementaciones en Azure Stack HCI, Windows Server 2022 o Windows Server 2019, decida con antelación qué tipo de resistencia se adapta mejor a sus necesidades. Si va a actualizar desde Windows Server 2016, puede crear nuevos volúmenes con resistencia anidada, migrar los datos y, a continuación, eliminar los volúmenes anteriores.

¿Puedo usar la resistencia anidada con varios tipos de unidades de capacidad?

Sí, solo tiene que especificar el valor de -MediaType de cada nivel en consecuencia durante el paso 1 anterior. Por ejemplo, con NVMe, SSD y HDD en el mismo clúster, NVMe proporciona caché, mientras que los dos últimos proporcionan capacidad: establezca el nivel NestedMirror en -MediaType SSD y el nivel NestedParity en -MediaType HDD. En este caso, la eficacia de la capacidad de la paridad depende solo del número de unidades HDD y necesita al menos 4 de ellas por servidor.

¿Puedo usar la resistencia anidada con tres o más servidores?

No, use la resistencia anidada solo si el clúster tiene exactamente dos servidores.

¿Cuántas unidades necesito para usar la resistencia anidada?

El número mínimo de unidades necesarias para Espacios de almacenamiento directo es de cuatro unidades de capacidad por nodo de servidor, más dos unidades de caché por nodo de servidor (si las hay). Esto no cambia con respecto a Windows Server 2016. No hay ningún otro requisito para la resistencia anidada y la recomendación para la capacidad de reserva tampoco cambia.

¿La resistencia anidada cambia el funcionamiento de la sustitución de unidades?

No.

¿La resistencia anidada cambia el funcionamiento de la sustitución de un nodo de servidor?

No. Para reemplazar un nodo de servidor y sus unidades, siga este orden:

  1. Retirar las unidades del servidor saliente
  2. Agregar el nuevo servidor, con sus unidades, al clúster
  3. El bloque de almacenamiento se volverá a equilibrar.
  4. Quitar el servidor saliente y sus unidades

Para más información, consulte el artículo Eliminación de servidores en Espacios de almacenamiento directo.

Pasos siguientes