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