Seame DRBD kahe CentOS 7 serveri vahel salvestusruumi replikatsiooniks

Artikli tĂ”lge on ettevalmistatud kursuse alguseks „Linuxi administraator. Virtualiseerimine ja klasterdamine“.

DRBD (Distributed Replicated Block Device — jaotatud replikatsiooniga plokiseade) on jaotatud, paindlik ja universaalne lahendus andmete salvestamiseks Linuxile. See peegeldab plokiseadmete, nĂ€iteks kĂ”vakettade, partitsioonide, loogiliste mahtude jne sisu serverite vahel. See loob andmekoopiaid kahel salvestusseadmest, et ĂŒhe rikkimise korral saaks kasutada andmeid teisel.

VÔib öelda, et see on midagi sarnast vÔrgukonfiguratsiooni RAID 1 kÔvaketastega, mis on peegeldatud erinevatele serveritele. Siiski ei toimi see sugugi nagu RAID (isegi mitte vÔrgu RAID).

Alguses kasutati DRBD peamiselt kĂ”rgkĂ€ttesaadavuse (HA — high availability) arvutiklastrites, kuid alates ĂŒheksandast versioonist saab seda kasutada ka pilvesalvestuslahenduste rakendamiseks.

KĂ€esolevas artiklis rÀÀgime, kuidas installida DRBD CentOS-is, ja anname lĂŒhikese ĂŒlevaate selle kasutamisest salvestusruumi (partitsiooni) replikatsiooniks kahel serveril. See artikkel on ideaalne alustamiseks DRBD-ga Linuxis.

Testkeskkond

Kasutame seda seadistust jaoks kahe sÔlme klastrit.

  • SĂ”lm 1: 192.168.56.101 – tecmint.tecmint.lan
  • SĂ”lm 2: 192.168.56.102 – server1.tecmint.lan

Samm 1: DRBD paketid paigaldamine

DRBD on rakendatud Linuxi kernelimoodulina. See toimib virtuaalse plokkseadmestiku draiverina, seega asub see sĂŒsteemi sisend-vĂ€ljundide virna kĂ”ige madalamal tasemel.

DRBD saab installida ELRepo vĂ”i EPEL kaudu. Alustame ELRepo paketi allkirja vĂ”tme importimise ja mĂ”lemas sĂ”lmes repode ĂŒhendamisega, nagu allpool nĂ€idatud.

# 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

SeejÀrel tuleb inglise keelsete DRBD moodul ja utiliidid paigaldada mÔlemasse sÔlme jÀrgmise kÀsu abil:

# yum install -y kmod-drbd84 drbd84-utils

Kui SELinux on aktiveeritud, tuleb teil seadistada poliitikad, et vabastada DRBD protsessid SELi kontrolli alt.

# semanage permissive -a drbd_t

Lisaks, kui teie sĂŒsteemis töötab tulemĂŒĂŒr (firewalld), peate lisama DRBD port 7789, et lubada andmete sĂŒnkroonimist kahe sĂ”lme vahel.

KÀivitage need kÀsud esimese sÔlme jaoks:

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

SeejÀrel kÀivitage need kÀsud teise sÔlme jaoks:

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

Samm 2. Madala taseme salvestuse ettevalmistamine

NĂŒĂŒd, kui DRBD on paigaldatud mĂ”lemale klastrisĂ”lmele, peame nendele ette valmistama ligikaudu sama suurusega salvestuspiirkonnad. See vĂ”ib olla kĂ”vaketta partitsioon (vĂ”i tervik fĂŒĂŒsiline kĂ”vaketas), RAID-i tarkseade, loogiline LVM mahtu vĂ”i mĂ”ni muu tĂŒĂŒpi plokiseade, mis asub teie sĂŒsteemis.

KÀesolevas artiklis loome testplokiseadmest 2 GB suuruse, kasutades kÀsku dd.

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

Oletame, et see on kasutamata partitsioon (/dev/sdb1) teisel plokiseadmel (/dev/sdb), mis on ĂŒhendatud mĂ”lema sĂ”lmega.

Samm 3. DRBD seadistamine

DRBD-i peamine konfiguratsioonifail — /etc/drbd.conf, ning tĂ€iendavad konfiguratsioonifailid on saadaval kataloogis /etc/drbd.d.

Salvestuse replitseerimiseks peame lisama vajalikud seadistused faili /etc/drbd.d/global_common.conf, mis sisaldab DRBD-i globaalseid ja ĂŒhiseid seadistusi, ning ressursid peavad olema mÀÀratletud .res failides.

