You are on page 1of 11

VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE, FAKULTA INFORMATIKY A STATISTIKY

DRBD
Predstavenie, inštalácia a základná konfiguracia
Martin Kravec

Vyučujúci: Ing. Ondřej Zamazal


Vypracoval: Martin Kravec
Školský rok: 2010/2011
Semester: Zimný
Predmet: Informační a komunikační sítě (4IZ110)
Vytvorené: 17.10.2010
Odovzdané: 8.12.2010
Obsah
1. Úvod ...................................................................................................................................................... 3
2. Predstavenie .......................................................................................................................................... 4
3. Inštalácia................................................................................................................................................ 5
3.1. Čo potrebujeme............................................................................................................................. 5
3.2. Postup............................................................................................................................................ 5
3.3. Problémy ....................................................................................................................................... 5
4. Konfigurácia:.......................................................................................................................................... 6
4.1. Corosync ........................................................................................................................................ 6
4.2. Pacemaker ..................................................................................................................................... 6
4.3. DRBD .............................................................................................................................................. 7
5. Správa .................................................................................................................................................... 8
5.1. DRBD .............................................................................................................................................. 8
5.2. Pacemaker ..................................................................................................................................... 8
6. Bibliografia........................................................................................................................................... 11
1. Úvod
Technológia DRBD predstavuje riešenie úložiska dát zrkadliace obsah blokových zariadení (hard-diskov,
partícií, logických jednotiek) medzi dvoma servrami. Podporuje taktiež LVM (Logical Volume Manager)
partície. Slúži na vytvorenie vysoko dostupných (HA) klastrov. Je ho možné vnímať ako raid-1, s tým
rozdielom že zrkadlenie neprebieha v rámci jedného servru ale je naňho využívaná dedikovaná sieť.
DRBD je implementované ako modul linuxového jadra.

Prakticky je systém využiteľný najmä v prípade keď potrebujeme zabezpečiť dostupnosť dát pri
hardwarovej chybe servru, ktorá presahuje výpadok disku (na ktorý by stačil raid-1) …napríklad
vyhorenie zdroja, poškodenie základnej dosky. Zrkadlené servry vďaka využitiu siete nemusia byť ani v
jednej miestnosti, takže system je odolný aj voči katastrofám ako napríklad požiar.
2. Predstavenie
DRBD funguje na princípe dvoch zariadení (nódov), pričom jeden (Primárny) je pripojený k systému
(mount) a s jeho obsahom sa dá normálne pracovať zatiaľ čo druhý (Sekundárny) je odpojený, nedá sa
pripojiť a je využívaný len na kopírovanie dát z primárneho disku. V prípade výpadku sa po vypršaní
timeoutu nastaví neprístupný nód do stavu Unknown a až vtedy je možné zmeniť sekundárny na
primárny a pripojiť ho k systému. Takto zabezpečíme že na záložnom servri budeme mať vždy najnovšie
dáta.

Keďže zmenu stavu nódov zo sekundárneho na primárny a ich pripájanie k systému nechceme robiť
ručne (keďže reačná doba je obvykle v rozpätí hodín) využijeme nástroj Pacemaker. Ten nám umožnuje
automatizovať spúštanie a vypínanie služieb, pripájanie diskov, presun zdieľanej IP adresy na primárny
nód a veľa iného na základe definovaných pravidiel. Pre jednoduchšiu konfiguráciu pravidiel použijeme
GUI, pretože hlavné nastavenia sú v XML súbore a teda trochu neprehľadné.

Obrázok 1 – Všetky operácie prebiehajú na iza, dáta sa replikujú na izb. V prípade výpadku izb
spustí potrebné služby a prevezme virtuálnu IP adresu (Zdroj: MySQL clustery)

DRBD zrkadlí dáta:

 V reálnom čase. Replikácia dát prebieha priebežne, popri tom ako aplikácia modifikuje súbory.
 Transparentne. Aplikácia ukladajúca dáta na zrkadlenom zariadení si toho nieje vedomá.
Zariadenie sa pre ňu javí ako lokálny súborový systém.
 Synchrónne. Pri synch synchrónnom prenose je aplikácii oznámené úspešné uloženie až vo chvíli
keď sú dáta uložené na primárnom servri a skopírované cez sieť na sekundárny disk.
 Asynchrónne. Pri asynchrónnom prenose je úspešné uloženie potvrdené už vo chvíli zápisu na
Primárny disk. Asynchrónne prenosy sú síce rýchlejšie ale menej bezpečné.
3. Inštalácia
3.1. Čo potrebujeme
Inštalácia bude pozostávať z 2 servrov, iza a izb. Tieto servry sú nainštalované na OS Debian, a
virtualizované pomocou VirtualBoxu. Servry majú 2 sieťové karty, prvá poskytuje pripojenie na internet
(NAT), druhou sú navzájom prepojené.

Na inštaláciu boli použité:

 VirtualBox (3.2.10)
 Debian GNU/Linux 5.0
 Pacemaker (1.0.9)
 DRBD
 Heartbeat-gui (+Pacemaker-mgmt), DRBD Management Console

3.2. Postup
 8. 7.2010 boli všetky balíky potrebné pre inštaláciu (corosync, pacemaker, drbd8) sprístupnené
z oficiálneho debian-backports repozitára. Pridáme ho teda do sources.list
deb http://www.backports.org/debian lenny-backports main contrib non-free
apt-get install debian-backports-keyring

 Následne obnovíme zdroje balíčkov a nainštalujeme všetko potrebné pre náš cluster. Niektoré
balíčky sú inštalované ako závislosti.
apt-get update
apt-get install drbd8-source/lenny-backports drbd8-utils/lenny-backports
pacemaker/lenny-backports
module-assistant auto-install drbd8

