Manual de Proyecto FinalEsta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz       e...
Manual de Proyecto FinalÍndiceConfiguración..................................................................................
Manual de Proyecto FinalConfiguraciónVirtualboxPrimero necesitamos que tener previamente instalado un software para virtua...
Manual de Proyecto FinalAparecerá una ventana donde elegiremos el nombre de la máquina virtual, el tipo de sistemaoperativ...
Manual de Proyecto FinalEl siguiente paso será para seleccionar o crear un disco duro virtual, nosotros crearemos uno nuev...
Manual de Proyecto FinalUna vez creada la máquina virtual la iniciamos y nos pedirá un disco de instalación, seleccionamos...
Manual de Proyecto FinalAgregaremos las siguientes líneas al repositorio y también los siguientes comandos.  Esta obra de ...
Manual de Proyecto FinalRedAhora necesitamos que la máquina virtual tenga una IP de la misma red a la que estamosconectado...
Manual de Proyecto FinalYa otra vez en la máquina virtual observaremos si se nos asignó una IP de la red, para esto usarem...
Manual de Proyecto FinalAhora reiniciaremos el servicio de red con el comando sudo /etc/init.d/networking restart. Yejecut...
Manual de Proyecto FinalInterfáz GráficaPara instalar la interfaz gráfica se necesita ejecutar el siguiente comando sudo a...
Manual de Proyecto FinalEntraremos a la opción de servidores -> servidor DNS y seleccionaremos crear una zona maestra,ahí ...
Manual de Proyecto FinalDespués agregaremos un alias para ese dominio agregándole el www y que no aparezca completocon el ...
Manual de Proyecto FinalAhora ya tenemos configurado un DNS con un domino, pasaremos configurar un host virtual enapache p...
Manual de Proyecto FinalAplicaremos los cambios y para probar si funciona se necesita tener una página web en la carpetaqu...
Manual de Proyecto FinalDespués regresamos al menú de postfix y entramos a dominios virtuales, ahí agregamos nuestrodomino...
Manual de Proyecto FinalCrearemos otra cuenta con otro usuario para poder probarlo entre estas dos cuentas. Se puedeprobar...
Manual de Proyecto FinalYa instalado el modulo lo podemos encontrar en los servidores, lo seleccionamos y entramos almenú ...
Manual de Proyecto FinalConfiguración del samba desde de la aplicación webminAccedemos a la aplicación de Samba desde webm...
Manual de Proyecto Finalcliente el sistema operativo de ambas maquinas puede ser diferente, como en este caso se maneja el...
Manual de Proyecto FinalLo que también lo que podemos configurar son los clientes que pueden acceder a la carpetacompartid...
Manual de Proyecto FinalEn edit Samba users and passwords, encontramos la lista de los usuarios que tiene Samba y ademáspo...
Manual de Proyecto FinalTambién podemos configurar las carpetas que se comparten entre los sistemas, dándole doble clicsob...
Manual de Proyecto FinalEn este caso solo agregaremos a uno de nuestros usuarios de poder leer y escribir agregandodo alus...
Manual de Proyecto FinalUna vez terminado toda la configuración reiniciamos el Samba para poder visualizar nuestra red enW...
Manual de Proyecto FinalServidor mirrorUn servidor mirror o espejo es un servidor que respalda al principal el cual el cua...
Manual de Proyecto FinalConfiguración del HeartbeatRequerimientos    1. 2 Equipos, o mas, que podrán ser virtuales (si se ...
Manual de Proyecto Final¿Cómo funciona todo esto?El Heartbeat del nodo activo (so) enviará periódicamente "latidos" al nod...
Manual de Proyecto Final~# aptitude install watchdog heartbeatHeartbeat utiliza tres tipos de ficheros: authkeys (lugar do...
Manual de Proyecto FinalEl siguiente fichero que vamos a tratar va a ser ha.cf. Este archivo se encarga de listar los nodo...
Manual de Proyecto Final# Interfaz utilizado para enviar los mesajes de broadcastbcast eth0# Interfaz y nodo al que enviar...
Manual de Proyecto FinalLa línea de datos está formada por dos parámetros, el primero de ellos es el nombre o dirección IP...
Manual de Proyecto FinalEs decir, podremos apreciar cómo MIRROR ha detectado la caída de SO y a continuación esteúltimo as...
Manual de Proyecto Finala monitorizar, indicaremos la dirección IP virtual que recibirá los paquetes (192.168.1.20) y lasd...
Manual de Proyecto Final# Vsftpdvirtual=192.168.1.20:21real=10.0.0.12:21 masqreal=10.0.0.13:21 masqservice=ftpprotocol=tcp...
Manual de Proyecto Finalldirectord solicitará a Apache la página web index.html (request) y comprobará su contenido(receiv...
Manual de Proyecto Finalactualizando sus tablasSi en un momento dado el nodo HA1 se cae y HA2 asume el papel de activo, es...
Manual de Proyecto FinalPor este motivo será necesario que el proceso init no levante a ldirectord cuando arranque elsiste...
Upcoming SlideShare
Loading in …5
×

Manual proyecto final

1,070 views

Published on

sistemas operativos proyecto final servidores samba webmin heartbeat ubuntu virtualbox

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,070
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
30
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Manual proyecto final

  1. 1. Manual de Proyecto FinalEsta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  2. 2. Manual de Proyecto FinalÍndiceConfiguración.....................................................................................................................................3 Virtualbox......................................................................................................................................3 Red................................................................................................................................................7 Interfáz Gráfica............................................................................................................................11 Webmin.......................................................................................................................................11 Samba..........................................................................................................................................18 Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  3. 3. Manual de Proyecto FinalConfiguraciónVirtualboxPrimero necesitamos que tener previamente instalado un software para virtualizar maquinas, en estacaso usaremos virtualbox y también necesitamos descargar la imagen .iso de Ubuntu server,teniendo esto podemos empezar la instalación.Abrimos virtualbox y seleccionamos nueva, nos aparecerá el asistente de instalación yseleccionamos siguiente. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  4. 4. Manual de Proyecto FinalAparecerá una ventana donde elegiremos el nombre de la máquina virtual, el tipo de sistemaoperativo y su distribución o versión, para nuestro caso seleccionaremos Linux, la versión seráUbuntu y le damos un nombre a la máquina virtual. Seleccionamos siguiente.Eligiéremos cuanta memoria RAM se le va asignar a la máquina virtual una vez que esta inicie. Esteparámetro va a variar dependiendo el hardware del equipo donde estemos virtualizando, nosotros leasignamos 1500mb de RAM. Le damos siguiente. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  5. 5. Manual de Proyecto FinalEl siguiente paso será para seleccionar o crear un disco duro virtual, nosotros crearemos uno nuevoy continuamos. Después seleccionamos el tipo de disco duro que será, dejaremos el de default quees propio de virtualbox (vdi) y le damos siguiente. Ahora nos da la opción de almacenamiento fijo odinámico para lo cual nosotros seleccionaremos tamaño fijo y le damos siguiente. Por ultimoescogeremos la cantidad de espacio que tendrá el disco duro virtual, este parámetro también puedevariar. Nosotros le asignaremos 10gb. Le damos siguiente y crear. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  6. 6. Manual de Proyecto FinalUna vez creada la máquina virtual la iniciamos y nos pedirá un disco de instalación, seleccionamosla ubicación de nuestra imagen ISO de Ubuntu server y después empezara a correr. Aparecerá unaventana donde seleccionaremos instalar Ubuntu server. A partir de ahí tenemos que hacer algunasconfiguraciones básicas como el idioma, teclado, país, formato del disco y actualizaciones. Pero nosinteresa llegar a la parte que dice que paquetes extras queremos instalar, ahí seleccionaremos LAMPy WEBMIN que son paquetes que usaremos para montar los servicios que daremos.Continuamos yterminaremos la instalación.Durante la instalación nos pedirá la contraseña de root para mysql y cuando termine la instalaciónse reiniciara la máquina y nos pedirá el usuario y contraseña e iniciara en consola ya que Ubuntuserver no tiene interfaz gráfica, la cual hay que instalar aparte. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  7. 7. Manual de Proyecto FinalAgregaremos las siguientes líneas al repositorio y también los siguientes comandos. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  8. 8. Manual de Proyecto FinalRedAhora necesitamos que la máquina virtual tenga una IP de la misma red a la que estamosconectados para saber que los servicios están disponibles para cualquiera usuario de la red. Paraesto apagaremos la máquina virtual con el comando sudo shutdown –P now. Una vez apagada envirtualbox le damos click derecho a la máquina virtual y seleccionamos configuración después red yahí en la opción de conectado a: le daremos en adaptador puente. Le damos aceptar y iniciamos lamáquina virtual. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  9. 9. Manual de Proyecto FinalYa otra vez en la máquina virtual observaremos si se nos asignó una IP de la red, para esto usaremosel comando ifconfig y podemos ver la IP del servidor.Un servidor debe tener una IP estática, para cambiar la configuración de la ip ejecutaremos lossiguientes comandos sudo nano /etc/network/interfaces y modificaremos ese archivo con lossiguientes datos, que varian dependiendo de la configuración de la red. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  10. 10. Manual de Proyecto FinalAhora reiniciaremos el servicio de red con el comando sudo /etc/init.d/networking restart. Yejecutamos el comando ifconfig para ver los cambios. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  11. 11. Manual de Proyecto FinalInterfáz GráficaPara instalar la interfaz gráfica se necesita ejecutar el siguiente comando sudo apt-get install gnome-shell y una vez que termine de instalarse se levantara la interfaz gráfica con el comando sudo startxWebminEn este punto empezaremos a configurar los servicios que daremos, para esto usaremos laherramienta webmin que nos permite hacer varias configuraciones de manera gráfica y remota. Paraacceder a la herramienta tenemos que poner en el explorador la IP del servidor y entrar por el puerto10000 e ingresar el usuario y contraseña de la máquina. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  12. 12. Manual de Proyecto FinalEntraremos a la opción de servidores -> servidor DNS y seleccionaremos crear una zona maestra,ahí pondremos los datos del dominio que queremos crear. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  13. 13. Manual de Proyecto FinalDespués agregaremos un alias para ese dominio agregándole el www y que no aparezca completocon el nombre del equipo.Para que quede completo este dominio hay que crear una zona inversa para que se pueda acceder ala página con la IP en lugar del dominio, para esto creamos una nueva zona maestra y ahorapondremos la IP pero omitiremos el último segmento de esta el cual está destinado a hosts. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  14. 14. Manual de Proyecto FinalAhora ya tenemos configurado un DNS con un domino, pasaremos configurar un host virtual enapache para que el dominio que acabamos de crear tenga una página web. Primero necesitamoscrear una carpeta donde tengamos guardados los archivos de la página web con sus permisoscorrespondientes, una vez hecho esto entramos a webmin en servidores y luego apache, ahíseleccionaremos crear un virtual host y pondremos los datos del domino al que le corresponde elhost y la carpeta donde estará. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  15. 15. Manual de Proyecto FinalAplicaremos los cambios y para probar si funciona se necesita tener una página web en la carpetaque escogimos y un cliente que tenga como servidor DNS la IP de nuestro servidor, una vez hechoesto entramos al navegador e ingresamos el domino que creamos y veremos la página web.Para configurar un servidor de correo muy simple necesitamos entrar a webmin y después postfixahí entraremos a la parte de opciones generales y agregaremos nuestro dominio a la lista dedominios que se van a recibir. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  16. 16. Manual de Proyecto FinalDespués regresamos al menú de postfix y entramos a dominios virtuales, ahí agregamos nuestrodomino igualmente para crear las cuentas de correo con nuestro domino.Ahora en ese mismo menú seleccionaremos crear un nuevo mapeo y llenaremos la información denuestra nueva cuenta de correo con la dirección de correo y al usuario que le pertenece., claro queesto será solo una dirección de correo local. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  17. 17. Manual de Proyecto FinalCrearemos otra cuenta con otro usuario para poder probarlo entre estas dos cuentas. Se puedeprobar con Outlook o algún otro cliente que acepte conexión SSL o segura y configurando en elcliente el servidor SMTP y POP3 daremos la dirección IP de nuestro servidor.Pasaremos a configurar el servidor FTP, primero necesitamos descargar el paquete vsftpd que seráel que usaremos, para esto ejecutaremos el siguiente comando sudo apt-get install vsftpd. Una vezque se descargue y se instale bajaremos el modulo para poder administrarlo desde webmin, elmodulo lo descargaremos del siguiente link www.provider4u.de/download.html, ya descargadoentraremos a webmin webmin-> configuración, ahí entraremos a módulos y seleccionamos desdeun archivo local la carpeta donde está el modulo descargado y lo instalamos. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  18. 18. Manual de Proyecto FinalYa instalado el modulo lo podemos encontrar en los servidores, lo seleccionamos y entramos almenú de vsftpd, ahí seleccionamos entradas manuales para modificar directamente el archivo deconfiguración, ya que para este servicio en lo personal es más fácil configurarlo por este medio.Borramos todo el archivo y escribiremos las siguientes líneas:En la línea “anon_root” estamos seleccionado la carpeta donde accederán los usuarios anónimos,esto lo dejamos por si se desea compartir una carpeta para cualquier usuario conectado a la red, laruta se debe modificar.SambaSamba es una implementación libre del protocolo de archivos compartidos de Microsoft Windows(antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo UNIX. Deesta forma, es posible que ordenadores con Linux o Mac OS X se vean como servidores o actúencomo clientes en redes de Windows. Samba también permite validar usuarios haciendo deControlador Principal de Dominio (PDC), como miembro de dominio e incluso como un dominioActive Directory para redes basadas en Windows; aparte de ser capaz de servir colas de impresión,directorios compartidos y autenticar con su propio archivo de usuarios. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  19. 19. Manual de Proyecto FinalConfiguración del samba desde de la aplicación webminAccedemos a la aplicación de Samba desde webmin localizada en las herramientas de servers, elcual muestra un entorno más grafico e interactivo para la configuracion, haciendo esto mas fácilpara el usuario, en caso de que no se encuentre instalada la aplicación en samba se puede instalardesde la terminal mediante:apt-get install samba smbfso en caso contrario también se puede desde el mismo webmin buscando la aplicacion de Samba enUn-used Modulos para instalarlo.Una vez accediendo a la Aplicación de samba mostrara algo parecido a la imagenEn donde por lo particular mostrador las impresoras compartidas, lo que realizaremos acontinuación será crear una ruta y una carpeta para comprar archivos entre el servidor una maquina Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  20. 20. Manual de Proyecto Finalcliente el sistema operativo de ambas maquinas puede ser diferente, como en este caso se maneja elservidor con Ubuntu server y cliente con Windows 7.Nos dirigimos a Windows Networking donde configuraremos la carpeta para compartirla con elsistema operativo Windows.Llenamos los datos del área de trabajo, podemos agregar una descripción del mismo y las ip quepodrán ver estar acceder a esta área, en este caso solamente configuraros los dos primerosparámetros y guardamos. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  21. 21. Manual de Proyecto FinalLo que también lo que podemos configurar son los clientes que pueden acceder a la carpetacompartida así como también los permisos que deseemos otórgales a cada uno, independientementeo para usuarios en general.Los usurios que maneja Samba no son los mismos que maneje el sistema para ello lo que aremosserá sincronizar los usuarios de Ubuntu con los de Samba mediante Configure automatic Unix andSamba user synchronisation, en donde solo se habilitan los siguientes campos y aplicamos parasincronizar unix con samba en la creación, cambios y borrados de usuarios se realice en ambossistemas. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  22. 22. Manual de Proyecto FinalEn edit Samba users and passwords, encontramos la lista de los usuarios que tiene Samba y ademáspodemos agregar contraseñar y permisos a cada uno.Por ejemplo editaremos nuestro usuario morviuz agregando una contraseña. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  23. 23. Manual de Proyecto FinalTambién podemos configurar las carpetas que se comparten entre los sistemas, dándole doble clicsobre la carpeta nos mostrara la dura y los atributos que tiene dicha carpeta agregaremos accesos decontrol en seguty and Access Control, en donde tendremos todas los accesos y restricciones dedicha carpeta. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  24. 24. Manual de Proyecto FinalEn este caso solo agregaremos a uno de nuestros usuarios de poder leer y escribir agregandodo alusuario al campo de Read/Write, una vez modificado y guardado nos mostrara en lasespecificaciones de la carpeta los usuarios con permisos especiales, en este ejemplo nuestro usurioMorviuz. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  25. 25. Manual de Proyecto FinalUna vez terminado toda la configuración reiniciamos el Samba para poder visualizar nuestra red enWindows Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  26. 26. Manual de Proyecto FinalServidor mirrorUn servidor mirror o espejo es un servidor que respalda al principal el cual el cual mantendrá elsistema funcionando en caso de un daño o falla del servidor principal por lo cual existe unmonitoreo de este para que en dado caso ocurra un problema entre en acción el servidor espejo.Para conseguir este monitoreo y acción de suplantar el servidor principal en caso de que este falleutilizaremos la herramienta Heartbeat.Heartbeatesunserviciodeagrupamientocluster,esdecirpermiteaungrupodemáquinasmonitorizarseentresíydeestaformaganarunnivelextradefiabilidadenunservicio.Permitealosclientessabersiunodelosnodosestápresenteoausente,intercambiadofácilmentemensajesentreéstos.CuandounMasterServer(porejemplounServidorWeb)sevieneabajo,unservidorsecundariotomacontroldelosservicios. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  27. 27. Manual de Proyecto FinalConfiguración del HeartbeatRequerimientos 1. 2 Equipos, o mas, que podrán ser virtuales (si se desea solo realizar una prueba de aprendizaje, no se recomienda esto para nada en producción) 2. Storage en común (puede ser un disco de fibra como una unidad DRBD, o un disco en común mediante VirtualBox u otra utilidad) con formato OCFS2 3. Apache corriendo en ambos equipos con su configuración correspondiente en ambos equipos identica, y ambos apuntando al mismo directorio, el cual sera la unidad OCFS2. 4. 3 Direcciones IPs publicas/privadas, una para cada uno de los nodos y una para el “cluster”InstalacionInstalamos Heartbeat en los dos nodos frontales (SO y MIRROR), configurando el nodo SO comoactivo y el nodo MIRROR como pasivo.El sistema estaba formado por dos nodos frontales en donde sólo uno de ellos estará activado (SO),recibiendo las peticiones y balanceándolas a continuación a los dos nodos traseros. La máquinaactiva tiene dos direcciones IP virtuales configuradas (se denominan virtuales porque cuando SOfalle, MIRROR las asumirá), 192.168.0.153 y 10.0.0.20, y una serie de servicios levantados. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  28. 28. Manual de Proyecto Final¿Cómo funciona todo esto?El Heartbeat del nodo activo (so) enviará periódicamente "latidos" al nodo pasivo (mirror) paraindicarle que sigue vivo. En caso de que el nodo pasivo no reciba los latidos, interpretará que elnodo SO está caído, y en consecuencia pasará a modo activo, levantando automáticamente lasdirecciones IP virtuales y arrancando los servicios gestionados.Los latidos pueden ser enviados a través de cualquiera de los interfaces de red, y también comocomplemento y de forma redundante, a través de un cable serie.Y con el objetivo de incrementar más aun la fiabilidad del sistema, vamos a instalar un watchdogsoftware que se encargue de controlar a Hearbeat. Si Heartbeat se cae, el watchdog reiniciará lamáquina transcurrido un minuto.Vamos a comenzar instalando los paquetes watchdog y heartbeat en ambos nodos frontales. Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  29. 29. Manual de Proyecto Final~# aptitude install watchdog heartbeatHeartbeat utiliza tres tipos de ficheros: authkeys (lugar donde se establece la contraseña compartidapor los dos nodos), ha.cf (fichero de configuración de Heartbeat) y haresources (fichero donde seindica cuál será el nodo activo, así como los servicios a gestionar).Instalación de los ficheros 1. sudo cp /usr/share/doc/heartbeat/authkeys /etc/ha.d/ 2. sudo sh -c “zcat /usr/share/doc/heartbeat/ha.cf.gz > /etc/ha.d/ha.cf” 3. sudo sh -c “zcat /usr/share/doc/heartbeat/haresources.gz > /etc/ha.d/haresources”A continuación se muestra el contenido del fichero authkeys. Este archivo será idéntico en ambosnodos frontales y por seguridad, deberá tener exclusivamente permisos de lectura/escritura para elusuario root.~# cat /etc/ha.d/authkeysauth 11 md5 d2R5h4!~# chmod 600 /etc/ha.d/authkeysEste fichero contiene información que Heartbeat utiliza para autenticar a los miembros del cluster.La primera línea indica a Heartbeat qué clave debe utilizarse para firmar los paquetes salientes(latidos), ya que se pueden definir varias claves en el mismo archivo. La siguiente línea indica elalgoritmo que se utilizará para firmar los paquetes (md5) y la propia clave privada con la que serealizará la firma (d2R5h4!). Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  30. 30. Manual de Proyecto FinalEl siguiente fichero que vamos a tratar va a ser ha.cf. Este archivo se encarga de listar los nodos delcluster (en este artículo cuando hablamos de cluster, nos estamos refiriendo al cluster de AltaDisponibilidad, es decir, los dos nodos frontales), la topología de comunicación y las característicasde la configuración que están habilitadas.~# cat /etc/ha.d/ha.cf# Archivo donde se escribirán los mensajes de debugdebugfile /var/log/ha-debug# Archivo donde se escribirán el resto de mensajeslogfile /var/log/ha-log# Facility a emplear por el sysloglogfacility local0# Tiempo transcurrido entre el envío de cada uno de los latidos (segundos)keepalive 2# Tiempo transcurrido hasta declarar al nodo como caído (segundos)deadtime 12# Tiempo transcurrido antes de generar un warning (segundos)warntime 6# Tiempo transcurrido para comenzar a levantar los servicios (segundos)initdead 18# Puerto para la comunicacion UDPudpport 694 Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  31. 31. Manual de Proyecto Final# Interfaz utilizado para enviar los mesajes de broadcastbcast eth0# Interfaz y nodo al que enviar los latidosucast eth0 mirror# Si el nodo se cae y se vuelve a recuperar, recuperara su rol originalauto_failback on# Si el Heartbeat local no envía latidos en un minuto, reinicia la maquinawatchdog /dev/watchdog# Maquinas que conforman el clusternode sonode mirrorEste fichero será el mismo en ambos nodos, lo único que cambiará será la línea ucast eth0 haX, queen el caso del nodo SO será ucast eth0 MIRROR (enviar los latidos al nodo MIRROR a través delinterfaz eth0) y para MIRROR ucast eth0 SO (enviar los latidos al nodo SO a través del interfazeth0).Y ya para finalizar, el último fichero que habrá que configurar será haresources. Este archivo seutilizará para definir los recursos que Heartbeat deberá gestionar. Será el mismo para los dos nodos.~# cat /etc/ha.d/haresourcesSO IPaddr2::192.168.1.20 IPaddr2::10.0.0.20 mysql-ndb-mgm ldirectord::ldirectord.cfLVSSyncDaemonSwap::master mon Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  32. 32. Manual de Proyecto FinalLa línea de datos está formada por dos parámetros, el primero de ellos es el nombre o dirección IPde la máquina activa (SO, recordar que definimos las direcciones IP asociadas al nombre de lamáquina en el fichero /etc/hosts) y el segundo parámetro será la lista de recursos a gestionar. Esnecesario establecer una tabulación a continuación del primer parámetro.Dentro de la lista de recursos, Heartbeat levantará en la máquina activa las dos direcciones IPvirtuales (192.168.0.153 y 10.0.0.20) y arrancará un grupo de servicios, como por ejemplo eldemonio de administración del cluster MySQL (mysql-ndb-mgm). El resto de servicios serándetallados en los siguientes artículos. A su vez en la máquina pasiva, las dos direcciones IP virtualesno estarán configuradas y los servicios serán detenidos.Los servicios definidos en haresources se lanzan de izquierda a derecha cuando Heratbeat losarranca (start), y los detiene de derecha a izquierda (stop).Debido a que Hearbeat se encarga de la administración de dichos servicios (sus scripts de gestiónresiden en /etc/init.d/), habrá que eliminar todos los enlaces relacionados que se encuentren dentrodel directorio /etc/rc[nivel_de_seguridad].d/. Vamos a eliminar en ambos nodos el enlace a mysql-ndb-mgm. El resto de enlaces de los otros servicios los iremos quitando a medida que vayamosviendo sus funciones en los siguientes artículos.~# update-rc.d -f mysql-ndb-mgm removeCuando el sistema esté en funcionamiento (nodo SO activo y nodo MIRROR pasivo), si hacemos laprueba de matar al demonio de Heartbeat en SO (~# pkill heartbeat), al visualizar el log deHeartbeat en el nodo MIRROR podremos ver los siguientes mensajes:root@MIRROR~# >/var/log/ha-log ; tail -f /var/log/ha-logWARN: node ha1: is deadinfo: Dead node ha1 gave up resources.info: Resources being acquired from ha1.info: Link ha1:eth0 dead.... Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  33. 33. Manual de Proyecto FinalEs decir, podremos apreciar cómo MIRROR ha detectado la caída de SO y a continuación esteúltimo asumirá el rol de activo, levantando las dos direcciones IP virtuales y los serviciosgestionados.Para iniciar, detener o reiniciar Heartbeat se pueden emplear los siguientes comandos:~# /etc/init.d/heartbeat start~# /etc/init.d/heartbeat stop~# /etc/init.d/heartbeat restartPara monitorizar y controlar los servidores reales del cluster LVS, así como para llevar a cabo laadministración de las tablas de forwarding del kernel, emplearemos el demonio ldirectord, el cualserá arrancado y detenido cuando sea necesario por Hearbeat.Ldirectord comprobará el estado de los servidores reales (LB1 y LB2) en intervalos de tiempopredeterminados, con el objetivo de mantener actualizada la tabla de conexiones del servidor virtual(SO o MIRROR).Ldirectord genera reglas ipvsadm para gestionar el cluster LVS. Si alguno de los nodos traseros dejade atender peticiones de alguno de los servicios configurados por el LVS, ldirectord creará unallamada a ipvsadm que hará que el balanceador deje de enviarle paquetes a dicho nodo y servicioque no responde.Lo primero que vamos a hacer va a ser instalar el paquete ldirectord en los dos nodos frontales, SOy MIRROR.~# aptitude install ldirectordA continuación vamos a editar el fichero de configuración (/etc/ha.d/conf/ldirectord.cf) paraestablecer los servicios a controlar (Apache, MySQL y vsftpd). Dentro de cada uno de los servicios Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  34. 34. Manual de Proyecto Finala monitorizar, indicaremos la dirección IP virtual que recibirá los paquetes (192.168.1.20) y lasdirecciones IP de los servidores reales a los cuales se les repartirá la carga (10.0.0.12 y 10.0.0.13).Este fichero será idéntico en ambos nodos frontales.~# cat /etc/ha.d/conf/ldirectord.cf# Tiempo máximo para comprobar el estado del servicio (segundos)checktimeout=2# Periodo de comprobación (segundos)checkinterval=30# Apachevirtual=192.168.1.20:80real=10.0.0.12:80 masqreal=10.0.0.13:80 masqservice=httpprotocol=tcpscheduler=lcchecktype=negotiaterequest="index.html"receive="It works!"# MySQLvirtual=192.168.1.20:3306real=10.0.0.12:3306 masqreal=10.0.0.13:3306 masqservice=mysqlprotocol=tcpscheduler=lcchecktype=connect Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  35. 35. Manual de Proyecto Final# Vsftpdvirtual=192.168.1.20:21real=10.0.0.12:21 masqreal=10.0.0.13:21 masqservice=ftpprotocol=tcppersistent=600scheduler=lcchecktype=connectComo ha podido observarse, el fichero está formado por distintas secciones, una para cada tipo deservicio gestionado. Cada uno de estos bloques comienza por la dirección IP virtual del cluster porla que se atenderán las peticiones, y el puerto al que corresponde la clase de servicio especificado(virtual=X.X.X.X:Y). Es muy importante acordarse de tabular cada uno de los elementos quecomponen el bloque.El primer elemento que aparece en cada una de las sección es la dirección o direcciones IP de losservidores reales, definidas a través de la etiqueta masq, mediante la cual estaremos indicando quese emplee un modelo LVS-NAT.Otra de las etiquetas a destacar es la de scheduler, mediante la cual se señala el tipo de algoritmo aemplear de cara al balanceo de carga. En nuestro caso se va a emplear un Least Connection (lc), quelo que hace es asignar más trabajos a aquellos servidores que presentan menos carga de trabajo(para consultar el resto de algoritmos soportados se puede recurrir a la ayuda de ipvsadm).También cabe mencionar el parámetro checktype, que cuando tenga el valor connect indicará aldirectord que únicamente compruebe cada intervalo de tiempo definido (checkinterval) si el puertoestá abierto (para ello enviará un paquete SYN al puerto configurado). Si dicho parámetro toma elvalor negotiate, tendrá que negociar el estado de la conexión. Por ejemplo para el caso de HTTP, Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  36. 36. Manual de Proyecto Finalldirectord solicitará a Apache la página web index.html (request) y comprobará su contenido(receive).Para el caso del protocolo FTP configuraremos la opción de la persistencia. Debido a que esteprotocolo utiliza dos puertos (20 para datos y 21 para control), es necesario que todas las peticionespertenecientes a una misma sesión vayan dirigidas siempre al mismo nodo (LB1 o LB2). De estaforma si por ejemplo una máquina con dirección IP 192.168.1.150 inicia una sesión FTP contra ladirección IP virtual 192.168.1.20, y este balanceador redirecciona la conexión hacia el nodo LB1, elresto de conexiones que tengan como origen la dirección IP 192.168.1.150 y servicio FTP, siempreirán al nodo LB1.A través de la etiqueta persist=600 se configurará el tiempo de vida para dichas sesionespersistentes. Si no hay actividad durante ese periodo de tiempo, la sesión se considerará cerrada.Este parámetro también lo declarararíamos en caso de definir una sección para el protocolo HTTPS(tiene también el problema de la persistencia - ver el artículo anterior -).Además, decir también que para el caso del protocolo FTP no es suficiente con declarar la etiquetapersist, también es necesario cargar un módulo (ip_vs_ftp) durante el arranque del sistema. Para elloincluiremos este módulo dentro del archivo /etc/modules (en ambos nodos frontales).~# cat /etc/modules...ip_vs_ftpOtro aspecto que hay que tener en cuenta es el de la sincronización de la tabla de conexiones. En unmomento dado, el nodo activo puede tener abiertas varias conexiones HTTP. Todas estasconexiones serán almacenadas por ipvsadm en una tabla de estados (/proc/net/ip_vs_conn_sync).Para ello, el nodo activo enviará periódicamente mensajes multicast con los cambios de estadoacaecidos en su tabla de conexiones. El balanceador pasivo recibirá estos mensajes e irá Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  37. 37. Manual de Proyecto Finalactualizando sus tablasSi en un momento dado el nodo HA1 se cae y HA2 asume el papel de activo, este último tendráregistradas la mayoría de las conexiones establecidas contra el cluster, con lo que la mayor parte delas sesiones iniciadas podrán seguir accediendo a los mismos servicios que tenían abiertos con totalnormalidad.Para realizar esta tarea, tendremos que arrancar el demonio de sincronización al inicio del sistemaen ambos nodos, pero con la diferencia de que en el nodo configurado por defecto como activotendrá el estado master, y en el pasivo, backup. Esta acción la ejecutaremos añadiendo la siguientelínea en el script de arranque /etc/rc.local.root@ha1:~# cat /etc/rc.local...ipvsadm --start-daemon masterexit 0root@ha2:~# cat /etc/rc.local...ipvsadm --start-daemon backupexit 0Y ya por último, si recordamos el archivo /etc/ha.d/haresources empleado por Hearbeat, podremosver que este demonio era el encargado de detener e iniciar a ldirectord (estará arrancado en el nodoactivo y parado en el pasivo).~# cat /etc/ha.d/haresourcesha1 IPaddr2::192.168.1.20 IPaddr2::10.0.0.20 mysql-ndb-mgm ldirectord::ldirectord.cfLVSSyncDaemonSwap::master mon Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.
  38. 38. Manual de Proyecto FinalPor este motivo será necesario que el proceso init no levante a ldirectord cuando arranque elsistema. Para ello, tendremos que ejecutar el siguiente comando en los dos nodos frontales.~# update-rc.d -f ldirectord remove Esta obra de Juan Ramón Moreno Novelo, José Enrique González Trejo y Luis Ángel Reyes Cruz está bajo una licencia Creative Commons Atribución-NoComercial 3.0 Unported.

×