Teeme varukoopia algsest failist mÔlemal sÔlmel ja seejÀrel avame uue faili redigeerimiseks (kasutage endale meelepÀrast tekstiredaktorit).

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

Lisage mÔlemasse faili jÀrgmised read:

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

Salvestage fail ja seejÀrel sulgege toimetaja.

VĂ”tame hetkeks ette protokolli C. DRBD toetab kolme erinevat replikatsiooni reĆŸiimi (st kolme erinevat sĂŒnkroniseerimise astet), nimelt:

  • protokoll A: asĂŒnkroonne replikatsiooni protokoll; kasutatakse kĂ”ige sagedamini pika vahemaa replikatsiooni stsenaariumides.
  • protokoll B: pool-sĂŒnkroonne replikatsiooni protokoll vĂ”i sĂŒnkroonne mĂ€luprotokoll.
  • protokoll C: kasutatakse tavaliselt vĂ€ikeste vahemaadega sĂ”lmede jaoks; see on ĂŒldiselt kĂ”ige sagedamini kasutatav replikatsiooni protokoll DRBD seadistustes.

Oluline: Valitud replikatsiooni protokoll mÔjutab kahte kasutuselevÔtu tegurit: kaitse ja latentsus. LÀbipaistvus, vastupidi, ei sÔltu olulisel mÀÀral valitud replikatsiooni protokollist.

Samm 4. Ressursi lisamine

Ressurss (Resource) on kogum mÔisted, mis viitab kÔikidele konkreetse replitseeritava andmekogumi aspektidele. MÀÀratleme meie ressursi failis /etc/drbd.d/test.res.

Lisage jÀrgmine mÔlemasse sÔlme faili (Àrge unustage muuta muutujad oma keskkonna tegelike vÀÀrtustega).

Pöörake tÀhelepanu hostinimedele, peame nÀitama vÔrgu hostinime, mille saame kÀsuga uname. vÀljaande numbri mÀÀramiseks:.

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

kus:

  • hostinimi: on lauseosa, mis viitab sisemise konfiguratsiooni operaatorile.
  • test: see on uue ressursi nimi.
  • device /dev/drbd0: viitab uuele virtuaalsele plokiseadmelle, mida juhib DRBD.
  • disk /dev/sdb1: see on plokiseadme partitsioon, mis on DRBD seadme varukoopia.
  • meta-disk: mÀÀratleb, kus DRBD hoiab oma metaandmeid. Internal tĂ€hendab, et DRBD salvestab oma metaandmed samale fĂŒĂŒsilisele madala taseme seadmele, kus on ka tootmisandmed.
  • address: mÀÀrab vastava sĂ”lme IP-aadressi ja pordinumbri.

Pange tÀhele, et kui mÔlemal hostil on parameetrid samade vÀÀrtustega, saate need otse ressursiosas mÀÀrata.

NĂ€iteks vĂ”ib eespool toodud konfiguratsiooni ĂŒmber korraldada jĂ€rgmiselt:

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

Samm 5. Ressursi initsialiseerimine ja kÀivitamine

DRBD-ga suhtlemiseks kasutame jÀrgmisi haldustööriistu (mis suhtlevad tuumamooduliga DRBD ressursside seadistamiseks ja haldamiseks):

  • drbdadm: DRBD-i kĂ”rgema taseme haldustööriist.
  • drbdsetup: madalama taseme haldustööriist, mis ĂŒhendab DRBD-seadmed nende varundusseadmetega, seadistab DRBD-seadmete paare nende varundusseadmete peegeldamiseks ja kontrollib töötavate DRBD-seadmete konfiguratsiooni.
  • Drbdmeta: metaandmete haldustööriist.

PÀrast kÔigi ressursi algkonfiguratsioonide lisamist peame kÀivitama ressursi mÔlemal sÔlmel.

# drbdadm create-md test

Seame DRBD kahe CentOS 7 serveri vahel salvestusruumi replikatsiooniks
Metaandmete salvestuse initsialiseerimine

SeejĂ€rel peame selle kĂ€ivitama, mis ĂŒhendab ressursi tema varundusseadmest, seejĂ€rel seadistab replikatsiooni parameetrid ja ĂŒhendab ressursi oma eeriga:

# drbdadm up test

