Artikli tõlge on ettevalmistatud kursuse alguseks .
DRBD (Distributed Replicated Block Device — jaotatud replikatsiooniga plokiseade) on jaotatud, paindlik ja universaalne lahendus andmete salvestamiseks Linuxile. See peegeldab plokiseadmete, näiteks kõvakettade, partitsioonide, loogiliste mahtude jne sisu serverite vahel. See loob andmekoopiaid kahel salvestusseadmest, et ühe rikkimise korral saaks kasutada andmeid teisel.
Võib öelda, et see on midagi sarnast 1 kõvaketastega, mis on peegeldatud erinevatele serveritele. Siiski ei toimi see sugugi nagu RAID (isegi mitte võrgu RAID).
Alguses kasutati DRBD peamiselt kõrgkättesaadavuse (HA — high availability) arvutiklastrites, kuid alates üheksandast versioonist saab seda kasutada ka pilvesalvestuslahenduste rakendamiseks.
Käesolevas artiklis räägime, kuidas installida DRBD CentOS-is, ja anname lühikese ülevaate selle kasutamisest salvestusruumi (partitsiooni) replikatsiooniks kahel serveril. See artikkel on ideaalne alustamiseks DRBD-ga Linuxis.
Testkeskkond
Kasutame seda seadistust jaoks kahe sõlme klastrit.
- Sõlm 1: 192.168.56.101 – tecmint.tecmint.lan
- Sõlm 2: 192.168.56.102 – server1.tecmint.lan
Samm 1: DRBD paketid paigaldamine
DRBD on rakendatud Linuxi kernelimoodulina. See toimib virtuaalse plokkseadmestiku draiverina, seega asub see süsteemi sisend-väljundide virna kõige madalamal tasemel.
DRBD saab installida ELRepo või EPEL kaudu. Alustame ELRepo paketi allkirja võtme importimise ja mõlemas sõlmes repode ühendamisega, 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.rpmSeejärel tuleb inglise keelsete DRBD moodul ja utiliidid paigaldada mõlemasse sõlme järgmise käsu abil:
# yum install -y kmod-drbd84 drbd84-utilsKui SELinux on aktiveeritud, tuleb teil seadistada poliitikad, et vabastada DRBD protsessid SELi kontrolli alt.
# semanage permissive -a drbd_t
Lisaks, kui teie süsteemis töötab tulemüür (firewalld), peate lisama DRBD port 7789, et lubada 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 --reloadSeejä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 --reloadSamm 2. Madala taseme salvestuse ettevalmistamine
Nüüd, kui DRBD on paigaldatud mõlemale klastrisõlmele, peame nendele ette valmistama ligikaudu sama suurusega salvestuspiirkonnad. See võib olla kõvaketta partitsioon (või tervik füüsiline kõvaketas), RAID-i tarkseade, või mõni muu tüüpi plokiseade, mis asub teie süsteemis.
Käesolevas artiklis loome testplokiseadmest 2 GB suuruse, kasutades käsku dd.
# dd if=/dev/zero of=/dev/sdb1 bs=2024k count=1024Oletame, et see on kasutamata partitsioon (/dev/sdb1) teisel plokiseadmel (/dev/sdb), mis on ühendatud mõlema sõlmega.
Samm 3. DRBD seadistamine
DRBD-i peamine konfiguratsioonifail — /etc/drbd.conf, ning täiendavad konfiguratsioonifailid on saadaval kataloogis /etc/drbd.d.
Salvestuse replitseerimiseks peame lisama vajalikud seadistused faili /etc/drbd.d/global_common.conf, mis sisaldab DRBD-i globaalseid ja ühiseid seadistusi, ning ressursid peavad olema määratletud .res failides.
Teeme varukoopia algsest failist mõlemal sõlmel ja seejärel avame uue faili redigeerimiseks (kasutage endale meelepärast tekstiredaktorit).
# mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.orig
# vim /etc/drbd.d/global_common.conf Lisage mõlemasse faili järgmised read:
global {
usage-count yes;
}
common {
net {
protocol C;
}
}Salvestage fail ja seejärel sulgege toimetaja.
Võtame hetkeks ette protokolli C. DRBD toetab kolme erinevat replikatsiooni režiimi (st kolme erinevat sünkroniseerimise astet), nimelt:
- protokoll A: asünkroonne replikatsiooni protokoll; kasutatakse kõige sagedamini pika vahemaa replikatsiooni stsenaariumides.
- protokoll B: pool-sünkroonne replikatsiooni protokoll või sünkroonne mäluprotokoll.
- protokoll C: kasutatakse tavaliselt väikeste vahemaadega sõlmede jaoks; see on üldiselt kõige sagedamini kasutatav replikatsiooni protokoll DRBD seadistustes.
Oluline: Valitud replikatsiooni protokoll mõjutab kahte kasutuselevõtu tegurit: kaitse ja latentsus. Läbipaistvus, vastupidi, ei sõltu olulisel määral valitud replikatsiooni protokollist.
Samm 4. Ressursi lisamine
Ressurss (Resource) on kogum mõisted, mis viitab kõikidele konkreetse replitseeritava andmekogumi aspektidele. Määratleme meie ressursi failis /etc/drbd.d/test.res.
Lisage järgmine mõlemasse sõlme faili (ärge unustage muuta muutujad oma keskkonna tegelike väärtustega).
Pöörake tähelepanu hostinimedele, peame näitama võrgu hostinime, mille saame käsuga uname. väljaande numbri määramiseks:.
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:
- hostinimi: on lauseosa, mis viitab sisemise konfiguratsiooni operaatorile.
- test: see on uue ressursi nimi.
- device /dev/drbd0: viitab uuele virtuaalsele plokiseadmelle, mida juhib DRBD.
- disk /dev/sdb1: see on plokiseadme partitsioon, mis on DRBD seadme varukoopia.
- meta-disk: määratleb, kus DRBD hoiab oma metaandmeid. Internal tähendab, et DRBD salvestab oma metaandmed samale füüsilisele madala taseme seadmele, kus on ka tootmisandmed.
- address: määrab vastava sõlme IP-aadressi ja pordinumbri.
Pange tähele, et kui mõlemal hostil on parameetrid samade väärtustega, saate need otse ressursiosas määrata.
Näiteks võib eespool toodud konfiguratsiooni ümber korraldada 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. Ressursi initsialiseerimine ja käivitamine
DRBD-ga suhtlemiseks kasutame järgmisi haldustööriistu (mis suhtlevad tuumamooduliga DRBD ressursside seadistamiseks ja haldamiseks):
- drbdadm: DRBD-i kõrgema taseme haldustööriist.
- drbdsetup: madalama taseme haldustööriist, mis ühendab DRBD-seadmed nende varundusseadmetega, seadistab DRBD-seadmete paare nende varundusseadmete peegeldamiseks ja kontrollib töötavate DRBD-seadmete konfiguratsiooni.
- Drbdmeta: metaandmete haldustööriist.
Pärast kõigi ressursi algkonfiguratsioonide lisamist peame käivitama ressursi mõlemal sõlmel.
# drbdadm create-md test 
Metaandmete salvestuse initsialiseerimine
Seejärel peame selle käivitama, mis ühendab ressursi tema varundusseadmest, seejärel seadistab replikatsiooni parameetrid ja ühendab ressursi oma eeriga:
# drbdadm up test Nüüd, kui käivitate käsu , te märkate, et seade/maht DRBD drbd0 on seotud varureaga /dev/sdb1:
# lsblk 
Plokiseadmete loend
Ressursi peatamiseks käivitage:
# drbdadm down testRessursi oleku kontrollimiseks käivitage järgmine käsk (palun pane tähele, et sellel etapil on diskide olek oodatav Konsistentne/Konsistentne):
# drbdadm status test
OR
# drbdsetup status test --verbose --statistics #for a more detailed status 
Ressursi oleku kontrollimine
kohta
Samm 6: Peamise ressursi/seadme algsest sünkroonimise allika seadistamine
Käesoleval etapil on DRBD juba tööks valmis. Nüüd peame määrama, millist sõlme kasutada seadmete algsena sünkroonimise allikana.
Käivitage järgmine käsk ainult ühel sõlmel, et alustada esialgset täielikku sünkroonimist:
# drbdadm primary --force test
# drbdadm status test 
Peamise sõlme seadistamine algse seadmena
Pärast sünkroonimise lõpetamist peab mõlema diski olek olema Ajakohane.
Samm 7: DRBD seadistuse testimine
Lõfinally, peame kontrollima, kas DRBD seade töötab nagu peab, et salvestada replikatsiooniandmeid. Pidage meeles, et kasutasime tühi ketta mahtu, seega peame seadme peal failisüsteemi looma ja selle monteerima, et kontrollida, kas saame seda replikatsiooniandmete salvestamiseks kasutada.
Peame seadme peal failisüsteemi looma järgmise käsuga sõlmes, kus alustasime algset täielikku sünkroniseerimist (kus on ressurss põhivooluga):
# mkfs -t ext4 /dev/drbd0 
Loome failisüsteemi Drbd mahtul
Seejärel monteerige see nagu näidatud (võite anda monteerimispunktile sobiva nime):
# mkdir -p /mnt/DRDB_PRI/
# mount /dev/drbd0 /mnt/DRDB_PRI/
Nüüd kopeerige või looge mõned failid ülaltoodud monteerimispunktis ja tehke pikk loend käsuga :
# cd /mnt/DRDB_PRI/
# ls -l 
Kuvatakse põhimahtu Drbd sisu loend
Seejärel des monteerige seade (veenduge, et monteerimine pole avatud, vahetage katalooge pärast des monteerimist, et vältida vigu) ja muutke sõlme rolli põhivoolust teiseks:
# umount /mnt/DRDB_PRI/
# cd
# drbdadm secondary testTeine sõlm (kus on ressurss sekundaarse rolliga) tehke esmaseks, seejärel ühendage sellele seade ja viige läbi pikk installimispunktide loetelu. Kui seade töötab normaalselt, peavad kõik sellel mahtul salvestatud failid olema seal:
# drbdadm primary test
# mkdir -p /mnt/DRDB_SEC/
# mount /dev/drbd0 /mnt/DRDB_SEC/
# cd /mnt/DRDB_SEC/
# ls -l 
DRBD seadistuse kontroll, mis töötab sekundaarse sõlme peal.
Lisateabe saamiseks pöörduge haldustööriistade abi lehtede poole:
# man drbdadm
# man drbdsetup
# man drbdmetaAbi: .
Kokkuvõte
DRBD on äärmiselt paindlik ja mitmekülgne, muutes selle salvestuse replikatsiooni lahenduseks, mis sobib HA lisamiseks praktiliselt igasse rakendusse. Selles artiklis näitasime, kuidas installida DRBD CentOS 7-s ning andsime lühikese ülevaate selle kasutamisest salvestuse replikatsiooniks. Jagage julgelt oma mõtteid meiega alloleva tagasiside vormi kaudu.
Allikas: habr.com
