La traduko de la artikolo estis preparita sojle de la komenco de la kurso
DRBD (Distributed Replicated Block Device) estas distribuita, fleksebla kaj universale reproduktebla stokadsolvo por Linukso. Ĝi reflektas la enhavon de blokaj aparatoj kiel malmolaj diskoj, sekcioj, logikaj volumoj ktp. inter serviloj. Ĝi kreas kopiojn de datumoj sur du stokaj aparatoj tiel ke se unu el ili malsukcesas, la datumoj sur la dua povas esti uzata.
Vi povus diri, ke ĝi estas io simila
Komence, DRBD estis uzita plejparte en alta havebleco (HA) komputilaretoj, tamen, komencante kun versio XNUMX, ĝi povas esti uzita por deploji nuba stokado solvoj.
En ĉi tiu artikolo, ni klarigos kiel instali DRBD sur CentOS kaj mallonge pruvos kiel uzi ĝin por reprodukti stokadon (diskonigo) tra du serviloj. Ĉi tiu estas la perfekta artikolo por komenci kun DRBD en Linukso.
Testa Medio
Ni uzos du nodan areton por ĉi tiu aranĝo.
- Nodo 1: 192.168.56.101 - tecmint.tecmint.lan
- Nodo 2: 192.168.56.102 - server1.tecmint.lan
Paŝo 1: Instalu DRBD-pakaĵojn
DRBD estas efektivigita kiel Linukso-kerna modulo. Ĝi estas pelilo por virtuala bloka aparato, do ĝi situas ĉe la fundo de la I/O-stako de la sistemo.
DRBD povas esti instalita de ELRepo aŭ EPEL. Ni komencu importante la ELRepo-pakaĵan subskribŝlosilon kaj konekti la deponejon sur ambaŭ nodoj kiel montrite sube.
# 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
Tiam vi devas instali la DRBD-kernan modulon kaj ilojn sur ambaŭ nodoj uzante:
# yum install -y kmod-drbd84 drbd84-utils
Se vi havas SELinux ebligita, vi devas agordi politikojn por sendevigi DRBD-procezojn de SELinux-kontrolo.
# semanage permissive -a drbd_t
Aldone, se via sistemo funkcias fajroŝirmilon (firewalld), vi devos aldoni DRBD-havenon 7789 por permesi datuman sinkronigon inter la du nodoj.
Rulu ĉi tiujn komandojn por la unua nodo:
# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.56.102" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload
Poste rulu ĉi tiujn komandojn por la dua nodo:
# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.56.101" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload
Paŝo 2: Preparu Malaltnivelan Stokadon
Nun kiam ni havas DRBD instalitan sur ambaŭ grapolnodoj, ni devas provizi stokajn areojn de proksimume la sama grandeco sur ili. Ĉi tio povus esti malmola disko (aŭ tuta fizika malmola disko), programara RAID-aparato,
Por ĉi tiu artikolo, ni kreos 2GB-testblokan aparaton per la dd-komando.
# dd if=/dev/zero of=/dev/sdb1 bs=2024k count=1024
Ni supozu, ke ĉi tio estas neuzata subdisko (/dev/sdb1) sur dua bloka aparato (/dev/sdb) konektita al ambaŭ nodoj.
Paŝo 3. Agordante DRBD
DRBD ĉefa agorda dosiero − /etc/drbd.conf
, kaj pliaj agordaj dosieroj troviĝas en la dosierujo /etc/drbd.d
.
Por reprodukti la stokadon, ni devas aldoni la necesajn agordojn al la dosiero /etc/drbd.d/global_common.conf
, kiu enhavas tutmondajn kaj ĝeneralajn sekciojn de la DRBD-agordo, kaj ni devas difini resursojn en .res
dosierojn.
Ni faru rezervan kopion de la originala dosiero sur ambaŭ nodoj, kaj poste malfermu la novan dosieron por redaktado (uzu tekstredaktilon de via elekto).
# mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.orig
# vim /etc/drbd.d/global_common.conf
Aldonu la sekvajn liniojn al ambaŭ dosieroj:
global {
usage-count yes;
}
common {
net {
protocol C;
}
}
Konservu la dosieron kaj poste fermu la redaktilon.
Ni rigardu momente la protokolan linion C. DRBD subtenas tri malsamajn reproduktajn reĝimojn (tio estas, tri gradojn de reproduktadsinkronio), nome:
- protokolo A: nesinkrona replika protokolo; plej ofte uzata en longdistancaj reproduktaj scenaroj.
- protokolo B: Duonsinkrona replika protokolo aŭ sinkrona memorprotokolo.
- protokolo C: kutime uzata por nodoj en retoj kun mallongaj distancoj; ĉi tio estas senkompare la plej ofte uzata replika protokolo en DRBD-agordoj.
gravaj: La elekto de reproduktadprotokolo influas du deplojfaktorojn: sekureco kaj latenteco. Kompare, trairo ne dependas signife de la elektita reproduktprotokolo.
Paŝo 4: Aldonu rimedon
Rimedo estas tegmenta termino, kiu rilatas al ĉiuj aspektoj de aparta reproduktita datumaro. Ni difinos nian rimedon en la dosiero /etc/drbd.d/test.res
.
Aldonu la jenon al la dosiero sur ambaŭ nodoj (memoru anstataŭigi la variablojn per la realaj valoroj por via medio).
Atentu la gastigajn nomojn, ni devas specifi la retan gastigan nomon, kiu povas esti akirita per la komando 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;
}
}
}
kie:
- sur gastiga nomo: La on-sekcio al kiu aplikas la nestita agorda deklaro.
- testo: Jen la nomo de la nova rimedo.
- aparato /dev/drbd0: Indikas novan virtualan blokan aparaton administritan de DRBD.
- disko /dev/sdb1: Ĉi tio estas blok-aparato, kiu estas rezerva aparato por la DRBD-aparato.
- meta-disko: Difinas kie DRBD stokas siajn metadatenojn. Interna signifas, ke DRBD stokas siajn metadatenojn sur la sama fizika malaltnivela aparato kiel la realaj datumoj en produktado.
- adreso: Indikas la IP-adreson kaj havenon de la responda nodo.
Rimarku ankaŭ, ke se la parametroj havas la samajn valorojn sur ambaŭ gastigantoj, vi povas specifi ilin rekte en la sekcio de rimedoj.
Ekzemple, ĉi-supra agordo povus esti restrukturita al:
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;
}
}
Paŝo 5. Inicialigu kaj lanĉi la rimedon
Por interagi kun DRBD ni uzos la sekvajn administrajn ilojn (kiuj interagas kun la kernomodulo por agordi kaj administri DRBD-rimedojn):
- drbdadm: DRBD altnivela administra ilo.
- drbdsetup: Malsupra-nivela administra ilo por ligado de DRBD-aparatoj al iliaj rezervaparatoj, agordi parojn de DRBD-aparatoj por reflekti iliajn rezervajn aparatojn, kaj por kontroli la konfiguracion de funkciado de DRBD-aparatoj.
- Drbdmeta: Metadatuma mastruma ilo.
Post aldoni ĉiujn komencajn rimedagordojn, ni devas alvoki la rimedon sur ambaŭ nodoj.
# drbdadm create-md test
Komencante la Metadatuman Vendejon
Poste ni devas ruli ĝin, kiu konektos la rimedon al sia rezerva aparato, tiam agordu la reproduktajn parametrojn kaj konektos la rimedon al sia samulo:
# drbdadm up test
Nun se vi rulas la komandon /dev/sdb1
:
# lsblk
Listo de blokaj aparatoj
Por malŝalti rimedon, rulu:
# drbdadm down test
Por kontroli la staton de rimedo, rulu la sekvan komandon (notu, ke la stato de la diskoj estas atendata ĉi-momente Nekonsekvenca/Malkonsekvenca):
# drbdadm status test
OR
# drbdsetup status test --verbose --statistics #for a more detailed status
Kontroli la staton de rimedo sur
malbono
Paŝo 6: Agordu la ĉefan rimedon/komencan sinkronigan fonton
En ĉi tiu etapo, DRBD estas preta iri. Nun ni devas specifi kiu nodo devas esti uzata kiel la fonto de komenca aparato sinkronigado.
Rulu la sekvan komandon sur nur unu nodo por komenci la komencan plenan sinkronigon:
# drbdadm primary --force test
# drbdadm status test
Agordi la primaran nodon kiel la komencan aparaton
Post kiam la sinkronigo estas kompleta, la stato de ambaŭ diskoj estu UpToDate.
Paŝo 7: Provante la agordon de DRBD
Fine, ni devas kontroli ĉu la DRBD-aparato funkcios laŭbezone por stoki la reproduktitajn datumojn. Memoru, ke ni uzis malplenan diskon, do ni devas krei dosiersistemon sur la aparato kaj munti ĝin por kontroli ĉu ni povas uzi ĝin por stoki reproduktitajn datumojn.
Ni devas krei dosiersistemon sur la aparato uzante la sekvan komandon sur la nodo, kie ni komencis la komencan plenan sinkronigon (kiu havas rimedon kun la ĉefa rolo):
# mkfs -t ext4 /dev/drbd0
Kreante dosiersistemon sur la Drbd-volumo
Poste muntu ĝin kiel montrite (vi povas doni al la munta punkto taŭgan nomon):
# mkdir -p /mnt/DRDB_PRI/
# mount /dev/drbd0 /mnt/DRDB_PRI/
Nun kopiu aŭ kreu kelkajn dosierojn en la ĉi-supra munta punkto kaj faru longan liston kun
# cd /mnt/DRDB_PRI/
# ls -l
Listigu la enhavon de la ĉefa Drbd-volumo
Poste, malmuntu la aparaton (certu, ke la monto ne estas malfermita, ŝanĝu la dosierujon post malmuntado por eviti erarojn) kaj ŝanĝu la nodan rolon de primara al malĉefa:
# umount /mnt/DRDB_PRI/
# cd
# drbdadm secondary test
Faru la alian nodon (kiu havas rimedon kun malĉefa rolo) unuaranga, tiam aligu aparaton al ĝi kaj eligu longan liston de muntaj punktoj. Se la agordo funkcias bone, ĉiuj dosieroj konservitaj sur la volumo devus esti tie:
# drbdadm primary test
# mkdir -p /mnt/DRDB_SEC/
# mount /dev/drbd0 /mnt/DRDB_SEC/
# cd /mnt/DRDB_SEC/
# ls -l
Kontrolante la DRBD-aranĝon funkciantan sur la sekundara nodo.
Por pliaj informoj, vidu la helppaĝojn pri administraj iloj:
# man drbdadm
# man drbdsetup
# man drbdmeta
Helpo:
Resumo
DRBD estas ekstreme fleksebla kaj diverstalenta, igante ĝin konservada reprodukta solvo taŭga por aldoni HA al preskaŭ ajna aplikaĵo. En ĉi tiu artikolo, ni montris kiel instali DRBD sur CentOS 7 kaj mallonge pruvis kiel uzi ĝin por stokado-reproduktado. Bonvolu dividi viajn pensojn kun ni uzante la suban formularon de sugestoj.
fonto: www.habr.com