Cómo implementar NFS con alta disponibilidad en Ceph usando Ganesha-NFS
Introducción a Ceph y Ceph-Ganesha
Ceph-Ganesha, una herramienta NFS integrada en CEPH con potentes funciones de orquestación que permiten una alta disponibilidad y una gestión dinámica en un clúster Ceph multinodo. Nos centraremos en la simplicidad declarativa de su despliegue y en mostrar sus capacidades de HA.
Ceph es una plataforma de almacenamiento definida por software y de código abierto que ofrece almacenamiento de objetos, bloques y archivos altamente escalable desde un clúster unificado. En esencia, la arquitectura de Ceph se basa en una red distribuida de nodos independientes. Los datos se almacenan a través de OSDs (Object Storage Daemons), gestionados por Monitores y orquestados por Gestores.
Explicación de la arquitectura Ceph
El Sistema de Archivos Ceph (CephFS) es un sistema de archivos compatible con POSIX que se asienta sobre esta infraestructura, proporcionando un espacio de nombres distribuido y tolerante a fallos. Para un administrador de sistemas, Ceph ofrece una gran alternativa a las matrices de almacenamiento tradicionales, ya que proporciona una plataforma única y resistente que puede crecer linealmente con la adición de hardware básico.
Sus capacidades de autorreparación y autogestión son ventajas clave, ya que reducen la sobrecarga operativa asociada normalmente al almacenamiento a escala de petabytes.
¿Qué es NFS Ganesha en Ceph?
NFS Ganesha es un servidor NFS de código abierto que actúa como pasarela en el espacio de usuario, una distinción clave respecto a los servidores NFS convencionales que residen dentro del núcleo del sistema operativo. Esta elección de diseño fundamental proporciona un entorno de servicio más robusto y estable. Es mucho menos probable que un error en un demonio de espacio de usuario provoque un fallo catastrófico del sistema, una ventaja crucial para un punto final de servicio crítico. La arquitectura de Ganesha también está diseñada para ofrecer la máxima compatibilidad, ya que admite una gama completa de protocolos NFS, desde NFSv3 hasta NFSv4.2, lo que garantiza que pueda servir a una base de clientes diversa.
La verdadera genialidad de Ganesha reside en su Capa de Abstracción del Sistema de Archivos, o FSAL. Esta arquitectura modular desacopla la lógica del protocolo NFS del almacenamiento subyacente. Para un entorno Ceph, el módulo FSAL_CEPH es la clave, ya que permite a Ganesha actuar como un sofisticado cliente Ceph. Esto significa que los administradores pueden proporcionar una interfaz NFS consistente a los clientes, al tiempo que se benefician de toda la potencia y escalabilidad del clúster Ceph, todo ello sin exponer directamente la infraestructura Ceph subyacente. Si quieres saber más sobre Ceph, te ofrecemos un curso práctico sobre Ceph.
Integración de Cephadm: Despliegue declarativo de Ceph-Ganesha
La integración de Ganesha con el orquestador Ceph (cephadm) eleva su despliegue de una tarea manual, específica de cada host, a una elegante operación a nivel de clúster. Esta asociación permite un enfoque declarativo de la gestión de servicios, en el que un único comando puede gestionar todo el ciclo de vida del servicio Ganesha.
Para cualquier servicio de misión crítica, la principal preocupación de un administrador de sistemas es garantizar la continuidad del negocio. Un tiempo de inactividad no planificado puede provocar una pérdida significativa de datos, pérdida de productividad y una reputación dañada. La Alta Disponibilidad (HA) es el principio arquitectónico que aborda esta preocupación eliminando los puntos únicos de fallo. Para un servicio NFS, esto significa que si un nodo del servidor se desconecta, otro nodo puede asumir sus funciones sin problemas. Esto proporciona tranquilidad a los administradores y permite un mantenimiento planificado sin afectar al usuario final. En el caso de Ceph, su naturaleza distribuida inherente es el complemento perfecto para un servicio NFS de HA, ya que el almacenamiento subyacente ya es resistente a los fallos de los nodos.
Preparar el almacenamiento CephFS para Ganesha
Un despliegue satisfactorio de Ganesha comienza con la preparación del almacenamiento CephFS subyacente. Un administrador experimentado aprovisionará los pools necesarios para alojar los datos y metadatos del sistema de archivos, preparando el escenario para el despliegue del servicio.
Crear un pool dedicado para datos NFS Ganesha con autoescalado activado
# sudo ceph osd pool create ganeshapool 32 32
# sudo ceph osd pool set ganeshapool pg_autoscale_mode on
Crea un conjunto de metadatos, marcado como masivo para un comportamiento optimizado
# sudo ceph osd pool create ganeshapool_metadata 16 16
# sudo ceph osd pool set ganeshapool_metadata bulk true
Vincular los pools a un nuevo sistema de archivos CephFS
# sudo ceph osd pool application enable ganeshapool cephfs
# sudo ceph osd pool application enable ganeshapool_metadata cephfs
# sudo ceph fs new ganeshafs ganeshapool_metadata ganeshapool
# ceph fs set ganeshafs max_mds 3
# ceph orch apply mds cephfs --placement="3 ceph-node1 ceph-node2"
Despliegue del servicio Ceph NFS Ganesha
Una vez sentadas las bases del almacenamiento, el despliegue de Ganesha propiamente dicho puede hacerse con .yamls o con sencillos comandos CLI de orquestación. El comando ceph orch apply es una poderosa instrucción al orquestador, que le indica que garantice el estado deseado del servicio NFS. Especificando un recuento de ubicaciones y enumerando los hosts del clúster, el administrador se asegura de que se ejecutará un demonio Ganesha en cada nodo designado, un paso crítico para un servicio resistente y de alta disponibilidad.
Despliega el servicio NFS de Ganesha en los tres hosts especificados
# sudo ceph orch apply nfs myganeshanfs ganeshafs --placement="3 ceph-node1 ceph-node2 ceph-node3"
Este único comando inicia un despliegue complejo y polifacético. El orquestador extrae las imágenes de contenedor necesarias, configura los demonios y los distribuye entre los hosts especificados. Esto contrasta claramente con las instalaciones manuales, host por host, mostrando el poder de la orquestación centralizada. Estos escenarios se tratan en detalle en nuestro curso avanzado de Ceph, donde cubrimos paso a paso la orquestación con cephadm y las configuraciones de HA.
Capacidades avanzadas: Exportaciones dinámicas y resistencia del servicio
Una vez que el servicio Ganesha está en marcha, su potencia se revela aún más a través de sus capacidades de gestión dinámica de exportaciones. En lugar de editar archivos de configuración estáticos, un experto puede crear, modificar y eliminar exportaciones NFS sobre la marcha mediante una serie de sencillos comandos. Esto tiene un valor incalculable en entornos dinámicos en los que las necesidades de almacenamiento cambian rápidamente.
Crea una nueva exportación para hacer accesible el sistema de archivos CephFS
# sudo ceph nfs export create cephfs myganeshanfs /ganesha ganeshafs --path=/
El verdadero valor de este despliegue distribuido reside en la resistencia de sus servicios. El orquestador Ceph supervisa constantemente la salud de los demonios Ganesha. Si falla un host, el orquestador detectará automáticamente la pérdida y tomará medidas para garantizar que el servicio siga disponible. Este proceso automatizado de conmutación por error proporciona un alto grado de transparencia a los clientes, haciendo que Ganesha pase de ser una simple pasarela a un servicio de alta disponibilidad real. Su arquitectura está construida para soportar interrupciones, lo que la convierte en una parte indispensable de una estrategia de almacenamiento robusta.
Ejemplo real
Digamos que tenemos un clúster con 3 nodos preparados para ganesha, eso significa que podemos exportar con éxito el fs ceph subyacente del nodo 1 al nodo 2 y del nodo 2 al nodo 3, ¡o de la forma que queramos!
Conclusión: Por qué Ceph-Ganesha es esencial para el almacenamiento moderno
NFS Ganesha es algo más que una pasarela; es un componente crítico para integrar los servicios de archivos tradicionales con el almacenamiento moderno y escalable. Aprovechando la orquestación de línea de comandos de cephadm, los administradores pueden desplegar un servicio altamente disponible, resistente y gestionable dinámicamente. El proceso es un testimonio del poder de la gestión declarativa de infraestructuras, simplificando lo que de otro modo sería una tarea compleja. El diseño arquitectónico de Ganesha, combinado con la potencia del orquestador Ceph, lo convierte en una solución perfecta para satisfacer los exigentes requisitos de almacenamiento de los entornos híbridos actuales, p Precisamente por eso, en SIXE no sólo ofrecemos formación sobre Ceph, sino también apoyo especializado para que las empresas puedan mantener la estabilidad de sus infraestructuras de producción.