Konfigurimi i DRBD për replikimin e ruajtjes në dy serverë CentOS 7

Përkthimi i artikullit u përgatit në prag të fillimit të kursit "Administrator Linux. Virtualizimi dhe grupimi".

DRBD (Distributed Replicated Block Device) është një zgjidhje ruajtëse e shpërndarë, fleksibël dhe universalisht e riprodhueshme për Linux. Ai pasqyron përmbajtjen e pajisjeve të bllokut si disqet e ngurtë, ndarjet, vëllimet logjike, etj. ndërmjet serverëve. Krijon kopje të të dhënave në dy pajisje ruajtëse në mënyrë që nëse njëra prej tyre dështon, të dhënat në të dytën mund të përdoren.

Mund të thuash se është diçka e tillë konfigurimi RAID i rrjetit 1 me disqe të vendosura në serverë të ndryshëm. Sidoqoftë, funksionon krejtësisht ndryshe nga RAID (madje edhe RAID në rrjet).

Fillimisht, DRBD u përdor kryesisht në grupimet kompjuterike me disponueshmëri të lartë (HA), megjithatë, duke filluar me versionin XNUMX, mund të përdoret për të vendosur zgjidhje të ruajtjes së cloud.

Në këtë artikull, ne do të shpjegojmë se si të instaloni DRBD në CentOS dhe do të demonstrojmë shkurtimisht se si ta përdorni atë për të përsëritur ruajtjen (ndarjen) në dy serverë. Ky është artikulli i përsosur për të filluar me DRBD në Linux.

Mjedisi i testimit

Ne do të përdorim një grup me dy nyje për këtë konfigurim.

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

Hapi 1: Instaloni paketat DRBD

DRBD është implementuar si një modul kernel Linux. Ai është një drejtues për një pajisje bllok virtuale, kështu që ndodhet në fund të grupit I/O të sistemit.

DRBD mund të instalohet nga ELRepo ose EPEL. Le të fillojmë duke importuar çelësin e nënshkrimit të paketës ELRepo dhe duke lidhur depon në të dy nyjet siç tregohet më poshtë.

# 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

Pastaj ju duhet të instaloni modulin e kernelit DRBD dhe shërbimet në të dy nyjet duke përdorur:

# yum install -y kmod-drbd84 drbd84-utils

Nëse e keni të aktivizuar SELinux, duhet të konfiguroni politika për të përjashtuar proceset DRBD nga kontrolli SELinux.

# semanage permissive -a drbd_t

Për më tepër, nëse sistemi juaj po ekzekuton një mur zjarri (firewalld), do t'ju duhet të shtoni portin DRBD 7789 për të lejuar sinkronizimin e të dhënave midis dy nyjeve.

Ekzekutoni këto komanda për nyjen e parë:

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

Pastaj ekzekutoni këto komanda për nyjen e dytë:

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

Hapi 2: Përgatitni hapësirën ruajtëse të nivelit të ulët

Tani që kemi DRBD të instaluar në të dy nyjet e grupimeve, duhet të ofrojmë zona ruajtjeje me përafërsisht të njëjtën madhësi në to. Kjo mund të jetë një ndarje e diskut (ose një hard disk i tërë fizik), një pajisje softuerike RAID, Vëllimi logjik LVM ose çdo lloj tjetër pajisje bllokimi që gjendet në sistemin tuaj.

Për këtë artikull, ne do të krijojmë një pajisje bllok testimi 2 GB duke përdorur komandën dd.

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

Le të supozojmë se kjo është një ndarje e papërdorur (/dev/sdb1) në një pajisje të dytë blloku (/dev/sdb) e lidhur me të dy nyjet.

Hapi 3. Konfigurimi i DRBD

Skedari kryesor i konfigurimit të DRBD − /etc/drbd.conf, dhe skedarët shtesë të konfigurimit mund të gjenden në drejtori /etc/drbd.d.

Për të përsëritur hapësirën ruajtëse, duhet të shtojmë konfigurimet e nevojshme në skedar /etc/drbd.d/global_common.conf, i cili përmban seksione globale dhe të përgjithshme të konfigurimit DRBD, dhe ne duhet të përcaktojmë burimet në .res dosjet.

