Herramientas de usuario

Herramientas del sitio


linux:clusters:csync2

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
linux:clusters:csync2 [2018/12/06 16:02] – creado grillolinux:clusters:csync2 [2018/12/06 16:07] (actual) grillo
Línea 5: Línea 5:
 Versión 1 Versión 1
  
-!''Configurar''+** Configurar **  
  
 Cluster de w11-test y w12-test como master y (esclavo) Cluster de w11-test y w12-test como master y (esclavo)
  
-Instalar csync2 en cada nodo del cluster +Instalar csync2 en cada nodo del cluster   
-{{{ apt-get install csync2 }}}+``` apt-get install csync2 ```
  
-Verificar que cada equipo conozca la ip de los demás en el /etc/hosts: +Verificar que cada equipo conozca la ip de los demás en el /etc/hosts:   
-{{{+```
 127.0.0.1    localhost 127.0.0.1    localhost
 192.168.2.152  w11-test.pm.rosario.gov.ar w11-test  192.168.2.152  w11-test.pm.rosario.gov.ar w11-test 
 192.168.2.153  w12-test.pm.rosario.gov.ar w12-test 192.168.2.153  w12-test.pm.rosario.gov.ar w12-test
-}}}+```
  
-En w11-test generar clave (si no hace nada tipear hasta que vuelva) +En w11-test generar clave (si no hace nada tipear hasta que vuelva)   
-{{{ csync2 -k /etc/csync2.key }}} +``` csync2 -k /etc/csync2.key ``` 
-{{{ chmod 600 /etc/csync2.key }}}+``` chmod 600 /etc/csync2.key ```
  
-Generar los certificados en un debian 6 o anterior con el Common Name (CN) vacío (por un bug de la v1) +Generar los certificados en un debian 6 o anterior con el Common Name (CN) vacío (por un bug de la v1)   
-{{{ openssl genrsa -out /etc/csync2_ssl_key.pem 1024 }}} +``` openssl genrsa -out /etc/csync2_ssl_key.pem 1024 ``` 
-{{{ openssl req -new -key /etc/csync2_ssl_key.pem -out /etc/csync2_ssl_cert.csr }}} +``` openssl req -new -key /etc/csync2_ssl_key.pem -out /etc/csync2_ssl_cert.csr ``` 
-{{{ openssl x509 -req -days 600 -in /etc/csync2_ssl_cert.csr -signkey /etc/csync2_ssl_key.pem -out /etc/csync2_ssl_cert.pem }}}+``` openssl x509 -req -days 600 -in /etc/csync2_ssl_cert.csr -signkey /etc/csync2_ssl_key.pem -out /etc/csync2_ssl_cert.pem ```
  
-Copiarlos a w11-test +Copiarlos a w11-test   
-{{{ rsync -av /etc/csync* w11-test:/etc/ }}} +``` rsync -av /etc/csync* w11-test:/etc/ ``` 
-{{{ chown root.root /etc/csync2_ssl* }}} +``` chown root.root /etc/csync2_ssl* ``` 
-{{{ chmod 640 /etc/csync2_ssl* }}}+``` chmod 640 /etc/csync2_ssl* ```
  
-Crear archivo de configuracion /etc/csync2.cfg en w11-test: +Crear archivo de configuracion /etc/csync2.cfg en w11-test:   
-{{{+ 
 +```
 # please see the REAMDE file how to configure csync2 # please see the REAMDE file how to configure csync2
 #nossl w* w*; # no utiliza certificados ni encriptacion #nossl w* w*; # no utiliza certificados ni encriptacion
-group apache2 {+group apache2 `
         host    w11-test;         host    w11-test;
         host    (w12-test);         host    (w12-test);
Línea 45: Línea 46:
         include /var/www;         include /var/www;
         exclude *.swp;         exclude *.swp;
-        action {+        action `
                 pattern /etc/apache2/*;                 pattern /etc/apache2/*;
                 exec    "/usr/bin/rsync -a /etc/apache2/* /var/backups/apache2-csync2/`date +%Y.%m.%d-%H.%M.%S`-apache2/; /etc/init.d/apache2 reload";                 exec    "/usr/bin/rsync -a /etc/apache2/* /var/backups/apache2-csync2/`date +%Y.%m.%d-%H.%M.%S`-apache2/; /etc/init.d/apache2 reload";
                 logfile "/var/log/csync2_apache.log";                 logfile "/var/log/csync2_apache.log";
                 do-local; #ejecuta el comando en local y remotos                 do-local; #ejecuta el comando en local y remotos
-        } +        ` 
-        action {+        action `
                 pattern /etc/php5/*;                 pattern /etc/php5/*;
                 exec    "/usr/bin/rsync -a /etc/php/* /var/backups/apache2-csync2/`date +%Y.%m.%d-%H.%M.%S`-php/; /etc/init.d/apache2 reload";                 exec    "/usr/bin/rsync -a /etc/php/* /var/backups/apache2-csync2/`date +%Y.%m.%d-%H.%M.%S`-php/; /etc/init.d/apache2 reload";
                 logfile "/var/log/csync2_php.log";                 logfile "/var/log/csync2_php.log";
                 do-local;                 do-local;
-        } +        ` 
-        action {+        action `
                 pattern /var/www/*;                 pattern /var/www/*;
                 exec    "/usr/bin/rsync -a /var/www/* /var/backups/apache2-csync2/`date +%Y.%m.%d-%H.%M.%S`-www/";                 exec    "/usr/bin/rsync -a /var/www/* /var/backups/apache2-csync2/`date +%Y.%m.%d-%H.%M.%S`-www/";
                 logfile "/var/log/csync2_www.log";                 logfile "/var/log/csync2_www.log";
                 do-local;                 do-local;
-        }+        `
  
         backup-directory /var/backups/csync2;         backup-directory /var/backups/csync2;
Línea 68: Línea 69:
  
         auto none; # modo para resolver conflictos en este caso gana siempre master         auto none; # modo para resolver conflictos en este caso gana siempre master
-} +` 
-}}}+```
  
-Copiar archivos de configuracion a w12-test +Copiar archivos de configuracion a w12-test   
-{{{ scp /etc/csync2* w12-test:/etc/ }}}+``` scp /etc/csync2* w12-test:/etc/ ```
  
-Reiniciar el inetd en ambos nodos +Reiniciar el inetd en ambos nodos   
-{{{ /etc/init.d/openbsd-inetd restart }}}+``` /etc/init.d/openbsd-inetd restart ```
  
-Generar directorio para backups en cada nodo +Generar directorio para backups en cada nodo   
-{{{ mkdir -p /var/backups/csync2/ }}}+``` mkdir -p /var/backups/csync2/ ```
  
-Hacer primera sincronización para generar la base +Hacer primera sincronización para generar la base   
-Primero en el master y luego en los esclavos +Primero en el master y luego en los esclavos   
-{{{ csync2 -xv }}} +``` csync2 -xv ``` 
-Los esclavos deben tirar error de que no pueden sincronizar a otros por política del cluster +Los esclavos deben tirar error de que no pueden sincronizar a otros por política del cluster   
-{{{ ERROR from peer w12-test: Permission denied for slave! }}}+``` ERROR from peer w12-test: Permission denied for slave! ```
  
-Verificar que todos quedaron con la base al día (no debe devolver ninguna salida) +Verificar que todos quedaron con la base al día (no debe devolver ninguna salida)   
-{{{ csync2 -T }}}+``` csync2 -T ```
  
-Opcional: agregar sincronización automática +Opcional: agregar sincronización automática   
-{{{ */1 * * * * csync2 -x >/dev/null 2>&}}}+``` */1 * * * * csync2 -x >/dev/null 2>&```
  
-Opcional: generar script para sincronizar a mano +Opcional: generar script para sincronizar a mano   
-Archivo /usr/local/bin/apache2sync +Archivo /usr/local/bin/apache2sync   
-{{{+ 
 +```
 #!/bin/bash #!/bin/bash
 # sincroniza config de apache usando csync2 # sincroniza config de apache usando csync2
Línea 100: Línea 102:
 /usr/sbin/csync2 -v -m $@ 2>&1 | /usr/bin/logger -t csync2 /usr/sbin/csync2 -v -m $@ 2>&1 | /usr/bin/logger -t csync2
 /usr/sbin/csync2 -v -u 2>&1 | /usr/bin/logger -t csync2 /usr/sbin/csync2 -v -u 2>&1 | /usr/bin/logger -t csync2
-}}}+```
 Marca para sincronizar los archivos modificados y después los sincroniza notificando al syslog Marca para sincronizar los archivos modificados y después los sincroniza notificando al syslog
  
-Fuente:+Fuente  
 http://hswong3i.net/blog/hswong3i/apache2-cluster-csync2-ubuntu-12-04-mini-howto http://hswong3i.net/blog/hswong3i/apache2-cluster-csync2-ubuntu-12-04-mini-howto
  
-!''Problemas''+** Problemas **  
  
-Para debug de errores +Para debug de errores   
-{{{ csync2 -xvvv }}} +``` csync2 -xvvv ``` 
-{{{ csync2 -TI }}}+``` csync2 -TI ```
  
-Probar sin certificados: descomentar en config y reiniciar +Probar sin certificados: descomentar en config y reiniciar   
-{{{+```
 nossl w* w*; # no utiliza certificados ni encriptacion nossl w* w*; # no utiliza certificados ni encriptacion
-}}}+``` 
 + 
 +En caso de cambio de certificados: error   
 +``` Peer did provide a wrong SSL X509 cetrificate. ``` 
 + 
 +Borrar certificado de la base   
 +``` sqlite /var/lib/csync2/`hostname`.db ``` 
 +``` sqlite> delete from x509_cert where peername = 'name-of-peer'; ```
  
-En caso de cambio de certificados: error  +Error de identificacion   
-{{{ Peer did provide a wrong SSL X509 cetrificate. }}} +``` ERROR from peer w12-test: Identification failed! ```
-Borrar certificado de la base +
-{{{ sqlite /var/lib/csync2/`hostname`.db }}} +
-{{{ sqlite> delete from x509_cert where peername = 'name-of-peer'; }}}+
  
-Error de identificacion +Revisar que cada equipo se pueda conectar a los demás sin problemas   
-{{{ ERROR from peer w12-test: Identification failed! }}}+``` csync2 -vT ```
  
-Revisar que cada equipo se pueda conectar a los demás sin problemas +Borrar base en los nodos y regenerar listado de archivos sincronizados   
-{{{ csync2 -vT }}}+``` rm /var/lib/csync2/w11-test.db ```
  
-Borrar base en los nodos y regenerar listado de archivos sincronizados +Script para borrar archivos de la base  
-{{{ rm /var/lib/csync2/w11-test.db }}}+
  
-Script para borrar archivos de la base +```
-{{{+
 echo 'select filename from file;' | sqlite /var/lib/csync2/w11-test.db | grep sites-enabled >/tmp/1 echo 'select filename from file;' | sqlite /var/lib/csync2/w11-test.db | grep sites-enabled >/tmp/1
-for I in `cat /tmp/1`; do echo "delete from file where filename = \"${I}\";" | sqlite /var/lib/csync2/w11-test.db; done +for I in `cat /tmp/1`; do echo "delete from file where filename = \"$`I`\";" | sqlite /var/lib/csync2/w11-test.db; done 
-}}}+```
linux/clusters/csync2.1544112164.txt.gz · Última modificación: 2018/12/06 16:02 por grillo