Coda y Replicación de Ficheros: Optimización de la Disponibilidad y Rendimiento en Sistemas Distribuidos
Clasificado en Informática
Escrito el en español con un tamaño de 4,95 KB
Coda: Un Sistema de Archivos Distribuido Avanzado para Alta Disponibilidad
Coda es el sucesor de AFS, aunque su modo de operación normal es prácticamente idéntico. Este sistema soluciona algunas carencias de AFS, como la replicación en escritura, y también lo hace aplicable a la computación móvil.
Ventajas de la Replicación de Volúmenes en Coda
La replicación de volúmenes en Coda ofrece múltiples beneficios:
- El cliente puede acceder a una réplica siempre que al menos una de ellas esté disponible, incluso si las demás han fallado.
- Aumenta el rendimiento general del sistema, ya que las peticiones se distribuyen entre las diferentes réplicas.
Coda fue creado para solventar las debilidades de AFS y garantizar una disponibilidad constante de los datos, incluso en modo desconectado. Cuando el sistema Coda está desconectado (por un fallo en la red o al trabajar con un PC portátil), se requiere el uso de un esquema LRU (Least Recently Used) para poder operar sin conexión.
Siempre es más seguro mantener copias de los ficheros en los servidores. Estas copias se revalidan periódicamente; si el sistema está desconectado, la revalidación se realiza al cambiar de modo.
Semántica de Coda
En estado normal, Coda es prácticamente igual a AFS. La semántica de Coda es similar a la de tipo sesión: cuando se abre un fichero, se accede a la copia más reciente. Si esta no está disponible, se accede a la copia local en el AVSG (Availability Volume Storage Group) local.
Replicación de Ficheros en Sistemas Distribuidos
Un fichero replicado es aquel que posee múltiples copias, cada una almacenada en un servidor diferente.
Replicación vs. Caché
Es fundamental diferenciar entre replicación y caché:
- Una réplica se asocia con un servidor.
- Una copia en caché se asocia con un cliente.
Una réplica es inherentemente más persistente, conocida, disponible y segura que una copia en caché.
Ventajas de la Replicación
Las principales ventajas de la replicación incluyen:
- Disponibilidad: Asegura el acceso a los datos incluso ante fallos de servidores.
- Reducción del tráfico de red: Al tener copias locales, se minimiza la necesidad de acceder a servidores remotos.
- Mejora del rendimiento: Las peticiones pueden ser atendidas por la réplica más cercana o menos cargada.
- Beneficia la escalabilidad: Permite distribuir la carga de trabajo entre múltiples servidores.
- Soporte para el modo desconectado: Facilita el trabajo sin conexión a la red.
Transparencia en la Replicación
La transparencia en la replicación implica considerar dos aspectos clave:
Denominación de las Réplicas
Se debe poder distinguir la copia del original. Un servidor se encarga de determinar si la copia está disponible localmente o si debe buscarla en un directorio remoto ordenado.
Control de la Replicación
El control puede ser explícito o implícito:
- Implícito ("perezosa"): Se espera a acumular varios cambios antes de actualizar las réplicas.
- Implícito ("comunicación a grupos"): Solo se lanza una copia inicial y el nodo se encarga de distribuirla a los clientes.
Protocolos de Actualización de Réplicas
Existen diversos protocolos para la actualización de réplicas, cada uno con sus características:
- Replicación de solo lectura: Aplicada a ficheros inmutables, donde el contenido no cambia.
-
Escribir en todos, leer en cualquiera:
- Ventaja: Alta disponibilidad de lectura.
- Desventaja: Escritura costosa y problemas si un servidor falla, pudiendo comprometer la consistencia del sistema.
-
Protocolo de disponibilidad de copias:
- Funcionamiento: Se busca un número específico de copias de un archivo.
- Riesgo: Puede generar inconsistencias si la red se fragmenta.
-
Copia primaria:
- Funcionamiento: Las copias tienen distintos "pesos" o roles. Se puede leer en cualquier copia, pero la escritura se realiza únicamente en la copia principal.
- Riesgo: Problemas graves si el servidor primario falla.
-
Basado en Quorum:
- Funcionamiento: Los clientes requieren un quorum de
Nr
servidores para leer yNw
servidores para escribir. - Condición: Se debe cumplir que
Nr + Nw > N
, dondeN
es el número total de réplicas, para asegurar la consistencia.
- Funcionamiento: Los clientes requieren un quorum de