Le të bëjmë një kopje rezervë të skedarit origjinal në të dy nyjet dhe më pas të hapim skedarin e ri për redaktim (përdorni një redaktues teksti sipas zgjedhjes suaj).

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

Shtoni rreshtat e mëposhtëm në të dy skedarët:

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

Ruani skedarin dhe më pas mbyllni redaktorin.

Le të shohim për një moment linjën e protokollit C. DRBD mbështet tre mënyra të ndryshme riprodhimi (d.m.th., tre shkallë të sinkronizimit të replikimit), domethënë:

  • protokolli A: protokolli i replikimit asinkron; më shpesh përdoret në skenarët e replikimit në distanca të gjata.
  • protokolli B: Protokolli i replikimit gjysmësinkron ose protokolli i memories sinkrone.
  • protokolli C: zakonisht përdoret për nyjet në rrjetet me distanca të shkurtra; ky është deri tani protokolli i replikimit më i përdorur në cilësimet DRBD.

Është e rëndësishme: Zgjedhja e protokollit të riprodhimit ndikon në dy faktorë të vendosjes: sigurinë dhe vonesën. Në të kundërt, xhiroja nuk varet shumë nga protokolli i zgjedhur i replikimit.

Hapi 4: Shtoni një burim

Burimi është një term ombrellë që i referohet të gjitha aspekteve të një grupi të dhënash të përsëritur të veçantë. Ne do të përcaktojmë burimin tonë në skedar /etc/drbd.d/test.res.

Shtoni sa vijon në skedar në të dy nyjet (mos harroni të zëvendësoni variablat me vlerat aktuale për mjedisin tuaj).

Kushtojini vëmendje emrave të hosteve, duhet të specifikojmë emrin e hostit të rrjetit, i cili mund të merret duke përdorur komandën 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;
        }
}
}

ku:

  • në emrin e hostit: Seksioni mbi të cilin zbatohet deklarata e konfigurimit të ndërthurur.
  • provë: Ky është emri i burimit të ri.
  • pajisja /dev/drbd0: Tregon një pajisje të re të bllokut virtual të menaxhuar nga DRBD.
  • disku /dev/sdb1: Kjo është një ndarje bllok e pajisjes që është një pajisje rezervë për pajisjen DRBD.
  • meta-disk: Përcakton se ku DRBD ruan të dhënat e saj meta. E brendshme do të thotë që DRBD ruan meta të dhënat e saj në të njëjtën pajisje fizike të nivelit të ulët si të dhënat aktuale në prodhim.
  • adresë: Tregon adresën IP dhe numrin e portit të nyjës përkatëse.

Vini re gjithashtu se nëse parametrat kanë të njëjtat vlera në të dy hostet, mund t'i specifikoni drejtpërdrejt në seksionin e burimeve.

Për shembull, konfigurimi i mësipërm mund të ristrukturohet në:

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

Hapi 5. Inicializoni dhe nisni burimin

Për të bashkëvepruar me DRBD, ne do të përdorim mjetet e mëposhtme të administrimit (të cilat ndërveprojnë me modulin e kernelit për të konfiguruar dhe administruar burimet DRBD):

  • drbdadm: Mjet administrimi i nivelit të lartë DRBD.
  • drbdsetup: Një mjet administrimi i nivelit më të ulët për lidhjen e pajisjeve DRBD me pajisjet e tyre rezervë, konfigurimin e çifteve të pajisjeve DRBD për të pasqyruar pajisjet e tyre rezervë dhe për verifikimin e konfigurimit të pajisjeve DRBD që funksionojnë.
  • Drbdmeta: Mjet i menaxhimit të meta të dhënave.

Pas shtimit të të gjitha konfigurimeve fillestare të burimeve, ne duhet të thërrasim burimin në të dy nyjet.

# drbdadm create-md test

Konfigurimi i DRBD për replikimin e ruajtjes në dy serverë CentOS 7
Inicializimi i dyqanit të meta të dhënave

Më pas duhet ta ekzekutojmë, i cili do të lidhë burimin me pajisjen e tij rezervë, më pas do të vendosë parametrat e riprodhimit dhe do ta lidhë burimin me homologun e tij:

# drbdadm up test

Tani nëse ekzekutoni komandën lsblk, do të vini re se pajisja DRBD/vëllimi drbd0 është i lidhur me pajisjen rezervë /dev/sdb1:

