Artikli tÔlge on koostatud kursuse alguse eelÔhtul .
DRBD (Distributed Replicated Block Device â jaotatud replikatsiooniga plokkseade) on jaotatud, paindlik ja universaalne andmesalvestuse lahendus Linuxile. See peegeldab plokkseadmete, nagu kĂ”vakettad, jaotused, loogilised mahud jne, sisu serverite vahel. See loob andmete koopiad kahel salvestusseadmel, et ĂŒhe rikke korral saaks kasutada andmeid teisel.
Seda vÔib pidada millegi sarnaseks 1, kus kettad peegelduvad erinevate serverite peale. Selle tööpÔhimÔte on aga tÀiesti erinev RAID-ist (isegi vÔrgu RAID-ist).
Algselt kasutati DRBD peamiselt kĂ”rge kĂ€ttesaadavuse (HA â high availability) arvutiklasterites, kuid alates ĂŒheksandast versioonist saab seda kasutada pilvesalvestuslahenduste juurutamiseks.
Selles artiklis rÀÀgime, kuidas paigaldada DRBD CentOS-is ja anname lĂŒhikese ĂŒlevaate, kuidas seda kasutada salvestuse (jaotuse) replikatsiooniks kahe serveri vahel. See on ideaalne artikkel DRBD-ga töö alustamiseks Linuxis.
Testimisalune
Kasutame selle seadistuse jaoks kahe sÔlmega klastrit.
- SĂ”lm 1: 192.168.56.101 â tecmint.tecmint.lan
- SĂ”lm 2: 192.168.56.102 â server1.tecmint.lan
Samm 1: DRBD paketide paigaldamine
DRBD on realiseeritud Linuxi kerneli moodulina. See on virtuaalse plokkseadmestiku draiver, seega asub see sĂŒsteemi sisendi ja vĂ€ljundi virna kĂ”ige alumises osas.
DRBD-d saab paigaldada ELRepo vĂ”i EPEL kaudu. Alustame ELRepo paketti allkirjastamise vĂ”tme importimise ja repository ĂŒhendamisega 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.rpmSeejÀrel peab mÔlemas sÔlmes paigaldama DRBD kerneli mooduli ja utiliidid jÀrgmiste kÀskudega:
# yum install -y kmod-drbd84 drbd84-utilsKui teil on SELinux sisse lĂŒlitatud, peate seadistama poliitikad nii, et DRBD protsessid ei oleks SELinux-i kontrolli all.
# semanage permissive -a drbd_t
Lisaks, kui teie sĂŒsteemis töötab tulemĂŒĂŒri (firewalld), peate lisama DRBD pordi 7789, et vĂ”imaldada andmete sĂŒnkroniseerimist kahe sĂ”lme vahel.
KÀivitage need kÀsud esimeses sÔlmes:
# 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 teises sÔlmes:
# 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. Madalamate salvestusruumide ettevalmistamine
NĂŒĂŒd, kui meil on DRBD paigaldatud mĂ”lemas klastris, peame ette valmistama (peaaegu) sama suurusega salvestusruumid. See vĂ”ib olla kĂ”vaketta jaotus (vĂ”i kogu fĂŒĂŒsiline kĂ”vaketas), tarkvara RAID seade, vĂ”i mĂ”ni muu plokkseade, mis asub teie sĂŒsteemis.
Selles artiklis loome testplokkseadmestiku suurusega 2 GB kÀsu dd abil.
# dd if=/dev/zero of=/dev/sdb1 bs=2024k count=1024Eeldame, et see on kasutamata partitsioon (/dev/sdb1) teisel plokkseadmestikul (/dev/sdb), mis on ĂŒhendatud mĂ”lema sĂ”lmega.
Samm 3. DRBD seadistamine
DRBD pÔhikonfiguratsioonifail on /etc/drbd.conf, tÀiendavad konfiguratsioonifailid on saadaval kataloogis /etc/drbd.d.
Kuna peame salvestust replitseerima, peame lisama vajalikud konfiguratsioonid faili /etc/drbd.d/global_common.conf, mis sisaldab DRBD globaalset ja ĂŒldist konfiguratsiooni, ja me peame mÀÀratlusse ressursid .res failides.
Teeme varukoopia algsest failist mÔlemas sÔlmes ja seejÀrel avame uue faili redigeerimiseks (kasutage oma lemmiktekstiredaktorit).
# 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 redaktor.
Vaatame korra rea protocol C peale. DRBD toetab kolme erinevat replikatsiooni reĆŸiimi (st kolme taseme sĂŒnkroonsust), st:
- protocol A: asĂŒnkroonse replikatsiooni protokoll; kasutatakse kĂ”ige sagedamini suurte vahemaade replikatsioonil.
- protocol B: pool-sĂŒnkroonse replikatsiooni protokoll vĂ”i sĂŒnkroonse mĂ€lu protokoll.
- protocol C: kasutatakse tavaliselt lĂŒhikeste vahemaade vĂ”rgu sĂ”lmedes; see on kindlasti kĂ”ige sagedamini kasutatav replikatsiooni protokoll DRBD seadistustes.
Oluline: Valiku protokollil replikatsioon mÔjutab kahte juurutamise tegurit: kaitset ja viivitust. LÀbipÀÀs, vastupidi, ei sÔltu oluliselt valitud replikatsiooniprotokollist.
Samm 4. Ressursi lisamine
Ressurss (Resource) on kogum mÔiste, mis viitab kÔikidele aspektidele konkreetsetest replitseeritavatest andmekogumitest. MÀÀratleme oma ressursi failis /etc/drbd.d/test.res.
Lisage mÔlema sÔlme faili jÀrgmist (Àrge unustage asendada muutujad teie keskkonna tegelike vÀÀrtustega).
Pange tÀhele hostinimesid, peame mÀÀrama vÔrgu hostinime, mille saab kÀtte kÀsuga 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;
}
}
}kus:
- on hostname: osa, millega seotud on sisemine konfigureerimise operaator.
- test: see on uue ressursi nimi.
- device /dev/drbd0: mÀÀrab uue virtuaalse plokkseadmestiku, mida haldab DRBD.
- disk /dev/sdb1: see on plokkseadmestiku osa, mis on DRBD seadmekoopia varukoopia.
- meta-disk: mÀÀrab, kus DRBD oma metainfot hoiab. 'Internal' tĂ€hendab, et DRBD hoiab oma metainfot samal fĂŒĂŒsilisel madalal seadmel, kus asuvad tootmisandmed.
- aadress: mÀÀrab vastava sÔlme IP-aadressi ja pordi numbri.
Samuti pidage meeles, et kui mÔlemal hostil on parameetritel sama vÀÀrtus, vÔite need otse ressursi jaotises mÀÀrata.
NĂ€iteks vĂ”ib ĂŒ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. Ressursi initsialiseerimine ja kÀivitamine
DRBD-ga suhtlemiseks kasutame jÀrgmisi haldustööriistu (mis suhtlevad kernelimooduliga DRBD ressursside seadistamiseks ja haldamiseks):
- drbdadm: DRBD kÔrgtaseme haldustööriist.
- drbdsetup: madalama taseme haldustööriist, mis ĂŒhendab DRBD seadmeid nende varukohtadega, seadistab paaridest DRBD seadmed nende varukohtade peegeldamiseks ning kontrollib töötavate DRBD seadmete konfiguratsiooni.
- Drbdmeta: metainfo haldamise tööriist.
PÀrast kÔigi algsete ressursikonfiguratsioonide lisamist peame ressursi mÔlemasse sÔlme kutsuma.
# drbdadm create-md test 
Metainfot hoidva salvestuse initsialiseerimine
SeejĂ€rel peame seda kĂ€ivitama, mis ĂŒhendab ressursi selle varukoopiasse, seejĂ€rel seadistab replikatsiooniseaded ja ĂŒhendab ressursi oma paariga:
# drbdadm up test NĂŒĂŒd, kui kĂ€ivitate kĂ€su , mĂ€rkate, et DRBD seadme/mahu drbd0 on seotud varukohta /dev/sdb1:
# lsblk 
Plokkseadmestike loend
Ressursi vÀltimiseks kÀivitage:
# drbdadm down testRessursi oleku kontrollimiseks kÀivitage jÀrgmine kÀsk (pange tÀhele, et sel etapil eeldatakse, et kettade olek Inconsistent/Inconsistent):
# drbdadm status test
OR
# drbdsetup status test --verbose --statistics #for a more detailed status 
Ressursi oleku kontrollimine su
ludes
Samm 6: Peamise ressursi/algse seadme sĂŒnkroonimise seadmine
DRBD on juba valmis tööks. NĂŒĂŒd peame mÀÀrama, millist sĂ”lme kasutada algse seadistamise lĂ€htepunktina.
KĂ€itage jĂ€rgmist kĂ€sku ainult ĂŒhes sĂ”lmes, et alustada algset tĂ€ielikku sĂŒnkroniseerimist:
# drbdadm primary --force test
# drbdadm status test 
Seadistage pÔhissÔlm algseks seadistamiseks
SĂŒnkroniseerimise lĂ”ppedes peaks mĂ”lema ketta olukord olema UpToDate.
Samm 7: DRBD seadistuse testimine
LĂ”puks peame kontrollima, kas DRBD seade töötab Ă”igesti replikatsioonitud andmete salvestamiseks. Pidage meeles, et kasutasime tĂŒhja ketta mahtu, seega peame seadistama seadmele faili sĂŒsteemi ja monteerima selle, et kontrollida, kas saame seda kasutada replikatsioonitud andmete salvestamiseks.
Peame seadmele faili sĂŒsteemi loomiseks kĂ€ivitama jĂ€rgmise kĂ€su sĂ”lmes, millelt alustasime algset tĂ€ielikku sĂŒnkroniseerimist (sĂ”lm, millel on pĂ”hijoon):
# mkfs -t ext4 /dev/drbd0 
Loome faili sĂŒsteemi Drbd mahul
SeejÀrel monteerige see nagu nÀidatud (vÔite andmiseks monteerimiskohale sobiva nime):
# mkdir -p /mnt/DRDB_PRI/
# mount /dev/drbd0 /mnt/DRDB_PRI/
Kopeerige vĂ”i looge nĂŒĂŒd mĂ”ni fail ĂŒlaltoodud monteerimiskohas ja looge pikk loend kĂ€e kaudu :
# cd /mnt/DRDB_PRI/
# ls -l 
Kuvage pÔhimaht Drbd sisu loend
SeejÀrel eemaldage seade (veenduge, et monteerimine ei oleks avatud, vahetage katalooge pÀrast eemaldamist, et vÀltida vigu) ja muutke sÔlme roll primaarsetelt sekundaarseteks:
# umount /mnt/DRDB_PRI/
# cd
# drbdadm secondary testTeisest sĂ”lmest (millel on ressurss sekundaarse rolliga) tehke primaarne, seejĂ€rel ĂŒhendage sellele seade ja viige lĂ€bi pikk nimekiri monteerimiskohtadest. Kui seadistus töötab normaalselt, peaks kĂ”ik ketas hoitud failid olema seal:
# drbdadm primary test
# mkdir -p /mnt/DRDB_SEC/
# mount /dev/drbd0 /mnt/DRDB_SEC/
# cd /mnt/DRDB_SEC/
# ls -l 
Kontrollige DRBD seadistust, mis töötab sekundaarse sÔlme peal.
Lisainformatsiooni saamiseks vaadake haldustoodete abilehti:
# man drbdadm
# man drbdsetup
# man drbdmetaAbi: .
Elulookirjeldus
DRBD on ÀÀrmiselt paindlik ja mitmekesine, mistĂ”ttu sobib see ladustamise replikatsiooni lahenduseks, millega saab lisada HA praktiliselt igasse rakendusse. KĂ€esolevas artiklis nĂ€itasime, kuidas DRBD installida CentOS 7-le, ja andsime lĂŒhikese ĂŒlevaate selle kasutamisest ladustamise replikatsiooniks. Olete teretulnud jagama meile oma mĂ”tteid alloleva tagasiside vormi kaudu.
Allikas: habr.com
