<?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>digg.it &#187; drbd</title>
	<atom:link href="http://digg.it/tag/drbd/feed/" rel="self" type="application/rss+xml" />
	<link>http://digg.it</link>
	<description>Se non lo scrivo lo dimentico. Se lo scrivo qualcuno me lo ricorderà. Appunti di ermeneutica digg.itale</description>
	<lastBuildDate>Thu, 08 Jul 2010 13:43:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Installare DRBD su un RPS di OVH e Fedora</title>
		<link>http://digg.it/2009/04/06/installare-drbd-su-un-rps-di-ovh-e-fedora/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=installare-drbd-su-un-rps-di-ovh-e-fedora</link>
		<comments>http://digg.it/2009/04/06/installare-drbd-su-un-rps-di-ovh-e-fedora/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 12:36:00 +0000</pubDate>
		<dc:creator>bago</dc:creator>
				<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[drbd]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ovh]]></category>
		<category><![CDATA[rpm]]></category>
		<category><![CDATA[rps]]></category>

		<guid isPermaLink="false">http://digg.it/?p=163</guid>
		<description><![CDATA[Premessa DRBD (Distributed Replicated Block Device) è una sorta di disco virtuale che gestice un RAID 1 via rete. In pratica due dischi installati su due macchine fisiche diverse possono essere visti come unico disco. DRBD è uno dei mattoni fondamentali per la gestione di un cluster HA (High Availability) low cost. Requisiti Esistono gli [...]
Nessun articolo simile]]></description>
			<content:encoded><![CDATA[<div id="attachment_182" class="wp-caption alignright" style="width: 310px"><a href="http://digg.it/wp-content/uploads/2009/04/drbd-attivo-passivo.jpg"><img class="size-full wp-image-182" title="drbd-attivo-passivo" src="http://digg.it/wp-content/uploads/2009/04/drbd-attivo-passivo.jpg" alt="Configurazione standard DRBD" width="300" height="279" /></a><p class="wp-caption-text">Configurazione standard DRBD</p></div>
<h3>Premessa</h3>
<p>DRBD (Distributed Replicated Block Device) è una sorta di disco virtuale che gestice un RAID 1 via rete. In pratica due dischi installati su due macchine fisiche diverse possono essere visti come unico disco. DRBD è uno dei mattoni fondamentali per la gestione di un cluster HA (High Availability) low cost.</p>
<h3>Requisiti</h3>
<p>Esistono gli RPM di DRBD già fatti per Centos e si possono usare anche con la Fedora, però funzionano solo con i kernel ufficiali delle rispettive distribuzioni, quindi dovremo crearci il nostro pacchetto.</p>
<p>Innanzitutto dovete assicurarvi di <a href="http://digg.it/2009/03/31/kernel-modulare-su-un-rps-di-ovh/">avere installato un kernel che supporta i moduli</a> e che supporta la funzionalità &#8220;Connector&#8221;.</p>
<p>Inoltre è consigliabile che abbiate riservato una partizione, identica sulle due macchine che vorrete mantenere sincronizzate, da utilizzare con DRBD.<br />
Se non ne avete una potrete comunque provare creando un loop device (questo crea un loop device da 10GB):</p>
<pre>shell# dd if=/dev/zero of=/home/drbdloop bs=1024 count=10485760
shell# losetup /dev/loop0 /home/drbdloop</pre>
<p>In questo modo avrete un device (/dev/loop0) da utilizzare come disco per DRBD.</p>
<h3>Compilazione di DRBD</h3>
<pre>shell# cd /usr/src
shell# wget http://oss.linbit.com/drbd/8.3/drbd-8.3.1.tar.gz
shell# tar -zxf drbd-8.3.1.tar.gz
shell# cd drbd-8.3.1
shell# make rpm</pre>
<p>Nel mio caso mi è stato dato un errore perchè nel mio sistema mancava flex.</p>
<blockquote><p>errore: Compilazione dipendenze fallita:<br />
flex necessita di drbd-8.3.1-3.i386</p></blockquote>
<p>In realtà l&#8217;errore italiano è tradotto male. Il problema è l&#8217;esatto opposto. E&#8217; sufficiente installare flex e ripetere il make:</p>
<pre>shell# yum install flex
Installato:
  flex.i386 0:2.5.35-2.fc9
shell# make rpm
[ COMPILAZIONE ]
+ exit 0
You have now:
-rw-r--r-- 1 root root 185530  3 apr 11:23 dist/RPMS/i386/drbd-8.3.1-3.i386.rpm
-rw-r--r-- 1 root root 304874  3 apr 11:23 dist/RPMS/i386/drbd-debuginfo-8.3.1-3.i386.rpm
-rw-r--r-- 1 root root 154010  3 apr 11:23 dist/RPMS/i386/drbd-km-2.6.28.4_custom_std_ipv4_32_mod-8.3.1-3.i386.rpm</pre>
<p>A questo punto sarà sufficiente installare drbd (i tools) e drbd-km (il modulo del kernel).</p>
<h3>Installazione di DRBD</h3>
<pre>shell# rpm -Uvh --force dist/RPMS/i386/drbd-8.3.1-3.i386.rpm dist/RPMS/i386/drbd-km-2.6.28.4_custom_std_ipv4_32_mod-8.3.1-3.i386.rpm
errore: Dipendenze fallite:
        kernel necessita di drbd-km-2.6.28.4_custom_std_ipv4_32_mod-8.3.1-3.i386</pre>
<p>La distribuzione di fedora core 9 fatta da OVH non include un pacchetto kernel, ma noi abbiamo installato il kernel manualmente e quindi forziamo l&#8217;installazione.</p>
<pre>shell# rpm -Uvh --nodeps dist/RPMS/i386/drbd-8.3.1-3.i386.rpm dist/RPMS/i386/drbd-km-2.6.28.4_custom_std_ipv4_32_mod-8.3.1-3.i386.rpm
Preparazione in corso...    ########################################### [100%]
   1:drbd                   ########################################### [ 50%]
   2:drbd-km-2.6.28.4_custom########################################### [100%]
shell#</pre>
<p>Ogni volta che cambierete il kernel dovrete ripetere questa procedura ed installare il nuovo modulo del kernel (ne possono coesistere più di uno).</p>
<div id="attachment_183" class="wp-caption alignright" style="width: 310px"><a href="http://digg.it/wp-content/uploads/2009/04/drbd-failover.jpg"><img class="size-full wp-image-183" title="drbd-failover" src="http://digg.it/wp-content/uploads/2009/04/drbd-failover.jpg" alt="Failover di un sistema con DRBD" width="300" height="221" /></a><p class="wp-caption-text">Failover di un sistema con DRBD</p></div>
<h3>Configurazione DRBD</h3>
<p>D&#8217;ora in poi ipotizzerò che le due macchine siano rXXXX1.ovh.net e rXXXX2.ovh.net, che l&#8217;IP delle due macchine sia rispettivamente 87.98.XXX.101 e 87.98.XXX.102 e che per entrambe le macchine la partizione di cui tenere il mirror sia /dev/sda5.</p>
<p>Innanzitutto dovremo configurare la risorsa (che chiamo &#8220;r0&#8243; ma alla quale potrete assegnare il nome che preferite) su /etc/mrtg.conf</p>
<pre>resource r0 {
  protocol C;
  startup { degr-wfc-timeout 120; }
  syncer { rate 3M; al-extents 257; }
  on rXXXX1.ovh.net {
    device /dev/drbd0;
    disk /dev/sda5;
    address 87.98.XXX.101:7789;
    meta-disk internal;
  }
  on rXXXX2.ovh.net {
    device /dev/drbd0;
    disk /dev/sda5;
    address 87.98.XXX.102:7789;
    meta-disk internal;
  }
}</pre>
<p>Una volta configurato possiamo preparare il disco con i metadati di DRBD ed attivare la risorsa:</p>
<pre>shell# drbdadm create-md r0
shell# drbdadm up r0</pre>
<p>Fate la stessa cosa sul secondo server e poi, sul server che volete sia il primario (quello che potrà montare la partizione) fate:</p>
<pre>shell# drbdadm -- -o primary r0</pre>
<p>Ora /dev/drbd0 è un dispositivo a blocchi (disco virtuale) valido e possiamo procedere nella formattazione:</p>
<pre>shell# mkfs.ext3 /dev/drbd0</pre>
<p>A questo punto potrete montare il disco ed utilizzarlo</p>
<pre>shell# mkdir /mnt/discoha
shell# mount /dev/drbd0 /mnt/discoha</pre>
<p>Se non volete rischiare di perdere tutti i dati per un comando errato è d&#8217;obbligo la lettura del <a href="http://www.drbd.org/docs/about/">manuale</a>, per una buona comprensione dello stato di connessione, dello stato dei dischi e dello stato della sincronizzazione.</p>
<p>Se vi interessano configurazioni master-master in cui entrambi gli host possono usare contemporaneamente il disco allora avrete bisogno di una filesystem distribuita come OCFS2 o GFS: leggete l&#8217;articolo di GuiGui che riporto in fondo all&#8217;articolo per un esempio.</p>
<h3>Riferimenti</h3>
<p>Dal manuale &#8211; <a href="http://www.drbd.org/users-guide-emb/s-build-rpm.html">Building a DRBD RPM package</a><br />
Articolo di GuiGui -<br />
<a href="http://blog.guiguiabloc.fr/index.php/2009/02/16/mise-en-oeuvre-dun-systeme-de-fichier-distribue-et-acces-concurrents-en-san-avec-drbd-iscsi-ocfs2-et-dm-multipath/">Mise en oeuvre d’un système de fichier distribué et accès concurrents en SAN avec DRBD, ISCSI ,OCFS2 et DM-Multipath</a></p>
<p>Nessun articolo simile</p>]]></content:encoded>
			<wfw:commentRss>http://digg.it/2009/04/06/installare-drbd-su-un-rps-di-ovh-e-fedora/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

