<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>m313 Security Blog &#187; ha</title>
	<atom:link href="http://dmedianero.byethost15.com/blog/tag/ha/feed/" rel="self" type="application/rss+xml" />
	<link>http://dmedianero.byethost15.com/blog</link>
	<description>Diario de un Slacker</description>
	<lastBuildDate>Fri, 05 Mar 2010 10:11:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Instalación de OPSView en Alta Disponibilidad</title>
		<link>http://dmedianero.byethost15.com/blog/2009/01/instalacion-de-opsview-en-alta-disponibilidad/</link>
		<comments>http://dmedianero.byethost15.com/blog/2009/01/instalacion-de-opsview-en-alta-disponibilidad/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 10:58:46 +0000</pubDate>
		<dc:creator>m313</dc:creator>
				<category><![CDATA[IDS]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[drdbb heartbeat]]></category>
		<category><![CDATA[ha]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[opsview]]></category>

		<guid isPermaLink="false">http://dmedianero.byethost15.com/blog/?p=241</guid>
		<description><![CDATA[OPSView es un sistema de monitorización libre. El siguiente tutorial cubre la instalación de dos servidores maestros de monitorización en alta disponibilidad. Está realizado sobre Debian Linux y aunque hay tutoriales y documentación en la página oficial, si queréis montar dos Debian maestros en HA no os recomiendo seguir la guia oficial al pie de [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://dmedianero.byethost15.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5vcHN2aWV3Lm9yZy8=">OPSView</a> es un sistema de monitorización libre. El siguiente tutorial cubre la instalación de dos servidores maestros de monitorización en <a href="http://dmedianero.byethost15.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2VzLndpa2lwZWRpYS5vcmcvd2lraS9DbHVzdGVyX2RlX2FsdGFfZGlzcG9uaWJpbGlkYWQ=">alta disponibilidad</a>. Está realizado sobre Debian Linux y aunque hay tutoriales y documentación en la página oficial, si queréis montar dos Debian maestros en HA no os recomiendo seguir la guia oficial al pie de la letra (yo ya lo hize).<br />
La guía mostrada a continuación no es enteramente mía. Está basada en documentación oficial y en trozos de las páginas que menciono en el apartado referencias. Además no habría podido realizarla sin la ayuda de mis compañeros <strong>adolfop</strong>, <strong>4lv3rn3, </strong><strong>spanic </strong>y<strong> vege10n</strong>. Ahí vamos:</p>
<p><strong>::Instalación SSOO::</strong></p>
<p>Instalamos Debian en ambos nodos, solo el sistema base.<br />
Para el particionado reservamos dos particiones para el HA sin montar, una para los metadatos(con 128 MB basta) la otra para var2.<br />
Una vez instalado añadimos las siguientes lineas al fichero /etc/apt/sources.list</p>
<p><em>&#8212;-<br />
deb http://ftp.es.debian.org/debian/ etch non-free<br />
deb-src http://ftp.es.debian.org/debian/ etch non-free<br />
deb http://www.backports.org/debian etch-backports main contrib non-free<br />
deb http://apt.opsview.org/debian etch main<br />
deb http://ftp.debian.org/debian etch non-free<br />
&#8212;-</em></p>
<p>Después de esto al hacer &#8220;aptitude update&#8221; obtendremos errores de certificados, se solucionan importándolos con los siguienetes<br />
comandos:</p>
<p><em>gpg &#8211;keyserver subkeys.pgp.net &#8211;recv-key XXXXXXXX<br />
gpg &#8211;export &#8211;armor XXXXXXXX | apt-key add -</em></p>
<p>Donde XXXXXXXX son los últimos 8 dígitos numéricos del cedrtificado y se obtienen del error al hacer el &#8220;aptitude update&#8221;<br />
COnfiguramos para que nodo1 y nodo2 tengan IP&#8217;s estáticas y completamos el fichero /etc/hosts para que resuelvan uno contra el otro.</p>
<p><strong>:: Instalación Software ::</strong></p>
<p>Instalamos el software necesario mediante aptitude:</p>
<p><em>aptitude install heartbeat<br />
aptitude install drbd8-source<br />
aptitude install drbd8-utils<br />
aptitude install ssh<br />
aptitude install opsview</em></p>
<p>Creamos el módulo para el drbd8:</p>
<p><em>module-assistant auto-install drbd8</em></p>
<p><strong>:: Configuración de la HA ::</strong></p>
<p>En ambas máquinas sustituimos el fichero /etc/drbd8.conf por este:</p>
<p><em>&#8212;-<br />
global {<br />
usage-count no;<br />
}<br />
common {<br />
}<br />
resource &#8220;r0&#8243; {	 # r0 es el nombre del recurso<br />
protocol C;<br />
startup {<br />
wfc-timeout        80;<br />
degr-wfc-timeout  120;<br />
}<br />
disk {<br />
on-io-error detach;<br />
}<br />
net {<br />
}<br />
syncer { rate 10M; }<br />
on nodo1 {		# nodo1<br />
device /dev/drbd0;		# dispositivo HA<br />
disk /dev/sda6;			#  partición que compartirán los nodos en HA (var2)<br />
address X.X.X.X:7780;	# IP y puerto que se utilizará para balancear<br />
meta-disk /dev/sda8[0];		# partición donde se guardan los metadatos<br />
}<br />
on nodo2 {				# idéntico para el nodo2<br />
device     /dev/drbd0;<br />
disk       /dev/sda6;<br />
address X.X.X.X:7780;<br />
meta-disk /dev/sda8[0];<br />
}<br />
}<br />
&#8212;-</em></p>
<p>Para ajustar los permisos ejecutamos los siguientes comandos:</p>
<p><em>chgrp haclient /sbin/drbdsetup<br />
chmod o-x /sbin/drbdsetup<br />
chmod u+s /sbin/drbdsetup</em></p>
<p><em>chgrp haclient /sbin/drbdmeta<br />
chmod o-x /sbin/drbdmeta<br />
chmod u+s /sbin/drbdmeta</em></p>
<p>En ambos nodos creamos el dispositivo para el recurso:</p>
<p><em>drbdadm create-md r0</em></p>
<p>Acto seguido iniciamos el servicio:</p>
<p><em>/etc/init.d/drbd8 start</em></p>
<p>Ahora en el nodo que inicialmente será el maestro (nodo1) ejecutamos:<br />
<em><br />
drbdadm &#8212; &#8211;overwrite-data-of-peer primary r0<br />
mkfs -t ext3 /dev/drbd0<br />
mkdir /var2<br />
mount /dev/drbd0 /var2</em></p>
<p>En el nodo2 creamos el directorio var2 (mkdir /var2).</p>
<p>Para iniciar la sincronización entre ambos nodos introducimos el siguiente comando en el nodo primario (nodo1):</p>
<p><em>drbdadm &#8212; connect all</em></p>
<p>En ambos nodos eliminamos el incio automático del software que será balanceado, ya que éste será iniciado mediante HA:<br />
<em><br />
update-rc.d -f opsview remove<br />
update-rc.d -f opsview-web remove<br />
update-rc.d -f mysql remove<br />
update-rc.d -f apache2 remove<br />
update-rc.d -f opsview-agent remove</em></p>
<p>En ambos nodos reemplazados	el fichero /etc/ha.d/ha.cf por el siguiente:</p>
<p><em>&#8212;-<br />
debugfile /var/log/ha-debug<br />
logfile /var/log/ha-log<br />
keepalive 2<br />
deadtime 30<br />
warntime 10<br />
initdead 120<br />
auto_failback off<br />
bcast eth0<br />
# This is a ping test in our network to check which server can ping it<br />
ping X.X.X.X		# IP virtual a la que los clientes deberán dirigirse para utilizar los servicios ofrecidos en HA</em><br />
node nodo1<br />
node nodo2<br />
respawn hacluster /usr/lib/heartbeat/ipfail<br />
apiauth ipfail gid=haclient uid=hacluster<br />
&#8212;-</p>
<p>Em ambos nodos reemplazamos el fichero /etc/ha.d/haresources por el siguiente(idéntico en los dos nodos):</p>
<p><em>&#8212;-<br />
nodo1primario drbddisk::r0 Filesystem::/dev/drbd0::/var2::ext3 10.10.10.120 mysql opsview opsview-web apache2<br />
# nodo que actua de primario, recurso, filesystem, punto de montaje, IP virtual, servicios en HA<br />
&#8212;-</em></p>
<p>En ambos nodos reemplazamos el fichero /etc/ha.d/authkeys por el siguiente:</p>
<p><em>&#8212;-<br />
auth 1<br />
1 sha1 MySecret<br />
&#8212;-</em></p>
<p>Modificamos los permisos del fichero /etc/ha.d/authkeys:</p>
<p><em>chmod 600 /etc/ha.d/authkeys</em></p>
<p>Una vez sincronizados deberemos preparar /var em ambos nodos para que los datos a compartir por los servidores estén en la partición en HA.<br />
Para ello vamos a tomar el recurso compartido en el nodo2, realizaremos la preparación, acto seguido repetir los pasos, tomando el recurso<br />
el nodo1 y haciendo la misma preparación:</p>
<p>En el nodo1 &#8220;soltamos&#8221;	el recurso:<br />
<em><br />
umount /var2<br />
drbdadm secondary r0</em></p>
<p>En el nodo2 &#8220;cogemos&#8221; el recurso:</p>
<p><em>drbdadm primary r0<br />
mount /dev/drbd0 /var2</em></p>
<p>A continuación vamos a preparar /var y /var2. La idea es que los recursos que se necesitan en HA estén realmente en /var2, aunque la máquina<br />
a nivel local los trate como si estuvieran en /var.</p>
<p><em>cd /usr/local/<br />
tar cvzf nagios.tar.gz nagios<br />
mv nagios.tar.gz /var2<br />
rm -r nagios<br />
cd /var2<br />
tar xvzf nagios.tar.gz /var2<br />
ln -s /var2/nagios /usr/local/nagios<br />
cd /usr/local/<br />
tar cvzf opsview-web.tar.gz opsview-web<br />
mv opsview-web.tar.gz /var2<br />
rm -r opsview-web<br />
cd /var2<br />
tar xvzf opsview-web.tar.gz /var2<br />
ln -s /var2/opsview-web /usr/local/opsview-web<br />
cd /var/lib/mysql<br />
tar cvzf mysql.tar.gz mysql<br />
mv mysql.tar.gz /var2<br />
rm -r mysql<br />
cd /var2<br />
tar xvzf mysql.tar.gz /var2<br />
ln -s /var2/mysql/ /var/lib/mysql/mysql</em></p>
<p>Reemplazamos los agentes NRPE de Nagios:</p>
<p><em>apt-get install nagios-nrpe-server nagios-plugins-basic<br />
rm /etc/nagios/nrpe.cfg<br />
cp /var2/nagios/etc/nrpe.cfg /etc/nagios/nrpe.cfg</em></p>
<p>Editamos el fichero /etc/nagios/nrpe.cfg y lo modificamos para cambiar las rutas &#8220;<em>/usr/local/nagios/libexec</em>&#8221; por &#8220;<em>/usr/lib/nagios/plugins</em>&#8221;<br />
Reiniciamos el servicio:</p>
<p><em>/etc/init.d/nagios-nrpe-server restart</em></p>
<p>Tras realizar el último paso en el nodo1 podemos reiniciar las máquinas y dispondremos de OPSView en HA.<br />
Para acceder al servicio los clientes deben dirigirse a la IP virtual, en este caso http://X.X.X.X:3000</p>
<p><strong>:: NOTAS ::</strong></p>
<p>Un error comun a la hora de sincronizar con drbd es el &#8220;<em>Repair Split-Brain detected, dropping connection!</em>&#8221;</p>
<p>Para solucionarlo debemos seguir los siguientes pasos:<br />
Paramos el heartbet en ambos nodos.<br />
En el secundario ejecutamos el siguiente comando:</p>
<p><em>drbdadm — –discard-my-data connect r0</em></p>
<p>En el primario ejecutamos el siguiente comando:</p>
<p><em>drbdadm connect r0</em></p>
<p>Si aún con ello no levanta probamos el siguiente comando en el primario:</p>
<p><em>drbdadm primary r0</em></p>
<p><strong>:: Referencias ::</strong></p>
<p><a href="http://dmedianero.byethost15.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2RvY3Mub3Bzdmlldy5vcmcvZG9rdS5waHA/aWQ9b3BzdmlldzIuMTQ6aGFtYXN0ZXItZGViaWFuLWhvd3Rv">http://docs.opsview.org/doku.php?id=opsview2.14:hamaster-debian-howto</a><br />
<a href="http://dmedianero.byethost15.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3dpa2kuY2VudG9zLm9yZy9Ib3dUb3MvSGEtRHJiZA==">http://wiki.centos.org/HowTos/Ha-Drbd</a><br />
<a href="http://dmedianero.byethost15.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5lc3RyZWxsYXRleWFyZGUuZXMvZGlzY292ZXIvZHJiZC1lbi1saW51eA==">http://www.estrellateyarde.es/discover/drbd-en-linux</a><br />
<a href="http://dmedianero.byethost15.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2xpeXVhbmdhcmNpYS5ibG9nc3BvdC5jb20vMjAwNy8xMS9jbHVzdGVyLWRlLWFsdGEtZGlzcG9uaWJpbGlkYWQtc29icmUuaHRtbA==">http://liyuangarcia.blogspot.com/2007/11/cluster-de-alta-disponibilidad-sobre.html</a><br />
<a href="http://dmedianero.byethost15.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2dvYm9rLnNlcnZlYmxvZy5uZXQvc3lzdGVtLWFkbWlucy9ob3d0by1yZXBhaXItc3BsaXQtYnJhaW4tZGV0ZWN0ZWQtZHJvcHBpbmctY29ubmVjdGlvbi8=">http://gobok.serveblog.net/system-admins/howto-repair-split-brain-detected-dropping-connection/</a></p>
<p class="akst_link"><a href="http://dmedianero.byethost15.com/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2RtZWRpYW5lcm8uYnlldGhvc3QxNS5jb20vYmxvZy8/cD0yNDEmYW1wO2Frc3RfYWN0aW9uPXNoYXJlLXRoaXM="  title=\"E-mail this, post to del.icio.us, etc.\" id=\"akst_link_241\" class=\"akst_share_link\" rel=\"nofollow\">Compártelo</a>
</p> <img src="http://dmedianero.byethost15.com/blog/wp-content/plugins/feed-statistics.php?view=1&post_id=241" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://dmedianero.byethost15.com/blog/2009/01/instalacion-de-opsview-en-alta-disponibilidad/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
