ApplicationSet-based conmutación por error de aplicaciones entre clústeres gestionados
La conmutación por error es un proceso que realiza la transición de una aplicación de un clúster primario a un clúster secundario en caso de fallo del clúster primario. Si bien la conmutación por error permite que la aplicación se ejecute en el clúster secundario con una interrupción mínima, tomar una decisión de conmutación por error no informada puede tener consecuencias adversas, como la pérdida total de datos en caso de que se produzca un fallo de replicación inadvertido del clúster primario al secundario. Si ha pasado mucho tiempo desde la última replicación correcta, es mejor esperar hasta que se recupere el primario que ha fallado. LastGroupSyncTime es una métrica crítica que refleja el tiempo transcurrido desde que se produjo la última replicación correcta para todos los PVC asociados a una aplicación. En esencia, mide la salud de la sincronización entre los clústeres primario y secundario. Por lo tanto, antes de iniciar una conmutación por error de un clúster a otro, compruebe esta métrica y sólo inicie la conmutación por error si la LastGroupSyncTime se encuentra dentro de un tiempo razonable en el pasado. Durante la migración tras error, el despliegue de duplicación de Ceph-RBD en el clúster de migración tras error se reduce para garantizar una migración tras error limpia para los volúmenes respaldados por Ceph-RBD como suministrador de almacenamiento.
Antes de empezar
- Cuando el clúster primario esté en un estado que no sea Preparado, compruebe el estado real del clúster, ya que puede tardar algún tiempo en actualizarse.
- Vaya a la pestaña .
- Compruebe el estado de ambos clústeres gestionados individualmente antes de realizar una operación de migración tras error.
Sin embargo, la operación de migración tras error todavía se puede ejecutar cuando el clúster al que está migrando tras error está en un estado Preparado .
- Ejecute el siguiente comando en el Hub Cluster para comprobar si
lastGroupSyncTimeestá dentro de una ventana aceptable de pérdida de datos, cuando se compara con la hora actual.oc get drpc -o yaml -A | grep lastGroupSyncTimeEjemplo de salida:
[...] lastGroupSyncTime: "2023-07-10T12:40:10Z"
Procedimiento
Si la sincronización de volúmenes no se produce tras una conmutación por error y las aplicaciones de ApplicationSet-based siguen ejecutándose en ambos clústeres, aplique la siguiente solución:
En el clúster central, elimine el recurso manifestwork que sigue ejecutando las aplicaciones ApplicationSet-based en el clúster desde el que se traspasaron las aplicaciones.
oc delete manifestwork -n rackm14 app-busybox-cephfs-1-rackm14-48b8c