Tengo máquinas virtuales que ejecutan nginx y php fpm en máquinas separadas, por ahora uso un método muy estúpido para sincronizar directorios manualmente ya que el clúster no es tan grande. Sin embargo, tengo otro servidor por ahí que me gustaría utilizar como dispositivo de almacenamiento compartido.
Hasta ahora entendí que puedo proporcionar almacenamiento a través de iscsi con el estilo de archivo ocfs2. Lo que me molesta es que la configuración inicial requiere especificar cada nodo por adelantado y luego, para agregar un nodo, necesitaría apagar o2cb para aplicar los cambios.
El objetivo es proporcionar almacenamiento compartido a los nodos nginx y php-fpm a través de iscsi (por lo que no tengo que realizar la replicación); sin embargo, la cantidad de nodos puede aumentar dependiendo de la carga del clúster.
Idea n.º 1: ¿Quizás de alguna manera pueda proporcionar almacenamiento a mis máquinas virtuales a través del host, de modo que solo el host trate directamente con ocfs2? de esa forma se conoce el nodo.
Respuesta1
OCFS2 es un sistema de archivos en clúster que asume que cada dispositivo de bloque que utiliza para las réplicas es idéntico. Está diseñado para un caso de uso muy diferente al de nginx, donde el bloqueo y el orden de datos son extremadamente cohesivos entre los nodos participantes.
Esto requiere una gran cantidad de gastos generales, pero puede resultar muy beneficioso para ejecutar varios trabajadores que realizan modificaciones en el mismo conjunto de datos. Este es un patrón que nos gusta intentar evitar durante el almacenamiento, aunque a veces resulta útil. Éste no es ese momento.
Esta implementación se beneficiaría de un recurso compartido central de NFS o SMB, no de FS agrupados respaldados por iSCSI. De esa forma, cada trabajador de Nginx tiene acceso a los mismos directorios. Sería mejor que no intenten escribir en el mismo archivo al mismo tiempo, pero si necesita hacerlo, puede asegurarse de utilizar NFS >v4.1 o SMB >v3.x. Ambos manejan el bloqueo mejor que las versiones anteriores.
Respuesta2
Simplemente podría configurar su tercer servidor como servidor NFS, eso tendría más sentido que usar OCFS2 en ese caso de uso. OCFS2 es mejor además del almacenamiento SAN rápido o del almacenamiento replicado en tiempo real, como DRBD.