NĂŒĂŒd, kui kĂ€ivitate kĂ€su lsblk, te mĂ€rkate, et seade/maht DRBD drbd0 on seotud varureaga /dev/sdb1:

# lsblk

Seame DRBD kahe CentOS 7 serveri vahel salvestusruumi replikatsiooniks
Plokiseadmete loend

Ressursi peatamiseks kÀivitage:

# drbdadm down test

Ressursi oleku kontrollimiseks kÀivitage jÀrgmine kÀsk (palun pane tÀhele, et sellel etapil on diskide olek oodatav Konsistentne/Konsistentne):

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

Seame DRBD kahe CentOS 7 serveri vahel salvestusruumi replikatsiooniks
Ressursi oleku kontrollimine
kohta

Samm 6: Peamise ressursi/seadme algsest sĂŒnkroonimise allika seadistamine

KĂ€esoleval etapil on DRBD juba tööks valmis. NĂŒĂŒd peame mÀÀrama, millist sĂ”lme kasutada seadmete algsena sĂŒnkroonimise allikana.

KĂ€ivitage jĂ€rgmine kĂ€sk ainult ĂŒhel sĂ”lmel, et alustada esialgset tĂ€ielikku sĂŒnkroonimist:

# drbdadm primary --force test
# drbdadm status test

Seame DRBD kahe CentOS 7 serveri vahel salvestusruumi replikatsiooniks
Peamise sÔlme seadistamine algse seadmena
PĂ€rast sĂŒnkroonimise lĂ”petamist peab mĂ”lema diski olek olema Ajakohane.

Samm 7: DRBD seadistuse testimine

LĂ”finally, peame kontrollima, kas DRBD seade töötab nagu peab, et salvestada replikatsiooniandmeid. Pidage meeles, et kasutasime tĂŒhi ketta mahtu, seega peame seadme peal failisĂŒsteemi looma ja selle monteerima, et kontrollida, kas saame seda replikatsiooniandmete salvestamiseks kasutada.

Peame seadme peal failisĂŒsteemi looma jĂ€rgmise kĂ€suga sĂ”lmes, kus alustasime algset tĂ€ielikku sĂŒnkroniseerimist (kus on ressurss pĂ”hivooluga):

# mkfs -t ext4 /dev/drbd0

Seame DRBD kahe CentOS 7 serveri vahel salvestusruumi replikatsiooniks
Loome failisĂŒsteemi Drbd mahtul

SeejÀrel monteerige see nagu nÀidatud (vÔite anda monteerimispunktile sobiva nime):

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

NĂŒĂŒd kopeerige vĂ”i looge mĂ”ned failid ĂŒlaltoodud monteerimispunktis ja tehke pikk loend kĂ€suga ls kĂ€sk:

# cd /mnt/DRDB_PRI/
# ls -l 

Seame DRBD kahe CentOS 7 serveri vahel salvestusruumi replikatsiooniks
Kuvatakse pÔhimahtu Drbd sisu loend

SeejÀrel des monteerige seade (veenduge, et monteerimine pole avatud, vahetage katalooge pÀrast des monteerimist, et vÀltida vigu) ja muutke sÔlme rolli pÔhivoolust teiseks:

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

Teine sĂ”lm (kus on ressurss sekundaarse rolliga) tehke esmaseks, seejĂ€rel ĂŒhendage sellele seade ja viige lĂ€bi pikk installimispunktide loetelu. Kui seade töötab normaalselt, peavad kĂ”ik sellel mahtul salvestatud failid olema seal:

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

Seame DRBD kahe CentOS 7 serveri vahel salvestusruumi replikatsiooniks
DRBD seadistuse kontroll, mis töötab sekundaarse sÔlme peal.

Lisateabe saamiseks pöörduge haldustööriistade abi lehtede poole:

# man drbdadm
# man drbdsetup
# man drbdmeta

Abi: DRBD kasutusjuhend.

KokkuvÔte

DRBD on ÀÀrmiselt paindlik ja mitmekĂŒlgne, muutes selle salvestuse replikatsiooni lahenduseks, mis sobib HA lisamiseks praktiliselt igasse rakendusse. Selles artiklis nĂ€itasime, kuidas installida DRBD CentOS 7-s ning andsime lĂŒhikese ĂŒlevaate selle kasutamisest salvestuse replikatsiooniks. Jagage julgelt oma mĂ”tteid meiega alloleva tagasiside vormi kaudu.

Uuri kursuse kohta lÀhemalt.

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster