Bii o ṣe le ṣeto DRBD lati Ṣajọ Ibi ipamọ lori Awọn olupin CentOS 7 Meji


DRBD (o duro fun Ẹrọ Bọtini Aṣayan Pinpin) jẹ pinpin kaakiri, rọ ati ibaramu ibi ipamọ ibi isomọra fun Linux. O ṣe digi akoonu ti awọn ẹrọ bulọọki gẹgẹbi awọn disiki lile, awọn ipin, awọn iwọn oye ati bẹbẹ lọ laarin awọn olupin. O jẹ ẹda data kan lori awọn ẹrọ ipamọ meji, bii pe ti ọkan ba kuna, o le ṣee lo data lori ekeji.

O le ronu ni itumo bi nẹtiwọọki RAID 1 nẹtiwọọki kan pẹlu awọn disiki didan kọja awọn olupin. Sibẹsibẹ, o ṣiṣẹ ni ọna ti o yatọ pupọ lati RAID ati paapaa RAID nẹtiwọọki.

Ni akọkọ, a lo DRBD ni akọkọ awọn iṣupọ kọnputa wiwa ti o ga (HA), sibẹsibẹ, bẹrẹ pẹlu ẹya 9, o le ṣee lo lati fi awọn solusan ipamọ awọsanma ranṣẹ.

Ninu àpilẹkọ yii, a yoo fihan bi a ṣe le fi DRBD sori ẹrọ ni CentOS ati ṣafihan ni ṣoki bi o ṣe le lo lati ṣe atunṣe ibi ipamọ (ipin) lori awọn olupin meji. Eyi ni nkan pipe lati bẹrẹ pẹlu lilo DRBD ni Lainos.

Fun idi ti nkan yii, a nlo iṣupọ awọn apa meji fun iṣeto yii.

  • Node1: 192.168.56.101 - tecmint.tecmint.lan
  • Node2: 192.168.56.102 - server1.tecmint.lan

Igbesẹ 1: Fifi awọn idii DRBD sii

DRBD ti wa ni imuse bi modulu ekuro Linux kan. O ṣe deede awakọ fun ẹrọ ohun amorindun foju kan, nitorinaa o ti fi idi mulẹ nitosi isalẹ ti ipilẹ I/O eto kan.

DRBD le fi sori ẹrọ lati ELRepo tabi awọn ibi ipamọ EPEL. Jẹ ki a bẹrẹ nipa gbigbe wọle bọtini iforukọsilẹ package ELRepo, ki o jẹ ki ibi-ipamọ ṣiṣẹ bi o ti han lori awọn apa mejeeji.

# 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

Lẹhinna a le fi sori ẹrọ modulu ekuro DRBD ati awọn ohun elo lori awọn apa mejeeji nipa ṣiṣiṣẹ:

# yum install -y kmod-drbd84 drbd84-utils

Ti o ba ti ṣiṣẹ SELinux, o nilo lati yipada awọn eto imulo lati yọ awọn ilana DRBD kuro ni iṣakoso SELinux.

# semanage permissive -a drbd_t

Ni afikun, ti eto rẹ ba ni ogiriina ti a ṣiṣẹ (firewalld), o nilo lati ṣafikun ibudo DRBD 7789 ninu ogiriina lati gba amuṣiṣẹpọ ti data laarin awọn apa meji.

Ṣiṣe awọn ofin wọnyi lori oju ipade akọkọ:

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

Lẹhinna ṣiṣe awọn ofin wọnyi lori oju ipade keji:

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

Igbesẹ 2: Ngbaradi Ipamọ ipele-Kekere

Nisisiyi ti a ti fi DRBD sori awọn apa iṣupọ meji, a gbọdọ ṣetan agbegbe iwọn iwọn ti o fẹrẹ to iwọn ni awọn apa mejeeji. Eyi le jẹ ipin dirafu lile kan (tabi dirafu lile ti ara ni kikun), ẹrọ RAID sọfitiwia kan, Iwọn didun ọgbọn LVM tabi iru ẹrọ ohun amorindun miiran ti a rii lori ẹrọ rẹ.

Fun idi ti nkan yii, a yoo ṣẹda ẹrọ amuludun idin titobi ti 2GB nipa lilo pipaṣẹ dd.

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

A yoo ro pe eyi jẹ ipin ti a ko lo (/ dev/sdb1) lori ẹrọ ohun amorindun keji (/ dev/sdb) ti o so mọ awọn apa mejeeji.

Igbese 3: Tito leto DRBD

Faili iṣeto akọkọ ti DRBD wa ni /etc/drbd.conf ati awọn faili atunto afikun ni a le rii ninu itọsọna /etc/drbd.d.

