Hvernig á að setja upp DRBD til að endurtaka geymslu á tveimur CentOS 7 netþjónum


DRBD (standar fyrir Distributed Replicated Block Device) er dreifð, sveigjanleg og fjölhæf endurtekin geymslulausn fyrir Linux. Það endurspeglar innihald blokkartækja eins og harða diska, skiptinga, rökrétt bindi osfrv. á milli netþjóna. Það felur í sér afrit af gögnum á tveimur geymslutækjum, þannig að ef annað bilar er hægt að nota gögnin á hinum.

Þú getur hugsað um það að einhverju leyti eins og netkerfi RAID 1 uppsetningu með diskunum speglaða yfir netþjóna. Hins vegar virkar það á allt annan hátt en RAID og jafnvel net RAID.

Upphaflega var DRBD aðallega notað í tölvuklösum með háum aðgengi (HA), en frá og með útgáfu 9 er hægt að nota það til að dreifa skýjageymslulausnum.

Í þessari grein munum við sýna hvernig á að setja upp DRBD í CentOS og sýna stuttlega hvernig á að nota það til að endurtaka geymslu (skipting) á tveimur netþjónum. Þetta er fullkomin grein til að byrja með að nota DRBD í Linux.

Í tilgangi þessarar greinar erum við að nota tvo hnútaklasa fyrir þessa uppsetningu.

  • Hnútur1: 192.168.56.101 – tecmint.tecmint.lan
  • Node2: 192.168.56.102 – server1.tecmint.lan

Skref 1: Uppsetning DRBD pakka

DRBD er útfært sem Linux kjarnaeining. Það er einmitt bílstjóri fyrir sýndarblokkartæki, svo það er komið á fót rétt nálægt botni I/O stafla kerfisins.

DRBD er hægt að setja upp frá ELRepo eða EPEL geymslunum. Byrjum á því að flytja inn ELRepo pakka undirritunarlykilinn og virkja geymsluna eins og sýnt er á báðum hnútum.

# 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

Síðan getum við sett upp DRBD kjarnaeininguna og tólin á báðum hnútum með því að keyra:

# yum install -y kmod-drbd84 drbd84-utils

Ef þú ert með SELinux virkt þarftu að breyta reglum til að undanþiggja DRBD ferli frá SELinux stjórn.

# semanage permissive -a drbd_t

Að auki, ef kerfið þitt er með eldvegg virkan (eldvegg), þarftu að bæta við DRBD tengi 7789 í eldveggnum til að leyfa samstillingu gagna milli hnútanna tveggja.

Keyrðu þessar skipanir á fyrsta hnút:

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

Keyrðu síðan þessar skipanir á öðrum hnút:

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

Skref 2: Undirbúningur á lægri stigi geymslu

Nú þegar við höfum DRBD uppsett á þyrpingarhnútunum tveimur, verðum við að útbúa nokkurn veginn eins stórt geymslusvæði á báðum hnútum. Þetta getur verið skipting á harða disknum (eða fullur líkamlegur harður diskur), hugbúnaðar RAID tæki, LVM Logical Volume eða önnur gerð blokkarbúnaðar sem finnast á kerfinu þínu.

Í tilgangi þessarar greinar munum við búa til dummy blokk tæki af stærð 2GB með því að nota dd skipunina.

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

Við munum gera ráð fyrir að þetta sé ónotuð skipting (/dev/sdb1) á öðru blokkartæki (/dev/sdb) sem er tengt við báða hnúta.

Skref 3: Stilla DRBD

Aðalstillingarskrá DRBD er staðsett á /etc/drbd.conf og fleiri stillingarskrár er að finna í /etc/drbd.d möppunni.

Til að endurtaka geymslu, þurfum við að bæta við nauðsynlegum stillingum í /etc/drbd.d/global_common.conf skránni sem inniheldur alþjóðlega og algenga hluta DRBD stillingarinnar og við getum skilgreint tilföng í .res skrám.

Við skulum taka öryggisafrit af upprunalegu skránni á báðum hnútum og opna síðan nýja skrá til að breyta (notaðu textaritil að eigin smekk).

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

Bættu eftirfarandi línum inn í báðar skrárnar:

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

Vistaðu skrána og lokaðu síðan ritlinum.

Við skulum í stuttu máli birta meira ljós á línusamskiptareglunum C. DRBD styður þrjár aðskildar afritunarstillingar (þar af leiðandi þrjár gráður af samstillingu afritunar) sem eru:

  • samskiptareglur A: Ósamstilltur afritunarsamskiptareglur; það er oftast notað í langtímaafritunaratburðarás.
  • samskiptareglur B: Hálfsamstilltar afritunarsamskiptareglur aka samstilltar samskiptareglur minnis.
  • samskiptareglur C: almennt notaðar fyrir hnúta í stuttum netkerfum; það er lang algengasta afritunarferlið í DRBD uppsetningum.

Mikilvægt: Val á afritunarsamskiptareglum hefur áhrif á tvo þætti uppsetningar þinnar: vernd og leynd. Og afköst er aftur á móti að mestu óháð afritunaraðferðinni sem valin er.

Skref 4: Að bæta við auðlind

Auðlind er samheitið sem vísar til allra þátta tiltekins endurtekins gagnasetts. Við munum skilgreina auðlindina okkar í skrá sem heitir /etc/drbd.d/test.res.

Bættu eftirfarandi efni við skrána, á báðum hnútum (mundu að skipta út breytunum í innihaldinu fyrir raunveruleg gildi fyrir umhverfið þitt).

