Prijevod članka pripremljen je uoči početka tečaja
DRBD (Distribuirani replicirani blok uređaj) je distribuirano, fleksibilno i univerzalno replicirano rješenje za pohranu za Linux. Odražava sadržaj blok uređaja kao što su tvrdi diskovi, particije, logički volumeni itd. između poslužitelja. Stvara kopije podataka na dva uređaja za pohranu tako da se, ako jedan od njih zakaže, mogu koristiti podaci na drugom.
Moglo bi se reći da je nešto poput
U početku se DRBD uglavnom koristio u računalnim klasterima visoke dostupnosti (HA), međutim, počevši od verzije XNUMX, može se koristiti za implementaciju rješenja za pohranu u oblaku.
U ovom ćemo članku objasniti kako instalirati DRBD na CentOS i ukratko pokazati kako ga koristiti za repliciranje pohrane (particije) na dva poslužitelja. Ovo je savršen članak za početak rada s DRBD-om na Linuxu.
Testno okruženje
Za ovu postavku koristit ćemo klaster s dva čvora.
- Čvor 1: 192.168.56.101 – tecmint.tecmint.lan
- Čvor 2: 192.168.56.102 – server1.tecmint.lan
Korak 1: Instalirajte DRBD pakete
DRBD je implementiran kao modul Linux kernela. To je upravljački program za virtualni blok uređaj, tako da se nalazi na samom dnu I/O stoga sustava.
DRBD se može instalirati iz ERLepo ili EPEL. Počnimo s uvozom ključa za potpisivanje paketa ERLepo i povezivanjem repozitorija na oba čvora kao što je prikazano u nastavku.
# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
Zatim trebate instalirati DRBD kernel modul i uslužne programe na oba čvora koristeći:
# yum install -y kmod-drbd84 drbd84-utils
Ako vam je omogućen SELinux, trebate konfigurirati pravila za izuzimanje DRBD procesa iz SELinux kontrole.
# semanage permissive -a drbd_t
Osim toga, ako vaš sustav koristi vatrozid (firewalld), morat ćete dodati DRBD port 7789 da biste omogućili sinkronizaciju podataka između dva čvora.
Pokrenite ove naredbe za prvi čvor:
# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.56.102" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload
Zatim pokrenite ove naredbe za drugi čvor:
# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.56.101" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload
Korak 2: Pripremite pohranu niske razine
Sada kada imamo instaliran DRBD na oba čvora klastera, moramo osigurati područja za pohranu približno iste veličine na njima. To može biti particija tvrdog diska (ili cijeli fizički tvrdi disk), softverski RAID uređaj,
Za ovaj članak izradit ćemo testni blok uređaj od 2 GB pomoću naredbe dd.
# dd if=/dev/zero of=/dev/sdb1 bs=2024k count=1024
Pretpostavimo da je ovo neiskorištena particija (/dev/sdb1) na drugom blok uređaju (/dev/sdb) spojenom na oba čvora.
Korak 3. Konfiguriranje DRBD-a
DRBD glavna konfiguracijska datoteka − /etc/drbd.conf
, a dodatne konfiguracijske datoteke mogu se pronaći u imeniku /etc/drbd.d
.
Da bismo replicirali pohranu, moramo dodati potrebne konfiguracije u datoteku /etc/drbd.d/global_common.conf
, koji sadrži globalne i općenite odjeljke DRBD konfiguracije, a mi trebamo definirati resurse u .res
datoteke.
Napravimo sigurnosnu kopiju originalne datoteke na oba čvora, a zatim otvorimo novu datoteku za uređivanje (koristite uređivač teksta po vašem izboru).
# mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.orig
# vim /etc/drbd.d/global_common.conf
Dodajte sljedeće retke u obje datoteke:
global {
usage-count yes;
}
common {
net {
protocol C;
}
}
Spremite datoteku i zatvorite uređivač.
Pogledajmo na trenutak liniju protokola C. DRBD podržava tri različita načina replikacije (to jest, tri stupnja sinkronizacije replikacije), naime:
- protokol A: asinkroni replikacijski protokol; najčešće se koristi u scenarijima replikacije na velike udaljenosti.
- protokol B: Protokol polusinkrone replikacije ili protokol sinkrone memorije.
- protokol C: obično se koristi za čvorove u mrežama s malim udaljenostima; ovo je daleko najčešće korišteni replikacijski protokol u DRBD postavkama.
To je važno: Odabir protokola replikacije utječe na dva čimbenika implementacije: sigurnost i kašnjenje. Nasuprot tome, propusnost ne ovisi značajno o odabranom replikacijskom protokolu.
Korak 4: Dodajte resurs
Resurs je krovni pojam koji se odnosi na sve aspekte određenog repliciranog skupa podataka. Naš resurs ćemo definirati u datoteci /etc/drbd.d/test.res
.
Dodajte sljedeće u datoteku na oba čvora (ne zaboravite zamijeniti varijable stvarnim vrijednostima za vaše okruženje).
Obratite pozornost na nazive računala, moramo navesti naziv računala mreže, koji se može dobiti pomoću naredbe uname -n
.
resource test {
on tecmint.tecmint.lan {
device /dev/drbd0;
disk /dev/sdb1;
meta-disk internal;
address 192.168.56.101:7789;
}
on server1.tecmint.lan {
device /dev/drbd0;
disk /dev/sdb1;
meta-disk internal;
address 192.168.56.102:7789;
}
}
}
gdje je:
- na naziv hosta: On odjeljak na koji se odnosi ugniježđena konfiguracijska izjava.
- test: Ovo je naziv novog izvora.
- uređaj /dev/drbd0: Označava novi virtualni blok uređaj kojim upravlja DRBD.
- disk /dev/sdb1: Ovo je particija blok uređaja koja je rezervni uređaj za DRBD uređaj.
- meta-disk: Definira gdje DRBD pohranjuje svoje metapodatke. Interno znači da DRBD pohranjuje svoje metapodatke na istom fizičkom uređaju niske razine kao i stvarni podaci u proizvodnji.
- adresa: Označava IP adresu i broj porta odgovarajućeg čvora.
Također imajte na umu da ako parametri imaju iste vrijednosti na oba hosta, možete ih odrediti izravno u odjeljku resursa.
Na primjer, gornja konfiguracija može se restrukturirati u:
resource test {
device /dev/drbd0;
disk /dev/sdb1;
meta-disk internal;
on tecmint.tecmint.lan {
address 192.168.56.101:7789;
}
on server1.tecmint.lan {
address 192.168.56.102:7789;
}
}
Korak 5. Inicijalizirajte i pokrenite resurs
Za interakciju s DRBD-om koristit ćemo sljedeće administrativne alate (koji su u interakciji s modulom jezgre za konfiguriranje i administriranje DRBD resursa):
- drbdadm: DRBD alat za administraciju visoke razine.
- drbdsetup: Alat za administraciju niže razine za povezivanje DRBD uređaja s njihovim uređajima za sigurnosno kopiranje, konfiguriranje parova DRBD uređaja da odražavaju njihove uređaje za sigurnosno kopiranje i za provjeru konfiguracije pokrenutih DRBD uređaja.
- Drbdmeta: Alat za upravljanje metapodacima.
Nakon dodavanja svih početnih konfiguracija resursa, moramo pozvati resurs na oba čvora.
# drbdadm create-md test
Inicijalizacija pohrane metapodataka
Zatim ga trebamo pokrenuti, što će povezati resurs s njegovim uređajem za sigurnosno kopiranje, zatim postaviti parametre replikacije i povezati resurs s ravnopravnim uređajem:
# drbdadm up test
Sada ako pokrenete naredbu /dev/sdb1
:
# lsblk
Popis blok uređaja
Da biste onemogućili resurs, pokrenite:
# drbdadm down test
Za provjeru statusa resursa, pokrenite sljedeću naredbu (imajte na umu da se status diskova očekuje u ovom trenutku Nedosljedno/Nedosljedno):
# drbdadm status test
OR
# drbdsetup status test --verbose --statistics #for a more detailed status
Provjera statusa resursa na
zlo
Korak 6: Postavite primarni resurs/početni izvor sinkronizacije uređaja
U ovoj fazi, DRBD je spreman za rad. Sada moramo odrediti koji čvor treba koristiti kao izvor početne sinkronizacije uređaja.
Izvedite sljedeću naredbu na samo jednom čvoru da započnete početnu potpunu sinkronizaciju:
# drbdadm primary --force test
# drbdadm status test
Postavljanje primarnog čvora kao početnog uređaja
Nakon što je sinkronizacija dovršena, stanje oba pogona bi trebalo biti UpToDate.
Korak 7: Testiranje postavki DRBD-a
Konačno, moramo provjeriti hoće li DRBD uređaj raditi kako je potrebno za pohranjivanje repliciranih podataka. Upamtite da smo koristili prazan volumen diska, tako da moramo stvoriti datotečni sustav na uređaju i montirati ga da provjerimo možemo li ga koristiti za pohranjivanje repliciranih podataka.
Moramo stvoriti datotečni sustav na uređaju koristeći sljedeću naredbu na čvoru gdje smo započeli početnu punu sinkronizaciju (koja ima resurs s primarnom ulogom):
# mkfs -t ext4 /dev/drbd0
Stvaranje datotečnog sustava na Drbd volumenu
Zatim ga montirajte kao što je prikazano (možete točki montiranja dati odgovarajući naziv):
# mkdir -p /mnt/DRDB_PRI/
# mount /dev/drbd0 /mnt/DRDB_PRI/
Sada kopirajte ili stvorite neke datoteke u gornjoj točki montiranja i napravite dugačak popis s njima
# cd /mnt/DRDB_PRI/
# ls -l
Navedite sadržaj glavnog Drbd volumena
Zatim demontirajte uređaj (provjerite da montiranje nije otvoreno, promijenite direktorij nakon demontaže da biste izbjegli pogreške) i promijenite ulogu čvora iz primarne u sekundarnu:
# umount /mnt/DRDB_PRI/
# cd
# drbdadm secondary test
Učinite drugi čvor (koji ima resurs sa sekundarnom ulogom) primarnim, zatim mu pričvrstite uređaj i izdajte dugačak popis točaka montiranja. Ako postavka radi dobro, sve datoteke pohranjene na volumenu trebale bi biti tamo:
# drbdadm primary test
# mkdir -p /mnt/DRDB_SEC/
# mount /dev/drbd0 /mnt/DRDB_SEC/
# cd /mnt/DRDB_SEC/
# ls -l
Provjera postavke DRBD-a koja se izvodi na sekundarnom čvoru.
Za više informacija pogledajte stranice za pomoć administrativnih alata:
# man drbdadm
# man drbdsetup
# man drbdmeta
Pomoć:
Rezime
DRBD je iznimno fleksibilan i svestran, što ga čini rješenjem za replikaciju pohrane prikladnim za dodavanje HA gotovo svakoj aplikaciji. U ovom smo članku pokazali kako instalirati DRBD na CentOS 7 i ukratko pokazali kako ga koristiti za replikaciju pohrane. Slobodno podijelite svoje mišljenje s nama koristeći obrazac za povratne informacije u nastavku.
Izvor: www.habr.com