DRBD konfiguratzea biltegiratze-erreplikaziorako bi CentOS 7 zerbitzarietan

Ikastaroa hasi bezperan prestatu zen artikuluaren itzulpena Linux administratzailea. Birtualizazioa eta ClusteringΒ».

DRBD (Distributed Replicated Block Device) Linux-erako biltegiratze-soluzio banatua, malgua eta unibertsalki erreplikagarria da. Bloke-gailuen edukia islatzen du, hala nola disko gogorrak, partizioak, bolumen logikoak, etab. zerbitzarien artean. Bi biltegiratze-gailutan datuen kopiak sortzen ditu, horietako batek huts egiten badu, bigarreneko datuak erabili ahal izateko.

Esan dezakezu antzeko zerbait dela sareko RAID konfigurazioa 1 zerbitzari desberdinetara mapatutako diskoekin. Hala ere, RAID (sareko RAID) baino guztiz ezberdina da.

Hasieran, DRBD erabilgarritasun handiko (HA) ordenagailu-klusteretan erabiltzen zen, baina, XNUMX. bertsioarekin hasita, hodeiko biltegiratze irtenbideak zabaltzeko erabil daiteke.

Artikulu honetan, DRBD CentOS-en nola instalatu azalduko dugu eta laburki erakutsiko dugu nola erabili biltegiratzea (partizioa) bi zerbitzarietan errepikatzeko. Artikulu ezin hobea da DRBD Linux-en hasteko.

Proba ingurunea

Konfigurazio honetarako bi nodo kluster bat erabiliko dugu.

  • 1. nodoa: 192.168.56.101 - tecmint.tecmint.lan
  • 2. nodoa: 192.168.56.102 - server1.tecmint.lan

1. urratsa: instalatu DRBD paketeak

DRBD Linux kernel modulu gisa inplementatzen da. Bloke birtualeko gailu baten kontrolatzailea da, beraz, sistemaren I/O pilaren behealdean dago.

DRBD ELRepo edo EPELetik instalatu daiteke. Has gaitezen ELRepo paketea sinatzeko gakoa inportatzen eta biltegia bi nodoetan konektatzen behean erakusten den moduan.

# 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

Ondoren, DRBD nukleoaren modulua eta utilitateak instalatu behar dituzu bi nodoetan:

# yum install -y kmod-drbd84 drbd84-utils

SELinux gaituta baduzu, DRBD prozesuak SELinux kontroletik salbuesteko politikak konfiguratu behar dituzu.

# semanage permissive -a drbd_t

Gainera, zure sistemak suebaki bat (firewalld) exekutatzen badu, DRBD ataka 7789 gehitu beharko duzu bi nodoen arteko datuak sinkronizatzeko.

Exekutatu komando hauek lehen nodorako:

# firewall-cmd --permanent --add-rich-rule='rule family="ipv4"  source address="192.168.56.102" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload

Ondoren, exekutatu komando hauek bigarren nodorako:

# 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. urratsa: Prestatu maila baxuko biltegiratzea

Orain DRBD bi kluster nodoetan instalatuta daukagunez, gutxi gorabehera tamaina bereko biltegiratze-eremuak hornitu behar ditugu horietan. Hau izan daiteke disko gogorreko partizioa (edo disko gogor fisiko osoa), software RAID gailu bat, LVM bolumen logikoa edo zure sisteman aurkitutako beste edozein bloke-gailu mota.

Artikulu honetarako, 2GB probako bloke-gailu bat sortuko dugu dd komandoa erabiliz.

# dd if=/dev/zero of=/dev/sdb1 bs=2024k count=1024

Demagun hau erabili gabeko partizio bat dela (/dev/sdb1) bi nodoetara konektatuta dagoen bigarren bloke-gailu batean (/dev/sdb).

3. urratsa. DRBD konfiguratzea

DRBD konfigurazio fitxategi nagusia βˆ’ /etc/drbd.conf, eta konfigurazio fitxategi gehigarriak direktorioa aurki daitezke /etc/drbd.d.

Biltegiratzea errepikatzeko, beharrezko konfigurazioak gehitu behar dizkiogu fitxategiari /etc/drbd.d/global_common.conf, DRBD konfigurazioaren atal orokorrak eta orokorrak dituena, eta baliabideak bertan definitu behar ditugu .res fitxategiak.

Egin dezagun jatorrizko fitxategiaren babeskopia bi nodoetan, eta ireki fitxategi berria editatzeko (erabili nahi duzun testu-editorea).

# mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.orig
# vim /etc/drbd.d/global_common.conf 

Gehitu lerro hauek bi fitxategiei:

global {
 usage-count  yes;
}
common {
 net {
  protocol C;
 }
}

Gorde fitxategia eta itxi editorea.

Ikus dezagun une batez C protokoloaren lerroa. DRBD-k hiru erreplikazio-modu desberdin onartzen ditu (hau da, hiru erreplikazio-sinkronia-gradu), hau da:

  • A protokoloa: erreplikazio asinkronoaren protokoloa; gehien distantzia luzeko erreplika agertokietan erabiltzen da.
  • B protokoloa: Erreplikazio erdi-sinkronoaren protokoloa edo memoria sinkronoaren protokoloa.
  • C protokoloa: distantzia laburrak dituzten sareetako nodoetarako erabili ohi da; hau da DRBD ezarpenetan gehien erabiltzen den erreplikazio-protokoloa.

Garrantzitsua da: Erreplikazio-protokoloa aukeratzeak bi inplementazio-faktore eragiten ditu: segurtasuna eta latentzia. Aitzitik, errendimendua ez da hautatutako erreplikazio-protokoloaren araberakoa nabarmen.

4. urratsa: Gehitu baliabide bat

Baliabidea erreplikatutako datu-multzo jakin baten alderdi guztiei erreferentzia egiten dien termino orokorra da. Gure baliabidea fitxategian zehaztuko dugu /etc/drbd.d/test.res.

Gehitu honako hau bi nodoetako fitxategira (gogoratu aldagaiak zure inguruneko benetako balioekin ordezkatzea).

Kontuz ostalari-izenei, sareko ostalari-izena zehaztu behar dugu, uname komandoa erabiliz lor daitekeena. -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;
        }
}
}

non:

  • ostalariaren izenean: Habiaraturiko konfigurazio-adierazpena aplikatzen zaion on atala.
  • test: Hau da baliabide berriaren izena.
  • gailua /dev/drbd0: DRBDk kudeatutako bloke birtual gailu berri bat adierazten du.
  • diskoa /dev/sdb1: DRBD gailuaren babeskopia gailua den bloke-gailuaren partizioa da.
  • meta-disko: DRBD-k non gordetzen dituen metadatuak definitzen du. Barnekoak esan nahi du DRBD-k bere metadatuak produkzioko benetako datuen behe-mailako gailu fisiko berean gordetzen dituela.
  • helbidea: dagokion nodoaren IP helbidea eta ataka zenbakia adierazten ditu.

Kontuan izan, gainera, parametroek bi ostalarietan balio berdinak badituzte, baliabideen atalean zuzenean zehaztu ditzakezula.

Adibidez, goiko konfigurazioa honela berregituratu daiteke:

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;
        		}
}

5. urratsa. Hasieratu eta abiarazi baliabidea

DRBD-rekin elkarreragiteko honako administrazio-tresna hauek erabiliko ditugu (nukleoaren moduluarekin elkarreraginean DRBD baliabideak konfiguratzeko eta administratzeko):

  • drbdadm: DRBD goi-mailako administrazio-tresna.
  • drbdsetup: Behe-mailako administrazio-tresna bat DRBD gailuak beren babeskopia-gailuetara konektatzeko, DRBD gailu bikoteak konfiguratzeko babeskopia-gailuak islatzeko eta exekutatzen ari diren DRBD gailuen konfigurazioa egiaztatzeko.
  • Drbdmeta: Metadatuak kudeatzeko tresna.

Hasierako baliabideen konfigurazio guztiak gehitu ondoren, baliabidea bi nodoetan deitu behar dugu.

# drbdadm create-md test

DRBD konfiguratzea biltegiratze-erreplikaziorako bi CentOS 7 zerbitzarietan
Metadatuen biltegia hasieratzen

Jarraian, exekutatu behar dugu, baliabidea bere babeskopia-gailura konektatuko duena, ondoren erreplikazio-parametroak ezarri eta baliabidea bere parekoarekin konektatuko du:

# drbdadm up test

Orain komandoa exekutatzen baduzu lsblk, ohartuko zara DRBD gailua/bolumena drbd0 babeskopia gailuarekin lotuta dagoela /dev/sdb1:

# lsblk

DRBD konfiguratzea biltegiratze-erreplikaziorako bi CentOS 7 zerbitzarietan
Bloke gailuen zerrenda

Baliabide bat desgaitzeko, exekutatu:

# drbdadm down test

Baliabide baten egoera egiaztatzeko, exekutatu komando hau (kontuan izan diskoen egoera une honetan espero dela Inkoherentea/Inkoherentea):

# drbdadm status test
OR
# drbdsetup status test --verbose --statistics 	#for  a more detailed status

DRBD konfiguratzea biltegiratze-erreplikaziorako bi CentOS 7 zerbitzarietan
Baliabide baten egoera egiaztatzea
gaiztoa

6. urratsa: Ezarri baliabide nagusia/hasierako gailuaren sinkronizazio-iturria

Fase honetan, DRBD prest dago. Orain zehaztu behar dugu zein nodo erabili behar den gailuaren hasierako sinkronizazio iturri gisa.

Exekutatu komando hau nodo bakarrean hasierako sinkronizazio osoa hasteko:

# drbdadm primary --force test
# drbdadm status test

DRBD konfiguratzea biltegiratze-erreplikaziorako bi CentOS 7 zerbitzarietan
Nodo nagusia hasierako gailu gisa ezartzea
Sinkronizazioa amaitutakoan, bi unitateen egoera UpToDate izan beharko litzateke.

7. urratsa: DRBD konfigurazioa probatzea

Azkenik, egiaztatu behar dugu DRBD gailuak erreplikatutako datuak gordetzeko behar den moduan funtzionatuko duen. Gogoratu disko-bolumen huts bat erabili dugula, beraz, gailuan fitxategi-sistema bat sortu eta muntatu behar dugu erreplikatutako datuak gordetzeko erabil dezakegun egiaztatzeko.

Fitxategi-sistema bat sortu behar dugu gailuan hasierako sinkronizazio osoa hasi genuen nodoan hurrengo komandoa erabiliz (lehen rola duen baliabidea duena):

# mkfs -t ext4 /dev/drbd0

DRBD konfiguratzea biltegiratze-erreplikaziorako bi CentOS 7 zerbitzarietan
Drbd bolumenean fitxategi-sistema bat sortzea

Ondoren muntatu erakusten den moduan (muntatze puntuari izen egokia eman diezaiokezu):

# mkdir -p /mnt/DRDB_PRI/
# mount /dev/drbd0 /mnt/DRDB_PRI/

Orain kopiatu edo sortu fitxategi batzuk goiko muntatze puntuan eta egin zerrenda luze bat ls komandoak:

# cd /mnt/DRDB_PRI/
# ls -l 

DRBD konfiguratzea biltegiratze-erreplikaziorako bi CentOS 7 zerbitzarietan
Zerrendatu Drbd bolumen nagusiaren edukia

Ondoren, desmuntatu gailua (ziurtatu muntaia ez dagoela irekita, aldatu direktorioa desmuntatu ondoren akatsak saihesteko) eta aldatu nodoaren rola lehenetik bigarrenera:

# umount /mnt/DRDB_PRI/
# cd
# drbdadm secondary test

Egin beste nodoa (bigarren mailako eginkizuna duen baliabide bat duena) nagusia, gero erantsi gailu bat eta igorri muntatze puntuen zerrenda luze bat. Konfigurazioak ondo funtzionatzen badu, bolumenean gordetako fitxategi guztiak bertan egon beharko lirateke:

# drbdadm primary test
# mkdir -p /mnt/DRDB_SEC/
# mount /dev/drbd0 /mnt/DRDB_SEC/
# cd /mnt/DRDB_SEC/
# ls  -l 

DRBD konfiguratzea biltegiratze-erreplikaziorako bi CentOS 7 zerbitzarietan
Bigarren mailako nodoan exekutatzen den DRBD konfigurazioa egiaztatzea.

Informazio gehiago lortzeko, ikusi administrazio-tresnen laguntza-orriak:

# man drbdadm
# man drbdsetup
# man drbdmeta

Laguntza: DRBD erabiltzailearen eskuliburua.

Laburpena

DRBD oso malgua eta polifazetikoa da, biltegiratze-erreplikaziorako soluzio egokia bihurtuz ia edozein aplikaziotan HA gehitzeko. Artikulu honetan, DRBD CentOS 7-en nola instalatu erakutsi dugu eta laburki erakutsi dugu nola erabili biltegiratze-errepliketarako. Anima zaitez zure pentsamenduak gurekin partekatzeko beheko iritzi-inprimakia erabiliz.

Ikastaroari buruzko informazio gehiago.

Iturria: www.habr.com

Gehitu iruzkin berria