Lati tun ṣe ibi ipamọ, a nilo lati ṣafikun awọn atunto to ṣe pataki ninu faili /etc/drbd.d/global_common.conf eyiti o ni awọn abala kariaye ati wọpọ ti iṣeto DRBD ati pe a le ṣalaye awọn orisun ninu awọn faili .res.

Jẹ ki a ṣe afẹyinti ti faili atilẹba lori awọn apa mejeji, lẹhinna ṣii faili tuntun fun ṣiṣatunkọ (lo olootu ọrọ ti o fẹran rẹ).

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

Ṣafikun awọn ila wọnyi ni awọn faili mejeeji:

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

Fipamọ faili naa, ati lẹhinna pa olootu naa.

Jẹ ki a ṣoki ni ṣoki ni imọlẹ diẹ sii lori ilana laini C. DRBD ṣe atilẹyin awọn ipo ẹda ẹda ọtọtọ mẹta (nitorinaa awọn iwọn mẹta ti amuṣiṣẹpọ idapọ) eyiti o jẹ:

  • Ilana A: Ilana isodipupo Asynchronous; o nlo nigbagbogbo ni awọn oju iṣẹlẹ idapada ọna pipẹ.
  • Ilana B: Ilana idapọ idapọmọra idapọmọra aka Ilana ilana amuṣiṣẹpọ Memory.
  • Ilana C: ti a lo nigbagbogbo fun awọn apa ni awọn nẹtiwọọki ti o jinna kukuru; o ti jinna, ilana atunṣe idapọ julọ ti a lo julọ ni awọn iṣeto DRBD.

Pataki: Yiyan ilana ilana ẹda ni ipa awọn ifosiwewe meji ti imuṣiṣẹ rẹ: aabo ati airi. Ati ṣiṣe, ni ifiwera, jẹ ominira pupọ si ilana atunṣe ti a yan.

Igbese 4: Fifi Oro kan sii

Oro kan jẹ ọrọ apapọ ti o tọka si gbogbo awọn aaye ti ṣeto data atunda kan pato. A yoo ṣalaye orisun wa ninu faili kan ti a pe ni /etc/drbd.d/test.res.

Ṣafikun akoonu atẹle si faili naa, lori awọn apa mejeji (ranti lati rọpo awọn oniyipada ninu akoonu pẹlu awọn iye gangan fun agbegbe rẹ).

Ṣe akiyesi awọn orukọ ile-iṣẹ, a nilo lati ṣọkasi orukọ orukọ olupin ti nẹtiwọọki eyiti o le gba nipasẹ ṣiṣe pipaṣẹ 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;
        }
}
}

ibo:

  • lori orukọ olupin: awọn ipin ipin eyiti o gbalejo awọn alaye iṣeto ti o wa pẹlu.
  • idanwo: ni orukọ orisun tuntun.
  • ẹrọ/dev/drbd0: ṣalaye ẹrọ bulọọki foju foju ti iṣakoso nipasẹ DRBD.
  • disk/dev/sdb1: ni ipin ẹrọ ohun amorindun eyiti o jẹ ẹrọ atilẹyin fun ẹrọ DRBD.
  • meta-disk: Awọn asọye ibiti DRBD ṣe tọju metadata rẹ. Lilo Itumọ inu tumọ si pe DRBD tọju data meteta rẹ sori ẹrọ ipele ipele ti ara kanna gẹgẹbi data iṣelọpọ gangan.
  • adirẹsi: ṣalaye adiresi IP ati nọmba ibudo ti oju opo kọọkan.

Tun ṣe akiyesi pe ti awọn aṣayan ba ni awọn iye ti o dọgba lori awọn ọmọ-ogun mejeeji, o le ṣafihan wọn taara ni apakan orisun.

Fun apẹẹrẹ iṣeto ni oke le ṣe atunto si:

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

Igbesẹ 5: Bibẹrẹ ati Ṣiṣe Agbara

Lati ṣepọ pẹlu DRBD, a yoo lo awọn irinṣẹ iṣakoso atẹle ti o ṣe ibaraẹnisọrọ pẹlu module ekuro lati le tunto ati ṣakoso awọn orisun DRBD:

  • drbdadm: ọpa iṣakoso ipele giga ti DRBD.
  • drbdsetup: ohun elo iṣakoso ipele-kekere lati so awọn ẹrọ DRBD pọ pẹlu awọn ẹrọ ohun amorindun atilẹyin wọn, lati ṣeto awọn orisii ẹrọ DRBD lati ṣe digi awọn ẹrọ idena atilẹyin wọn, ati lati ṣayẹwo iṣeto ti ṣiṣe awọn ẹrọ DRBD.
  • Drbdmeta: jẹ ohun elo iṣakoso data meta.

