Agordante DRBD por stokado-reproduktado sur du CentOS 7-serviloj

La traduko de la artikolo estis preparita sojle de la komenco de la kurso Linukso-administranto. Virtualigo kaj Clustering».

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 agordo de reto RAID 1 kun diskoj mapitaj al malsamaj serviloj. Tamen ĝi funkcias tute malsame ol RAID (eĉ reta RAID).

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, LVM logika volumeno aŭ ajna alia tipo de bloka aparato trovita en via sistemo.

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

Agordante DRBD por stokado-reproduktado sur du CentOS 7-serviloj
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 lsblk, vi rimarkos, ke la DRBD-aparato/volumo drbd0 estas asociita kun la rezerva aparato /dev/sdb1:

# lsblk

Agordante DRBD por stokado-reproduktado sur du CentOS 7-serviloj
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

Agordante DRBD por stokado-reproduktado sur du CentOS 7-serviloj
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

Agordante DRBD por stokado-reproduktado sur du CentOS 7-serviloj
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

Agordante DRBD por stokado-reproduktado sur du CentOS 7-serviloj
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 ls komandoj:

# cd /mnt/DRDB_PRI/
# ls -l 

Agordante DRBD por stokado-reproduktado sur du CentOS 7-serviloj
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 

Agordante DRBD por stokado-reproduktado sur du CentOS 7-serviloj
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: DRBD UzantManlibro.

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.

Lernu pli pri la kurso.

fonto: www.habr.com

Aldoni komenton