# lsblk

Konfigurimi i DRBD për replikimin e ruajtjes në dy serverë CentOS 7
Lista e pajisjeve të bllokimit

Për të çaktivizuar një burim, ekzekutoni:

# drbdadm down test

Për të kontrolluar statusin e një burimi, ekzekutoni komandën e mëposhtme (vini re se statusi i disqeve pritet në këtë pikë I paqëndrueshëm/I paqëndrueshëm):

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

Konfigurimi i DRBD për replikimin e ruajtjes në dy serverë CentOS 7
Kontrollimi i statusit të një burimi aktiv
e keqe

Hapi 6: Vendosni burimin parësor/burimin fillestar të sinkronizimit të pajisjes

Në këtë fazë, DRBD është gati për të shkuar. Tani duhet të specifikojmë se cila nyje duhet të përdoret si burim i sinkronizimit fillestar të pajisjes.

Ekzekutoni komandën e mëposhtme në vetëm një nyje për të filluar sinkronizimin e plotë fillestar:

# drbdadm primary --force test
# drbdadm status test

Konfigurimi i DRBD për replikimin e ruajtjes në dy serverë CentOS 7
Vendosja e nyjes primare si pajisje fillestare
Pasi të përfundojë sinkronizimi, gjendja e të dy disqeve duhet të jetë UpToDate.

Hapi 7: Testimi i konfigurimit të DRBD

Më në fund, duhet të kontrollojmë nëse pajisja DRBD do të funksionojë sipas nevojës për të ruajtur të dhënat e përsëritura. Mos harroni se kemi përdorur një vëllim të zbrazët të diskut, kështu që duhet të krijojmë një sistem skedari në pajisje dhe ta montojmë atë për të kontrolluar nëse mund ta përdorim për të ruajtur të dhënat e përsëritura.

Ne duhet të krijojmë një sistem skedari në pajisje duke përdorur komandën e mëposhtme në nyjen ku kemi filluar sinkronizimin e plotë fillestar (i cili ka një burim me rolin kryesor):

# mkfs -t ext4 /dev/drbd0

Konfigurimi i DRBD për replikimin e ruajtjes në dy serverë CentOS 7
Krijimi i një sistemi skedarësh në vëllimin Drbd

Pastaj montoni atë siç tregohet (mund t'i jepni pikës së montimit një emër të përshtatshëm):

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

Tani kopjoni ose krijoni disa skedarë në pikën e montimit të mësipërm dhe bëni një listë të gjatë me komandat ls:

# cd /mnt/DRDB_PRI/
# ls -l 

Konfigurimi i DRBD për replikimin e ruajtjes në dy serverë CentOS 7
Listoni përmbajtjen e vëllimit kryesor Drbd

Më pas, çmontoni pajisjen (sigurohuni që montimi të mos jetë i hapur, ndryshoni drejtorinë pas çmontimit për të shmangur gabimet) dhe ndryshoni rolin e nyjës nga primar në sekondar:

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

Bëni nyjen tjetër (e cila ka një burim me një rol dytësor) parësore, më pas bashkëngjitni një pajisje në të dhe lëshoni një listë të gjatë pikash montimi. Nëse konfigurimi funksionon mirë, të gjithë skedarët e ruajtur në vëllim duhet të jenë aty:

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

Konfigurimi i DRBD për replikimin e ruajtjes në dy serverë CentOS 7
Kontrollimi i konfigurimit të DRBD që funksionon në nyjen dytësore.

Për më shumë informacion, shihni faqet e ndihmës së mjeteve administrative:

# man drbdadm
# man drbdsetup
# man drbdmeta

Ndihmë: Manuali i Përdoruesit DRBD.

Përmbledhje

DRBD është jashtëzakonisht fleksibël dhe i gjithanshëm, duke e bërë atë një zgjidhje riprodhimi të ruajtjes të përshtatshme për të shtuar HA në pothuajse çdo aplikacion. Në këtë artikull, ne treguam se si të instaloni DRBD në CentOS 7 dhe treguam shkurtimisht se si ta përdorni atë për replikimin e ruajtjes. Mos ngurroni të ndani mendimet tuaja me ne duke përdorur formularin e komenteve më poshtë.

Mësoni më shumë rreth kursit.

Burimi: www.habr.com

Shto një koment