Taktu eftir hýsilnöfnunum, við þurfum að tilgreina hýsingarheiti netsins sem hægt er að fá með því að keyra skipunina 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;
        }
}
}

hvar:

  • á hýsingarheiti: kveikt á hlutanum segir til um hvaða hýsingu meðfylgjandi stillingaryfirlýsingar eiga við.
  • próf: er nafn nýju tilföngsins.
  • tæki /dev/drbd0: tilgreinir nýja sýndarblokkunartækið sem er stjórnað af DRBD.
  • diskur /dev/sdb1: er skipting tækjabúnaðarins sem er bakbúnaður fyrir DRBD tækið.
  • meta-diskur: Skilgreinir hvar DRBD geymir lýsigögn sín. Notkun innri þýðir að DRBD geymir lýsigögn sín á sama líkamlega lægra stigi og raunveruleg framleiðslugögn.
  • vistfang: tilgreinir IP tölu og gáttarnúmer viðkomandi hnúts.

Athugaðu einnig að ef valmöguleikarnir hafa jöfn gildi á báðum vélum geturðu tilgreint þá beint í tilföngahlutanum.

Til dæmis er hægt að endurskipuleggja ofangreinda stillingu í:

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

Skref 5: Frumstilla og virkja tilföng

Til að hafa samskipti við DRBD munum við nota eftirfarandi stjórnunarverkfæri sem hafa samskipti við kjarnaeininguna til að stilla og stjórna DRBD auðlindum:

  • drbdadm: stjórnunartæki á háu stigi DRBD.
  • drbdsetup: stjórnunartæki á lægra stigi til að tengja DRBD tæki við bakblokkartæki sín, setja upp DRBD tækjapör til að spegla bakblokkartæki þeirra og skoða uppsetningu keyrandi DRBD tækja.
  • Drbdmeta: er metagagnastjórnunartólið.

Eftir að hafa bætt við öllum upphaflegu auðlindastillingunum verðum við að koma auðlindinni upp á báðum hnútum.

# drbdadm create-md test

Næst ættum við að virkja auðlindina, sem mun tengja auðlindina við bakbúnaðinn, þá setur hún afritunarfæribreytur og tengir auðlindina við jafningja sinn:

# drbdadm up test

Nú ef þú keyrir lsblk skipunina muntu taka eftir því að DRBD tækið/bindi drbd0 er tengt við bakbúnaðinn /dev/sdb1:

# lsblk

Til að slökkva á auðlindinni skaltu keyra:

# drbdadm down test

Til að athuga auðlindastöðu skaltu keyra eftirfarandi skipun (athugaðu að búist er við ósamræmi/ósamræmi diskastöðu á þessum tímapunkti):

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

Skref 6: Stilltu aðaltilföng/uppsprettu upphaflegrar samstillingar tækja

Á þessu stigi er DRBD nú tilbúið til notkunar. Við þurfum nú að segja því hvaða hnút ætti að nota sem upphafssamstillingu tækisins.

Keyrðu eftirfarandi skipun á aðeins einum hnút til að hefja fyrstu fulla samstillingu:

# drbdadm primary --force test
# drbdadm status test

Þegar samstillingunni er lokið ætti staða beggja diskanna að vera UpToDate.

Skref 7: Prófaðu DRBD uppsetningu

Að lokum þurfum við að prófa hvort DRBD tækið virki vel fyrir endurtekna gagnageymslu. Mundu að við notuðum tómt diskmagn, þess vegna verðum við að búa til skráarkerfi á tækinu og tengja það til að prófa hvort við getum notað það fyrir endurtekna gagnageymslu.

Við getum búið til skráarkerfi á tækinu með eftirfarandi skipun, á hnútnum þar sem við byrjuðum á fyrstu fullri samstillingu (sem hefur auðlindina með aðalhlutverki):

# mkfs -t ext4 /dev/drbd0 

Settu það síðan upp eins og sýnt er (þú getur gefið festingarpunktinum viðeigandi nafn):

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

Afritaðu eða búðu til nokkrar skrár í ofangreindum fjallspunkti og gerðu langa skráningu með ls skipuninni:

# cd /mnt/DRDB_PRI/
# ls -l 

Næst skaltu aftengja tækið (passaðu að festingin sé ekki opin, skiptu um möppu eftir að hafa tekið það úr til að koma í veg fyrir villur) og breyttu hlutverki hnútsins úr aðal í auka:

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

Á hinum hnútnum (sem hefur auðlindina með aukahlutverki), gerðu það að aðalhlutverki, festu síðan tækið á það og gerðu langa skráningu á tengipunktinum. Ef uppsetningin virkar vel ættu allar skrárnar sem eru geymdar í hljóðstyrknum að vera þar:

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

Nánari upplýsingar er að finna á mansíðum stjórnunarverkfæra notendarýmisins:

# man drbdadm
# man drbdsetup
# man drbdmeta

Tilvísun: DRBD notendahandbókin.

DRBD er afar sveigjanlegt og fjölhæft, sem gerir það að geymsluafritunarlausn sem hentar til að bæta HA við nánast hvaða forrit sem er. Í þessari grein höfum við sýnt hvernig á að setja upp DRBD í CentOS 7 og sýnt stuttlega hvernig á að nota það til að endurtaka geymslu. Ekki hika við að deila hugsunum þínum með okkur í gegnum athugasemdaformið hér að neðan.