Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
es:documentation:07_technical_annexes:10_share_var_spool_directory_between_several_pandora_servers [2021/11/03 11:24] jimmy.olano [Compartición del directorio de intercambio entre varios servidores] |
es:documentation:07_technical_annexes:10_share_var_spool_directory_between_several_pandora_servers [2022/06/27 11:33] (actual) |
||
---|---|---|---|
Línea 1: | Línea 1: | ||
- | ====== Compartición del directorio | + | ====== Compartición del directorio de intercambio entre varios servidores ====== |
- | + | ||
- | ====== | + | |
{{indexmenu_n> | {{indexmenu_n> | ||
[[: | [[: | ||
- | |||
===== Introducción ===== | ===== Introducción ===== | ||
Línea 20: | Línea 17: | ||
{{ : | {{ : | ||
- | Cada uno de los agentes que gestione cada servidor, se comunicará con el Dataserver que tenga asignado utilizando la carpeta // | + | Cada uno de los agentes que gestione cada servidor, se comunicará con el Dataserver que tenga asignado utilizando la carpeta // |
<WRAP center round tip 60%> Se recomienda compartir también la carpeta // | <WRAP center round tip 60%> Se recomienda compartir también la carpeta // | ||
- | ==== ¿Qué método utilizar? ==== | ||
- | |||
- | A pesar de que tanto NFS como GlusterFS nos permiten compartir los ficheros que necesitamos, | ||
- | |||
- | * Si los datos van a almacenarse en un **servidor externo** | ||
- | * Si los datos van a almacenarse **en los propios servidores** | ||
- | <WRAP center round tip 60%> En entornos HA es obligatorio compartir los directorios //conf//, //md5//, // | + | <WRAP center round tip 60%> En entornos HA es obligatorio compartir los directorios //conf//, //md5//, // |
===== Configuración de NFS ===== | ===== Configuración de NFS ===== | ||
Línea 36: | Línea 27: | ||
==== Primeros pasos ==== | ==== Primeros pasos ==== | ||
- | Instalamos el paquete // | + | Instalamos el paquete // |
< | < | ||
Línea 45: | Línea 36: | ||
==== Configurando el servidor NFS ==== | ==== Configurando el servidor NFS ==== | ||
- | <WRAP center round important 60%> Es importante que el servidor NFS sea una **máquina independiente** | + | <WRAP center round important 60%> Es importante que el servidor NFS sea una **máquina independiente** de los servidores Pandora, pues si uno de ellos se configura como NFS server y hay algún problema que impida que el servidor cliente se conecte, no se podrá acceder a los datos compartidos y Pandora **no funcionará correctamente**. </ |
- | + | ||
- | Editamos el archivo /// | + | |
+ | Editamos el archivo /// | ||
< | < | ||
/ | / | ||
Línea 58: | Línea 48: | ||
</ | </ | ||
- | Donde // | + | Donde // |
< | < | ||
/ | / | ||
Línea 105: | Línea 94: | ||
</ | </ | ||
+ | |||
==== Configurando los clientes NFS ==== | ==== Configurando los clientes NFS ==== | ||
Línea 115: | Línea 105: | ||
</ | </ | ||
- | **__Observación__: | + | **__Observación__: |
< | < | ||
echo " | echo " | ||
Línea 174: | Línea 163: | ||
Donde [IP_SERVIDOR_NFS] es la dirección IP del servidor que presta el servicio NFS. | Donde [IP_SERVIDOR_NFS] es la dirección IP del servidor que presta el servicio NFS. | ||
- | |||
- | ===== Configuración de GlusterFS ===== | ||
- | |||
- | La configuración GlusterFS nos permite compartir los directorios clave de Pandora FMS entre los servidores y por tanto tener disponibilidad de los datos cuando haya una caída en una de las máquinas. Gracias a este sistema siempre tenemos un recurso activo y podremos acceder a nuestros datos aunque no estén todas las máquinas en funcionamiento. | ||
- | |||
- | ==== Requisitos mínimos ==== | ||
- | |||
- | * **Selinux** | ||
- | * **Firewall** | ||
- | * El **puerto 24009/ | ||
- | * Nombre y dirección IP de todas las máquinas en el archivo **/ | ||
- | * Creación de **discos adicionales sin particionar** | ||
- | |||
- | ==== Instalación de paquetes ==== | ||
- | |||
- | Para instalar GlusterFS, buscamos las versiones disponibles: | ||
- | |||
- | < | ||
- | yum search centos-release-gluster | ||
- | |||
- | </ | ||
- | |||
- | E instalamos la versión estable (LTS) más reciente: | ||
- | |||
- | < | ||
- | yum install centos-release-gluster37 | ||
- | yum install glusterfs glusterfs-cli glusterfs-libs glusterfs-fuse | ||
- | |||
- | </ | ||
- | |||
- | ==== Creación de las particiones XFS (bricks) ==== | ||
- | |||
- | <WRAP center round tip 60%> En esta guía utilizaremos dos nodos llamados // | ||
- | |||
- | Creamos un nuevo volumen físico usando el disco /dev/xvdb: | ||
- | |||
- | < | ||
- | pvcreate /dev/xvdb | ||
- | | ||
- | |||
- | </ | ||
- | |||
- | Creamos un grupo de volúmenes en /dev/xvdb: | ||
- | |||
- | < | ||
- | vgcreate vg_gluster /dev/xvdb | ||
- | | ||
- | |||
- | </ | ||
- | |||
- | Creamos un volumen brick1 para XFS bricks en ambos nodos del cluster, indicando el espacio que quiere asignarse al volumen con el parámetro //-L//: | ||
- | |||
- | < | ||
- | lvcreate -L 5G -n brick1 vg_gluster | ||
- | | ||
- | |||
- | </ | ||
- | |||
- | De manera alternativa puede indicarse el espacio a asignar como un porcentaje del disco: | ||
- | |||
- | < | ||
- | lvcreate -l 100%FREE -n brick1 vg_gluster | ||
- | |||
- | </ | ||
- | |||
- | Configuramos el filesystem como XFS: | ||
- | |||
- | < | ||
- | mkfs.xfs / | ||
- | |||
- | </ | ||
- | |||
- | Creamos el punto de montaje y montamos el brick XFS: | ||
- | |||
- | < | ||
- | mkdir -p / | ||
- | mount / | ||
- | |||
- | </ | ||
- | |||
- | Abrimos el archivo /etc/fstab, en el que hay que añadir la siguiente línea: | ||
- | |||
- | < | ||
- | / | ||
- | |||
- | </ | ||
- | |||
- | Habilitamos e iniciamos glusterfsd.service en ambos nodos: | ||
- | |||
- | < | ||
- | systemctl enable glusterd.service --now | ||
- | |||
- | </ | ||
- | |||
- | Desde el primer nodo GlusterFS, conectamos con el segundo y creamos el Trusted Pool (Storage Cluster). | ||
- | |||
- | < | ||
- | gluster peer probe gluster2.example.com | ||
- | peer probe: success. | ||
- | |||
- | </ | ||
- | |||
- | Verificamos el cluster peer: | ||
- | |||
- | < | ||
- | gluster peer status | ||
- | Number of Peers: 1 | ||
- | Hostname: gluster2.example.com | ||
- | Uuid: e528dc23-689c-4306-89cd-1d21a2153057 | ||
- | |||
- | | ||
- | |||
- | </ | ||
- | |||
- | ==== Creación del volumen HA ==== | ||
- | |||
- | A continuación usaremos la partición XFS / | ||
- | |||
- | Primero creamos el subdirectorio en el punto de montaje / | ||
- | |||
- | < | ||
- | mkdir / | ||
- | |||
- | </ | ||
- | |||
- | Crear un volumen replicado GlusterFS: | ||
- | |||
- | <WRAP center round important 60%> Ejecuta este comando **solamente en uno** de los nodos (// | ||
- | |||
- | < | ||
- | gluster volume create glustervol1 replica 2 transport tcp gluster1.example.com:/ | ||
- | gluster2.example.com:/ | ||
- | volume create: glustervol1: | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | gluster volume start glustervol1 | ||
- | volume start: glustervol1: | ||
- | |||
- | </ | ||
- | |||
- | Verifica los volúmenes GlusterFS: | ||
- | |||
- | < | ||
- | gluster volume info all | ||
- | Volume Name: glustervol1 | ||
- | Type: Replicate | ||
- | Volume ID: 6953a675-f966-4ae5-b458-e210ba8ae463 | ||
- | Status: Started | ||
- | Number of Bricks: 1 x 2 = 2 | ||
- | Transport-type: | ||
- | Bricks: | ||
- | Brick1: gluster1.example.com:/ | ||
- | Brick2: gluster2.example.com:/ | ||
- | Options Reconfigured: | ||
- | | ||
- | |||
- | </ | ||
- | |||
- | ==== Montaje de volúmenes en los clientes ==== | ||
- | |||
- | Instalamos los paquetes de cliente para GlusterFS: | ||
- | |||
- | < | ||
- | yum install glusterfs glusterfs-fuse attr -y | ||
- | |||
- | </ | ||
- | |||
- | Creamos la carpeta de archivos para Pandora: | ||
- | |||
- | < | ||
- | mkdir / | ||
- | |||
- | </ | ||
- | |||
- | <WRAP center round tip 60%> La ruta / | ||
- | |||
- | Montamos los volúmenes GlusterFS en el cliente: | ||
- | |||
- | < | ||
- | mount -t glusterfs gluster1.example.com:/ | ||
- | |||
- | </ | ||
- | |||
- | Añadimos la siguiente línea al /etc/fstab: | ||
- | |||
- | < | ||
- | gluster1.example.com:/ | ||
- | |||
- | </ | ||
- | |||
- | Una vez montada la partición en / | ||
- | |||
- | < | ||
- | cd / | ||
- | mkdir collections md5 conf netflow attachment | ||
- | |||
- | </ | ||
- | |||
- | En este paso se deben copiar todos estos directorios desde la carpeta original de / | ||
- | |||
- | < | ||
- | cp -rp / | ||
- | cp -rp / | ||
- | cp -rp / | ||
- | cp -rp / | ||
- | cp -rp / | ||
- | |||
- | </ | ||
- | |||
- | Eliminamos las carpetas antiguas: | ||
- | |||
- | < | ||
- | rm -rf / | ||
- | rm -rf / | ||
- | rm -rf / | ||
- | rm -rf / | ||
- | rm -rf / | ||
- | |||
- | </ | ||
- | |||
- | Y, por último, hacemos enlaces simbólicos (en los dos servidores) al cluster: | ||
- | |||
- | < | ||
- | ln -s / | ||
- | ln -s / | ||
- | ln -s / | ||
- | ln -s / | ||
- | ln -s / | ||
- | |||
- | </ | ||
- | |||
- | <WRAP center round tip 60%> En este punto, los dos servidores estarán compartiendo los directorios claves de Pandora, por lo que el proceso está completo. En caso de necesitar ampliar el volumen compartido, puede hacerse como [[: | ||
- | |||
- | ==== Ampliar volúmenes ==== | ||
- | |||
- | Es posible ampliar el volumen utilizado por GlusterFS sin necesidad de detener el servicio, incrementando el número de // | ||
- | |||
- | Para ello hay que crear un nuevo disco, siguiendo el mismo procedimiento que antes: | ||
- | < | ||
- | |||
- | | ||
- | | ||
- | |||
- | </ | ||
- | |||
- | Darle formato XFS: | ||
- | |||
- | < | ||
- | mkfs.xfs / | ||
- | |||
- | </ | ||
- | |||
- | Crear punto de montaje y montar el nuevo brick: | ||
- | |||
- | < | ||
- | mkdir -p / | ||
- | mount / | ||
- | |||
- | </ | ||
- | |||
- | Extender en /etc/fstab: | ||
- | |||
- | < | ||
- | / | ||
- | |||
- | </ | ||
- | |||
- | Crear la carpeta para el segundo brick: | ||
- | |||
- | < | ||
- | mkdir / | ||
- | |||
- | </ | ||
- | |||
- | Extender el volumen: | ||
- | |||
- | < | ||
- | | ||
- | | ||
- | |||
- | </ | ||
- | |||
- | Verificar el volumen: | ||
- | |||
- | < | ||
- | gluster volume info glustervol1 | ||
- | Volume Name: glustervol1 | ||
- | Type: Distributed-Replicate | ||
- | Volume ID: 6953a675-f966-4ae5-b458-e210ba8ae463 | ||
- | Status: Started | ||
- | Number of Bricks: 2 x 2 = 4 | ||
- | Transport-type: | ||
- | Bricks: | ||
- | Brick1: gluster1.example.com:/ | ||
- | Brick2: gluster2.example.com:/ | ||
- | Brick3: gluster1.example.com:/ | ||
- | Brick4: gluster2.example.com:/ | ||
- | |||
- | </ | ||
- | |||
- | Comprobar el uso en disco antes del reequilibrado: | ||
- | |||
- | < | ||
- | df -h | grep brick | ||
- | |||
- | </ | ||
- | |||
- | Reequilibrar: | ||
- | < | ||
- | |||
- | gluster volume rebalance glustervol1 start | ||
- | |||
- | </ | ||
- | |||
- | Comprobar el reequilibrado: | ||
- | |||
- | < | ||
- | gluster volume rebalance glustervol1 status | ||
- | |||
- | </ | ||
- | |||
- | Volver a comprobar el uso en disco: | ||
- | |||
- | < | ||
- | df -h | grep brick | ||
- | |||
- | </ | ||
- | |||
- | Comprobar los archivos en los bricks: | ||
- | < | ||
- | |||
- | ls -l / | ||
- | |||
- | </ | ||
===== Configurando Tentacle Server para acceso concurrente ===== | ===== Configurando Tentacle Server para acceso concurrente ===== | ||
Línea 530: | Línea 183: | ||
</ | </ | ||
- | |||
- | <WRAP center round important 60%> En caso de haber seguido la guía de GlusterFS, debe sustituirse /// | ||
- | |||
- | < | ||
- | ln -s / | ||
- | ln -s / | ||
- | |||
- | </ | ||
- | |||
- | </ | ||
Editamos el valor de TENTACLE_EXT_OPTS en el fichero / | Editamos el valor de TENTACLE_EXT_OPTS en el fichero / |