DRBD

Linux.fista
Versio hetkellä 27. huhtikuuta 2024 kello 17.27 – tehnyt Kimmo (keskustelu | muokkaukset)
Siirry navigaatioon Siirry hakuun
DRBD

Kotisivu Dokumentointi uusin(27.4.2024) versio (englanniksi)

DRBD (Distributed Replicated Block Device) on jakautunut replikoitu tallennusjärjestelmä Linux-alustalle. Se on toteutettu ytimessä olevana ajurina, useina käyttäjätilan hallintaohjelmina ja muutamina komentosarjoina. DRBD:tä käytetään perinteisesti korkean käytettävyyden (HA) tietokoneklustereissa, mutta DRBD-version 9 alkaen sitä voidaan käyttää myös suurempien ohjelmistomääritteisten tallennusallasten luomiseen, erityisesti pilviympäristöissä.

DRBD-laitteet ovat DRBD-lohkolaitteita, jotka viittaavat loogiseen lohkolaitteeseen loogisessa levyjärjestelmässä. DRBD-ohjelmisto on vapaa ohjelmisto, joka on julkaistu GNU General Public License version 2:n ehtojen mukaisesti.

DRBD:n toimintatapa:

DRBD kerrostaa loogiset lohkolaitteet (yleensä nimetty /dev/drbdX, missä X on laitteen numero) olemassa olevien paikallisten lohkolaitteiden päälle osallistuvilla klusterisolmuilla. Kirjoitukset ensisijaiselle solmulle siirretään alempitasoiselle lohkolaitteelle ja samanaikaisesti toissijaiselle solmulle (tai useammalle). Toissijainen solmu siirtää sitten tiedot vastaavaan alempitasoiseen lohkolaitteeseen. Kaikki luku-I/O suoritetaan paikallisesti, ellei luku-tasapainotusta ole määritetty. Jos ensisijainen solmu epäonnistuu, klusterinhallintaprosessi ylentää toissijaisen solmun ensisijaiseksi tilaksi. Tämä siirtymä voi vaatia tiedostojärjestelmän eheyden myöhemmän tarkistuksen. DRBD:n synkronointialgoritmi on tehokas, koska se resynkronisoi vain ne lohkot, jotka muuttuivat katkoksen aikana, ei koko laitetta. DRBD integroituu usein Pacemaker- tai Heartbeat-klusteriresurssienhallintajärjestelmiin. Se toimii myös yhdessä virtualisointiratkaisujen, kuten Xenin, kanssa. DRBD mahdollistaa kuormantasapainon konfiguroinnin, jolloin molemmat solmut voivat käyttää tiettyä DRBD:tä luku-/kirjoitustilassa ja jakaa tallennustilan semantiikkaa. Esimerkiksi usean ensisijaisen (luku-/kirjoitustila) konfiguraatio vaatii hajautetun tiedostojärjestelmän kuten Ocfs2 käyttöä.

Heikkoudet:

Ajettaessa DRBD:tä dual-primary moodissa ja äkillisen virtakatkoksen tai muun häiriön tapahtutuessa palvelinten uudelleenkäynnistyksen yhteydessä saattaa tapahtua nk. split-brain reaktio, joka tarkoittaa, että palvelin ei tiedä miltä koneelta tieto haetaan replikoitavaksi ja on haasteellista saada järjestelmä tästä viirheestä toipumaan ilman uudelleenasennusta ja tietojen häviämistä. Joten etenkin tuotantokäytössä on syytä heti käyttöönoton jälkeen aloittaa crontabin ja vaikka rsyncin avulla DRBD-osion säännöllinen tiheä varmuuskopiointi.

Artikkeli soveltuu vain tietylle jakelulle vaikka sen tulisi käsitellä aihetta neutraalisti. Sitä tulisi muuttaa siirtämällä jakeluriippuvaiset yksityiskohdat Jakelukohtaista kappaleen alle - tai koko sivu kyseisen jakelun alasivuksi.

Asenna DRBD Debian 12 käyttöjärjestelmään:

Lisää molemmat palvelimet /etc/hosts -tiedostoon:

sudo nano /etc/hosts
192.168.1.201  esimerkkiservu-1.lan esimerkkiservu-1
192.168.1.202  esimerkkiservu-2.lan esimerkkiservu-2

Asenna DRBD-paketit komennolla:

sudo apt install drbd-utils

Lataa DRBD-moduuli ytimeen komennolla:

sudo modprobe drbd

Varmista, että moduuli on lisätty:

lsmod | grep drbd

Valmistele alitason tallennuslaitteet: Jokaiselle isäntäsolmulle valitse looginen lohkolaitteisto, joka toimii DRBD:n alla. Konfiguroi DRBD-resurssi: Luo DRBD-resurssille konfiguraatiotiedosto (esim. /etc/drbd.d/r0.res).

sudo nano /etc/drbd.d/r0.res
resource r0 {
net {
protocol C;
cram-hmac-alg sha1;
shared-secret "123456789";
}
on esimerkkiservu-1 {
address 192.168.1.201:7788;
node-id   1;
volume 0 {
device /dev/drbd0;
disk /dev/sdb5;
meta-disk internal;
}
}
on esimerkkiservu-2 {
address 192.168.1.202:7788;
node-id   2;
volume 0 {
device /dev/drbd0;
disk /dev/sdb5;
meta-disk internal;
}
}


Määritä ensisijainen ja toissijainen isäntäsolmu sekä looginen laite. Alusta ja ota käyttöön DRBD-resurssi: Alusta DRBD-resurssi komennolla:

sudo drbdadm create-md r0

Ota DRBD-resurssi käyttöön komennolla:

sudo drbdadm up r0

Aseta ensisijainen resurssi alkuperäisen laitteen synkronointiin: Määritä ensisijainen isäntäsolmu komennolla:

sudo drbdadm primary --force r0

Luo tiedostojärjestelmä DRBD-laitteelle: Luo tiedostojärjestelmä (esim. ext4) komennolla:

sudo mkfs.ext4 /dev/drbd0

Liitä DRBD-laite toiselle isäntäsolmulle: Liitä DRBD-laite toiselle isäntäsolmulle komennolla:

sudo mount /dev/drbd0 /mnt

Nyt DRBD on asennettu ja konfiguroitu. Voit käyttää DRBD:tä korkean käytettävyyden ratkaisuna tai replikoida tietoa isäntäsolmujen välillä.

Katso myös