3.3. Problémy
Corosync sa pri spustení snažil využiť proces rsyslogd, ten ale ešte nebol spustený čo sposobilo pád
corosyncu. Problém vyriešilo nastavenie logovania do súboru.
4. Konfigurácia:
4.1. Corosync
Corosync je protokol ktorý zabezpečuje komunikáciu medzi jednotlivými nódmi. Je využívaný programom
Pacemaker a inštalovaný ako jeho závislosť. Hlavné konfiguračné súbory nájdeme v /etc/corosync/.
Pomocou corosync-keygen je potrebné vygenerovať súbor authkey a upraviť corosync.conf podľa
aktuálnych nastavení siete. Tieto súbory potom skopírujeme na druhý nód.

Dôležité je taktiež nastaviť automatické spustenie v /etc/default/corosync

4.2. Pacemaker
Pacemaker je program, ktorým dokážeme na základe definovaných priorít automaticky prevádzať rôzne
operácie. V našom prípade ho budeme potrebovať pre automatické nastavenie virtuálnej IP adresy a
pripojenie DRBD disku na izb v prípade že detekujeme nedostupnosť iza a naopak.
Na konfiguráciu a management sa využíva viacero nástrojov (crmadmin, cibadmin, crm_mon..).
Najdôležitejší súbor je cib.xml, kde sa nachádza konfigurácia pravidiel pre jednotlivé nódy.

Keďže xml súbory sú neprehľadné na ručnú editáciu môžme použiť grafické nástroje

 Heartbeat-gui (nutné na server doinštalovať a povoliť pacemaker-mgmt)


 DRBD Management Console

Obrázok 2 – Pacemaker pri výpadku presúva služby na záložné


servry. Corosync slúži ako komunikačný protokol pre pacemaker
(Zdroj: Pacemaker)
4.3. DRBD
Hlavný konfiguračný súbor je /etc/drbd.conf.
Na kontrolovanie stavu používame cat /proc/drbd.
Na obsluhu používame nástroj drbdadm.

 Vytvoríme zariadenie a inicializujeme metadáta


drbdadm create-md r0

 Nastavíme jeden z nódov ako primárny. Prvýkrát musíme túto operáciu potvdiť kôli prepísaniu
dát na cieľovom disku. Týmto zároveň spustíme synchronizáciu nódov. Sekundárny disk bude
prepísaný.
drbdadm -- --overwrite-data-of-peer primary r0

 Stav zariadenia môžme sledovať pomocou


drbdadm state

 Po skončení synchronizácie vytvoríme na drbd zariadení filesystém


mkfs.ext3 /dev/drbd0

 Nakoniec pripojíme primárny nód


mount /dev/drbd0 /mnt/data

Je treba si dávať pozor a nikdy nepracovať s nižšie položeným zariadením (napr. sda5)

Obrázok 3 - Drbd vytvára ďalšiu vrstvu medzi filesystémom a vlastným úložiskom dát. Pri
zápise na disk tieto dáta kopíruje na záložný server (Zdroj: DRBD)
5. Správa
5.1. DRBD
Správu DRBD je najjednoduchšie robiť pomocou príkazového riadku, kde nám na to slúžia tieto príkazy

 Zobrazí status drbd diskov


drbd-overview
cat /proc/drbd

 Povolenie a spustenie drbd diskov


drbdadm up resource

 Zakázanie a vypnutie drbd diskov


drbdadm down resource

 Manuálne prepnutie zariadenia do stavu primárny / sekundárny


drbdadm primary resource
drbdadm secondary resource

5.2. Pacemaker
Väčšina úkonov sa dá prevádzať pomocou gui-nástrojov. Pri konfigurácii som skúšal najznámejšie

 Pacemaker Python GUI


GUI sa pripája na službu mgmtd, ktorú musíme spustiť pri štarte služby corosync. Dosiahneme to
pridaním riadku do konfigurácie corosync v sekcii service. Tento software sa mi páčil viac, taktiež
konfigurácia vyzerala prehľadnejšie.
service {
name: pacemaker
ver: 0
use_mgmtd: 1
}

 DRBD Management Console


Tento nástroj je vyvíjaný priamo ako konfigurátor DRBD diskov, avšak je možné ho použiť aj na
konfiguráciu iných služieb. Na servri nieje potrebná žiadna dodatočná konfigurácia, program sa
pripája pomocou ssh protokolu ktorý spúšťa požadované príkazy priamo na servri.

Oba program vytvárajú konfiguračný súbor cib.xml, ktorý má štruktúru podobnú nasledujúcej

<cib>
<configuration>
<crm_config>
<cluster_property_set id="cib-bootstrap-options">
<attributes/>
</cluster_property_set>
</crm_config>
<nodes>
<node uname="alice" type="normal"
id="f11899c3-ed6e-4e63-abae-b9af90c62283"/>
<node uname="bob" type="normal"
id="663bae4d-44a0-407f-ac14-389150407159"/>
</nodes>
<resources/>
<constraints/>
</configuration>
</cib>

Tento súbor môžme vytvoriť tiež z príkazového riadku nástrojom cibadmin.


Obrázok 4 - DRBD Management Console (Zdroj: DRBD)

Obrázok 5 - Pacemaker Python GUI (Zdroj: Pacemaker)


6. Bibliografia
Blackhole [Online]. - http://blackhole.sk/topicxen-ha-cluster-installation.

Corosync [Online]. - http://www.corosync.org/doku.php.

DRBD [Online]. - http://www.drbd.org/.

MySQL clustery [Online]. -


http://www.cecak.cz/fel/dba/referaty/mysql/mysql_cluster_a_drbd_pro_mysql_instalace_pouziti_a_sro
vnani.

Pacemaker [Online]. - http://www.clusterlabs.org/.

You might also like