Reconstrucción de clústeres

El clúster de almacenamiento cuenta con autorreparación. Si un nodo o disco falla, un clúster intentará restaurar automáticamente los datos perdidos, es decir, reconstruirse.

Requisitos previos de la reconstrucción

Para que un clúster se pueda reconstruir, debe tener, como mínimo:

Proceso de reconstrucción

El proceso de reconstrucción consta de varios pasos. Cada CS envía un mensaje de latido a un MDS cada 5 segundos. Si no se envía un latido, se considera que el CS está inactivo y el MDS informa a todos los componentes del clúster de que deben dejar de solicitar operaciones con sus datos. Si no se reciben latidos de un CS en 15 minutos, el MDS considera que está fuera de línea y empieza a reconstruir el clúster. Durante el proceso, el MDS busca los CS que no tengan réplicas de los datos perdidos y los restaura (una réplica cada vez) de la siguiente manera:

  • Si se usa la replicación, las réplicas existentes de un bloque degradado se bloquean (para garantizar que todas las réplicas se mantienen idénticas) y se copia una al nuevo CS. Si en este momento un cliente necesita leer datos que aún no se han reconstruido, lee la réplica existente de dichos datos.
  • Si se usa codificación de borrado, el nuevo CS solicita a casi todas las partes de datos que quedan que reconstruyan las que falten. Si en este momento un cliente necesita leer datos que no se hayan reconstruido todavía, estos se reconstruyen de forma prioritaria para que puedan leerse.

La autorreparación requiere más recursos de tráfico de red y CPU si se usa la replicación. Por otra parte, la reconstrucción mediante codificación de borrado es más lenta.

Si un nodo o un disco quedan fuera de línea durante el mantenimiento, la reparación automática del clúster se retrasa para ahorrar recursos del clúster. El retraso predeterminado es de 30 minutos. Puede ajustarlo estableciendo el parámetro mds.wd.offline_tout_mnt (en milisegundos) con el comando vstorage -c <nombre_clúster> set-config.

Recomendaciones para la reconstrucción de clústeres

A continuación se ofrecen dos recomendaciones para suavizar la sobrecarga de reconstrucción:

  • Para simplificar la reconstrucción, mantenga recuentos uniformes de los discos y los tamaños de capacidad en todos los nodos.
  • La reconstrucción implica una carga adicional para la red y aumenta la latencia de las operaciones de lectura y escritura. Cuanto mayor sea el ancho de banda de red del clúster, más rápida será la reconstrucción y la liberación de ancho de banda.