Implantación de un servidor de cluster NFS en OCI con Object Storage como repositorio
Cuando tenemos una cantidad ilimitada de datos críticos no estructurados a los que se accede con frecuencia desde su inicio, pero con poca frecuencia desde entonces, la mejor opción es Oracle Cloud Infrastructure Object Storage.
Sin embargo, puesto que algunas aplicaciones no pueden utilizar Object Storage de forma nativa, necesitamos utilizar soluciones de terceros. Para esta arquitectura, utilizaremos:
- Rclone para leer y escribir en Object Storage.
- Corosync y Pacemaker para crear en el cluster (activo-en espera), y para garantizar la alta disponibilidad que requieren las aplicaciones críticas (por ejemplo, Rclone, IP secundaria, servicio NFS, punto de montaje, etc.).
- IP secundaria para montar el sistema de archivos de red (NFS) compartido por el cluster y para failover automático entre los nodos del cluster.
Esta arquitectura de referencia describe una configuración inspirada por el cliente que combina alta disponibilidad y flexibilidad.
Arquitectura
En el siguiente diagrama se ilustra esta arquitectura de referencia.
En este escenario, para acelerar el proceso de switchover, hemos mantenido: los servicios Rclone y NFS en ejecución; Rclone en el modelo de montaje; el servicio NFS que comparte la carpeta montada por Rclone; y la IP secundaria conectada solo a uno de los nodos.
La arquitectura tiene los siguientes componentes:
oci-rclone-architecture-diagram-oracle.zip
El proceso de switchover entre nodos se puede ver en OTube.
APP Server => inst-i6hjc-rclone-ha - Client Server
/mnt/nfs_rclone_v2 = Mount point client side
NFS - Floating IP = 172.10.0.100
RCLONE => nfs-rclone = Cluster Node1 = IP = 172.10.0.287
RCLONE STANDBY => inst-e2fc3-rclone-ha = Cluster Node 2 - IP = 172.10.0.121
NFS - SHARE
/mnt/nfs_rclone = From Object Storage
Puede utilizar la copia de seguridad entre regiones para crear una recuperación ante desastres; si utiliza una variable en la configuración, la configuración de Rclone es estática.
oci-nfs-cluster-architecture-diagram-oracle.zip
Para la recuperación ante desastres:
- Utilice la replicación de Object Storage para la recuperación ante desastres creando una réplica de los datos en otras regiones. Consulte Explorar más: Uso de la replicación.
- Cree una solución de recuperación ante desastres para las instancias informáticas. Consulte Explorar más: Replicación de un volumen.
Esta arquitectura contiene los siguientes componentes:
- Región
Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, denominados dominios de disponibilidad. Las regiones son independientes de otras regiones, y las grandes distancias pueden separarlas (entre países e incluso continentes).
- dominios de disponibilidad
Los dominios de disponibilidad son centros de datos independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los otros dominios de disponibilidad, lo que proporciona tolerancia a fallos. Los dominios de disponibilidad no comparten una infraestructura, como la alimentación o la refrigeración, ni la red interna del dominio de disponibilidad. Por lo tanto, es improbable que un fallo en un dominio de disponibilidad afecte a los otros dominios de la región.
- Dominios de errores
Un dominio de errores es una agrupación de hardware e infraestructura dentro de un dominio de disponibilidad. Cada dominio de disponibilidad tiene tres dominios de errores con energía y hardware independientes. Al distribuir recursos entre varios dominios de errores, sus aplicaciones pueden tolerar fallos en el servidor físico, el mantenimiento del sistema y los fallos de energía dentro de un dominio de errores.
- Red virtual en la nube (VCN) y subredes
Una VCN es una red personalizable y definida por software que se configura en una región de Oracle Cloud Infrastructure. Al igual que las redes de centros de datos tradicionales, las redes virtuales le proporcionan un control completo de su entorno de red. Una VCN puede tener varios bloques CIDR no superpuestos que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes, que se pueden acotar a una región o a un dominio de disponibilidad. Cada subred está compuesta por un rango contiguo de direcciones que no se solapan con las demás subredes de la VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.
- Object Storage
El almacenamiento de objetos proporciona acceso rápido a grandes cantidades de datos estructurados y no estructurados de cualquier tipo de contenido, incluidas copias de seguridad de bases de datos, datos analíticos y contenido enriquecido, como imágenes y vídeos. Puede almacenar datos de forma segura y, a continuación, recuperarlos directamente desde Internet o desde la plataforma en la nube. Puede ampliar el almacenamiento sin problemas sin que se produzca ninguna degradación del rendimiento o la fiabilidad del servicio. Utilice el almacenamiento estándar para el almacenamiento "activo" al que tenga que acceder de forma rápida, inmediata y frecuente. Utilice el almacenamiento de archivos para el almacenamiento "en frío" que retiene durante largos períodos de tiempo y a los que rara vez o rara vez accede.
- Rclone
Rclone es un programa de línea de comandos de código abierto para gestionar archivos en el almacenamiento en la nube que se utiliza aquí para entregar el almacenamiento de objetos mediante NFS.
- Corosync y Pacemaker
Corosync y Pacemaker son servicios de código abierto adecuados para clusters pequeños y grandes, y responsables de proporcionar alta disponibilidad en las aplicaciones.
- CLI de OCI
La CLI de OCI es responsable de integrar el recurso VirtualIP IPaddr2 de Linux Corosync/Pacemaker con la IP secundaria de vNIC de Oracle Cloud Infrastructure.
- Oracle Linux
Las instancias de Oracle Linux 8.6 se utilizan para alojar este entorno. También se pueden utilizar otras distribuciones de Linux, siempre que admitan Linux Rclone/Corosync/Pacemaker.
- IP secundaria
Una vez iniciada, se puede agregar una IP privada secundaria a una instancia. Puede agregarla a la VNIC principal o secundaria de la instancia. Esta IP secundaria flotará entre los nodos; si un nodo está caído, la IP flotante pasará a otro. Corosync y Pacemaker serán responsables de este proceso de cambio.
Recomendaciones
- Rclone
Utilice el mismo nombre de directorio en ambos nodos del cluster. Preste atención a la configuración de exportación NFS para que no haya problemas al utilizar el sistema de archivos Rclone. Si utiliza la interfaz gráfica para montar el directorio, puede supervisarlo mediante la interfaz gráfica.
Si no configura los servicios Rclone en el cluster de Linux, recomendamos utilizar un script de shell en crontab para iniciar los servicios durante el inicio del servidor.
- VCN
Al crear una VCN, determine el número de bloques CIDR necesarios y el tamaño de cada bloque en función del número de recursos que planea asociar a las subredes de la VCN. Utilice bloques CIDR que estén dentro del espacio de dirección IP privada estándar.
Seleccione bloques CIDR que no se superpongan con ninguna otra red (en Oracle Cloud Infrastructure, su centro de datos local u otro proveedor de nube) a la que desea configurar conexiones privadas.
Después de crear una VCN, puede cambiar, agregar y eliminar sus bloques CIDR.
Al diseñar las subredes, tenga en cuenta el flujo de tráfico y los requisitos de seguridad. Asocie todos los recursos de un nivel o rol específico a la misma subred, que puede servir como límite de seguridad.
- Unidades de computación
Esta arquitectura utiliza una imagen del sistema operativo Oracle Linux con una unidad flexible E3 o E4 con recursos mínimos para alojar hosts informáticos en nodos de cluster. Si su aplicación necesita más red de rendimiento, memoria o núcleos, puede elegir una unidad diferente.
- Cluster de Oracle Linux
Una vez que se hayan aprovisionado las instancias de Oracle Linux, deberá configurar la CLI como se explica en la documentación pública e instalar y configurar el cluster Corosync/Pacemaker junto con sus requisitos (stonith, quorum, recursos, restricciones, etc.). Después de configurar el cluster y la CLI de Corosync/Pacemaker, deberá configurar el recurso VirtualIP. En este enlace se muestra un ejemplo rápido de cómo configurar un recurso VirtualIP en Corosync/Pacemaker mediante la línea de comandos. El mismo proceso también se puede realizar a través de la interfaz de usuario del explorador web.
- Object Storage
Utilice la gestión del ciclo de vida de objetos (consulte Más información) para cambiar el tipo y utilizar las reglas de retención para conservar los datos (consulte Más información) para cambiar y gestionar los datos del cubo después de cargar los archivos.
- Corosync y Pacemaker
Utilice tantas variables como sea posible al integrar Linux Corosync y Pacemaker con la CLI de OCI para mantener el script estático e independiente del servidor en ejecución.
Explorar más
Obtén más información sobre la recuperación ante desastres.
Revise estos recursos adicionales:
- OCI
- Uso de replicación
- Replicación de un volumen
- Uso de Object Lifecycle Management
- Uso de reglas de retención para conservar datos
- Marco de mejores prácticas para Oracle Cloud Infrastructure
- Visión general de Object Storage
- Configuración de clusters de alta disponibilidad
- El failover de IP virtual automático en Oracle Cloud Infrastructure parece difícil, pero no lo es
- Restauración de una copia de seguridad a un volumen nuevo
- Otra