Artikli tõlge valmis kursuse alguse eelõhtul
DRBD (Distributed Replicated Block Device) on hajutatud, paindlik ja universaalselt paljundatav salvestuslahendus Linuxi jaoks. See kajastab plokkseadmete, nagu kõvakettad, partitsioonid, loogilised mahud jne, sisu. serverite vahel. See loob andmetest koopiad kahel salvestusseadmel, nii et kui üks neist ebaõnnestub, saab kasutada teise andmeid.
Võib öelda, et see on midagi sellist
Algselt kasutati DRBD-d peamiselt kõrge kättesaadavusega (HA) arvutiklastrites, kuid alates versioonist XNUMX saab seda kasutada pilvesalvestuslahenduste juurutamiseks.
Selles artiklis selgitame, kuidas installida DRBD-d CentOS-i, ja demonstreerime lühidalt, kuidas seda kasutada salvestusruumi (sektsiooni) replikatsiooniks kahe serveri vahel. See on ideaalne artikkel DRBD-ga Linuxis alustamiseks.
Testikeskkond
Selle seadistuse jaoks kasutame kahe sõlme klastrit.
- Sõlm 1: 192.168.56.101 – tecmint.tecmint.lan
- Sõlm 2: 192.168.56.102 – server1.tecmint.lan
1. samm: installige DRBD paketid
DRBD on rakendatud Linuxi kerneli moodulina. See on virtuaalse plokkseadme draiver, seega asub see süsteemi I/O-pinu allosas.
DRBD saab paigaldada ELRepo või EPEL-ist. Alustame ELRepo paketi allkirjastamisvõtme importimisest ja hoidla ühendamisest mõlemas sõlmes, nagu allpool näidatud.
# 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
Seejärel peate mõlemasse sõlme installima DRBD tuumamooduli ja utiliidid, kasutades:
# yum install -y kmod-drbd84 drbd84-utils
Kui teil on SELinux lubatud, peate konfigureerima poliitikad, et vabastada DRBD protsessid SELinuxi juhtimisest.
# semanage permissive -a drbd_t
Lisaks, kui teie süsteemis töötab tulemüür (tulemüür), peate lisama DRBD-pordi 7789, et võimaldada andmete sünkroonimist kahe sõlme vahel.
Käivitage need käsud esimese sõlme jaoks:
# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.56.102" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload
Seejärel käivitage need käsud teise sõlme jaoks:
# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.56.101" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload
2. samm: valmistage ette madala tasemega salvestusruum
Nüüd, kui meil on mõlemasse klastri sõlme installitud DRBD, peame nendes varustama ligikaudu sama suurusega salvestusalasid. See võib olla kõvaketta partitsioon (või kogu füüsiline kõvaketas), tarkvara RAID-seade,
Selle artikli jaoks loome 2 GB testploki seadme, kasutades käsku dd.
# dd if=/dev/zero of=/dev/sdb1 bs=2024k count=1024
Oletame, et see on kasutamata partitsioon (/dev/sdb1) teises plokkseadmes (/dev/sdb), mis on ühendatud mõlema sõlmega.
Samm 3. DRBD seadistamine
DRBD põhikonfiguratsioonifail − /etc/drbd.conf
, ja täiendavad konfiguratsioonifailid leiate kataloogist /etc/drbd.d
.
Salvestusruumi paljundamiseks peame failile lisama vajalikud konfiguratsioonid /etc/drbd.d/global_common.conf
, mis sisaldab DRBD konfiguratsiooni globaalseid ja üldisi sektsioone ning me peame määratlema ressursid .res
failid.
Teeme mõlemas sõlmes originaalfailist varukoopia ja avame seejärel redigeerimiseks uue faili (kasutage oma valitud tekstiredaktorit).
# mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.orig
# vim /etc/drbd.d/global_common.conf
Lisage mõlemale failile järgmised read:
global {
usage-count yes;
}
common {
net {
protocol C;
}
}
Salvestage fail ja seejärel sulgege redaktor.
Vaatame korraks protokolli C rida. DRBD toetab kolme erinevat replikatsioonirežiimi (st kolme replikatsiooni sünkroonsuse astet), nimelt:
- protokoll A: asünkroonse replikatsiooni protokoll; kasutatakse kõige sagedamini pikamaa replikatsiooni stsenaariumides.
- protokoll B: poolsünkroonne replikatsiooniprotokoll või sünkroonse mäluprotokoll.
- protokoll C: kasutatakse tavaliselt lühikeste vahemaadega võrkude sõlmede jaoks; see on DRBD seadetes kõige sagedamini kasutatav replikatsiooniprotokoll.
Oluline: Replikatsiooniprotokolli valik mõjutab kahte juurutustegurit: turvalisus ja latentsusaeg. Seevastu läbilaskevõime ei sõltu oluliselt valitud replikatsiooniprotokollist.
4. samm: lisage ressurss
Ressurss on katustermin, mis viitab konkreetse kopeeritud andmestiku kõikidele aspektidele. Määratleme failis oma ressursi /etc/drbd.d/test.res
.
Lisage mõlema sõlme failile järgmine (pidage meeles, et muutujad asendage oma keskkonna tegelike väärtustega).
Pöörake tähelepanu hostinimedele, peame määrama võrgu hostinime, mille saab hankida käsu uname abil -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;
}
}
}
kus:
- hostinime peal: jaotis, millele pesastatud konfiguratsioonilause kehtib.
- test: see on uue ressursi nimi.
- seade /dev/drbd0: näitab uut virtuaalset plokkseadet, mida haldab DRBD.
- ketas /dev/sdb1: see on plokkseadme partitsioon, mis on DRBD-seadme varuseade.
- meta-ketas: määrab, kuhu DRBD oma metaandmeid salvestab. Sisemine tähendab, et DRBD salvestab oma metaandmed samasse füüsilisesse madala tasemega seadmesse kui tegelikud andmed tootmises.
- aadress: näitab vastava sõlme IP-aadressi ja pordi numbrit.
Pange tähele, et kui parameetritel on mõlemas hostis samad väärtused, saate need määrata otse ressursside jaotises.
Näiteks saab ülaltoodud konfiguratsiooni ümber struktureerida järgmiselt:
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;
}
}
Samm 5. Initsialiseerige ja käivitage ressurss
DRBD-ga suhtlemiseks kasutame järgmisi haldustööriistu (mis toimivad tuumamooduliga DRBD-ressursside konfigureerimiseks ja haldamiseks):
- drbdadm: DRBD kõrgetasemeline haldustööriist.
- drbdsetup: madalama taseme haldustööriist DRBD-seadmete ühendamiseks nende varuseadmetega, DRBD-seadmete paaride konfigureerimiseks nende varuseadmete kajastamiseks ja töötavate DRBD-seadmete konfiguratsiooni kontrollimiseks.
- Drbdmeta: metaandmete haldamise tööriist.
Pärast kõigi algsete ressursikonfiguratsioonide lisamist peame mõlemas sõlmes ressursi välja kutsuma.
# drbdadm create-md test
Metaandmete poe lähtestamine
Järgmisena peame selle käivitama, mis ühendab ressursi oma varuseadmega, seejärel määrab replikatsiooniparameetrid ja ühendab ressursi oma kaaslasega:
# drbdadm up test
Nüüd, kui käivitate käsu /dev/sdb1
:
# lsblk
Blokeerimisseadmete loend
Ressursi keelamiseks käivitage:
# drbdadm down test
Ressursi oleku kontrollimiseks käivitage järgmine käsk (pange tähele, et ketaste olek on sel hetkel oodatud Ebajärjekindel/ebajärjekindel):
# drbdadm status test
OR
# drbdsetup status test --verbose --statistics #for a more detailed status
Ressursi oleku kontrollimine sisse lülitatud
kurjast
6. samm: määrake esmane ressurss / seadme algne sünkroonimisallikas
Selles etapis on DRBD kasutusvalmis. Nüüd peame täpsustama, millist sõlme tuleks seadme esialgse sünkroonimise allikana kasutada.
Esialgse täieliku sünkroonimise alustamiseks käivitage järgmine käsk ainult ühes sõlmes:
# drbdadm primary --force test
# drbdadm status test
Esmase sõlme määramine algseadmeks
Kui sünkroonimine on lõppenud, peaks mõlema draivi olek olema UpToDate.
7. samm: DRBD seadistuse testimine
Lõpuks peame kontrollima, kas DRBD-seade töötab kopeeritud andmete salvestamiseks vastavalt vajadusele. Pidage meeles, et kasutasime tühja ketta mahtu, seega peame seadmes looma failisüsteemi ja selle ühendama, et kontrollida, kas saame seda kasutada kopeeritud andmete salvestamiseks.
Peame seadmes looma failisüsteemi, kasutades järgmist käsku sõlmes, kus alustasime esialgset täielikku sünkroonimist (millel on esmase rolliga ressurss):
# mkfs -t ext4 /dev/drbd0
Failisüsteemi loomine Drbd-köitel
Seejärel paigaldage see nagu näidatud (saate anda kinnituspunktile sobiva nime):
# mkdir -p /mnt/DRDB_PRI/
# mount /dev/drbd0 /mnt/DRDB_PRI/
Nüüd kopeerige või looge mõned failid ülaltoodud ühenduspunktis ja tehke nendega pikk loend
# cd /mnt/DRDB_PRI/
# ls -l
Loetlege peamise Drbd köite sisu
Järgmisena ühendage seade lahti (veenduge, et kinnitus pole avatud, muutke pärast lahtiühendamist kataloogi, et vältida tõrkeid) ja muutke sõlme roll esmasest sekundaarseks:
# umount /mnt/DRDB_PRI/
# cd
# drbdadm secondary test
Tehke teine sõlm (millel on teisese rolliga ressurss) esmane, seejärel ühendage sellega seade ja koostage pikk ühenduspunktide loend. Kui häälestus töötab hästi, peaksid kõik helitugevusele salvestatud failid seal olema:
# drbdadm primary test
# mkdir -p /mnt/DRDB_SEC/
# mount /dev/drbd0 /mnt/DRDB_SEC/
# cd /mnt/DRDB_SEC/
# ls -l
Sekundaarses sõlmes töötava DRBD seadistuse kontrollimine.
Lisateabe saamiseks vaadake haldustööriistade abilehti:
# man drbdadm
# man drbdsetup
# man drbdmeta
FAQ:
Kokkuvõte
DRBD on äärmiselt paindlik ja mitmekülgne, muutes selle salvestusruumi replikatsioonilahenduseks, mis sobib HA lisamiseks peaaegu igale rakendusele. Selles artiklis näitasime, kuidas installida DRBD operatsioonisüsteemi CentOS 7, ja lühidalt, kuidas seda kasutada salvestusruumi replikatsiooniks. Jagage meiega oma mõtteid, kasutades allolevat tagasisidevormi.
Allikas: www.habr.com