Lẹhin ti o ṣe afikun gbogbo awọn atunto orisun akọkọ, a gbọdọ mu orisun wa lori awọn apa mejeeji.

# drbdadm create-md test

Nigbamii ti, o yẹ ki a mu olu resourceewadi ṣiṣẹ, eyi ti yoo so ohun elo pọ pẹlu ẹrọ atilẹyin rẹ, lẹhinna o ṣeto awọn iwọn atunse, ati sopọ asopọ oro si ẹgbẹ rẹ:

# drbdadm up test

Bayi ti o ba ṣiṣẹ aṣẹ lsblk, iwọ yoo ṣe akiyesi pe ẹrọ DRBD/iwọn didun drbd0 ni nkan ṣe pẹlu ẹrọ atilẹyin/dev/sdb1:

# lsblk

Lati mu ohun elo naa ṣiṣẹ, ṣiṣe:

# drbdadm down test

Lati ṣayẹwo ipo olu resourceewadi, ṣiṣe aṣẹ atẹle (akiyesi pe ipo aiṣedeede/Aisedede disiki ti nireti ni aaye yii):

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

Igbesẹ 6: Ṣeto Oro Alakọbẹrẹ/Orisun ti Amuṣiṣẹpọ Ẹrọ Ibẹrẹ

Ni ipele yii, DRBD ti ṣetan fun iṣẹ. A nilo lati sọ fun bayi iru oju-iwe yẹ ki o lo bi orisun ti amuṣiṣẹpọ ẹrọ akọkọ.

Ṣiṣe aṣẹ wọnyi ni oju ipade kan lati bẹrẹ amuṣiṣẹpọ kikun ni ibẹrẹ:

# drbdadm primary --force test
# drbdadm status test

Lọgan ti amuṣiṣẹpọ ti pari, ipo ti awọn disiki mejeeji yẹ ki o jẹ UpToDate.

Igbese 7: Idanwo DRBD Setup

Lakotan, a nilo lati danwo ti ẹrọ DRBD yoo ṣiṣẹ daradara fun ibi ipamọ data ti o tun ṣe. Ranti, a lo iwọn didun disiki ti o ṣofo, nitorinaa a gbọdọ ṣẹda eto faili lori ẹrọ, ati gbe e, lati ṣe idanwo ti a ba le lo fun ibi ipamọ data ti o tun ṣe.

A le ṣẹda eto faili lori ẹrọ pẹlu aṣẹ atẹle, lori oju ipade nibiti a ti bẹrẹ amuṣiṣẹpọ kikun ti akọkọ (eyiti o ni orisun pẹlu ipa akọkọ):

# mkfs -t ext4 /dev/drbd0 

Lẹhinna gbe ẹ bi o ti han (o le fun aaye oke ni orukọ ti o yẹ):

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

Bayi daakọ tabi ṣẹda diẹ ninu awọn faili ni aaye oke ti o wa loke ki o ṣe atokọ gigun ni lilo pipaṣẹ ls:

# cd /mnt/DRDB_PRI/
# ls -l 

Itele, yọọ ẹrọ naa (rii daju pe oke naa ko ṣii, yi ilana pada lẹhin ti o ti tu kuro lati yago fun awọn aṣiṣe eyikeyi) ati yi ipa ti oju ipade lati akọkọ si ile-iwe giga:

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

Lori oju ipade miiran (eyiti o ni orisun pẹlu ipa atẹle), jẹ ki o jẹ akọkọ, lẹhinna gbe ẹrọ sori rẹ ki o ṣe atokọ gigun ti aaye oke. Ti iṣeto ba n ṣiṣẹ daradara, gbogbo awọn faili ti o fipamọ sinu iwọn didun yẹ ki o wa nibẹ:

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

Fun alaye diẹ sii, wo awọn oju-iwe eniyan ti awọn irinṣẹ iṣakoso aaye aaye olumulo:

# man drbdadm
# man drbdsetup
# man drbdmeta

Itọkasi: Itọsọna Olumulo DRBD.

DRBD jẹ irọrun lalailopinpin ati ibaramu, eyiti o jẹ ki o jẹ ojutu atunse ibi ipamọ ti o baamu fun fifi HA kun si eyikeyi ohun elo. Ninu nkan yii, a ti fihan bi a ṣe le fi DRBD sori ẹrọ ni CentOS 7 ati ṣafihan ni ṣoki bi o ṣe le lo lati ṣe atunkọ ibi ipamọ. Ni ominira lati pin awọn ero rẹ pẹlu wa nipasẹ fọọmu esi ni isalẹ.