Ho theha DRBD bakeng sa phetisetso ea polokelo ho li-server tse peli tsa CentOS 7

Phetolelo ea sengoloa e lokisitsoe bosiung ba pele thupelo e qala "Motsamaisi oa Linux. Virtualization le clustering".

DRBD (Distributed Replicated Block Device) ke tharollo ea polokelo e ajoang, e tenyetsehang, le e fumanehang hohle bakeng sa Linux. E bonts'a litaba tsa lisebelisoa tsa block tse kang li-hard drive, li-partitions, li-volumes tse utloahalang, joalo-joalo. pakeng tsa li-server. E etsa likopi tsa data ho lisebelisoa tse peli tsa polokelo e le hore haeba e 'ngoe ea tsona e hlōleha, data ea bobeli e ka sebelisoa.

U ka re ke ntho e kang ena tlhophiso ea marang-rang ea RAID 1 e nang le li-disk tse etselitsoeng li-server tse fapaneng. Leha ho le joalo, e sebetsa ka tsela e fapaneng ka ho feletseng ho feta RAID (esita le marang-rang RAID).

Qalong, DRBD e ne e sebelisoa haholo-holo ka lihlopha tsa lik'homphieutha tse fumanehang haholo (HA), leha ho le joalo, ho qala ka mofuta oa XNUMX, e ka sebelisoa ho kenya litharollo tsa polokelo ea maru.

Sehloohong sena, re tla hlalosa mokhoa oa ho kenya DRBD ho CentOS le ho bontša ka bokhutšoanyane mokhoa oa ho e sebelisa ho pheta-pheta polokelo (karohano) ho li-server tse peli. Ena ke sengoloa se phethahetseng ho qala ka DRBD ho Linux.

Sebaka sa teko

Re tla sebelisa lihlopha tse peli tsa li-node bakeng sa ho seta sena.

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

Mohato oa 1: Kenya liphutheloana tsa DRBD

DRBD e kenngoa ts'ebetsong e le mojule oa kernel ea Linux. Ke mokhanni oa sesebelisoa sa block block, ka hona e fumaneha ka tlase ho "I/O stack" ea sistimi.

DRBD e ka kenngoa ho tloha ELRepo kapa EPEL. Ha re qaleng ka ho kenya senotlolo sa ho saena sephutheloana sa ELRepo le ho hokela polokelo ho li-node ka bobeli joalo ka ha ho bonts'itsoe ka tlase.

# 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

Ebe o hloka ho kenya mojule oa kernel oa DRBD le lisebelisoa ho li-node ka bobeli u sebelisa:

# yum install -y kmod-drbd84 drbd84-utils

Haeba u na le SELinux e nolofalitsoeng, u hloka ho lokisa maano a ho lokolla mekhoa ea DRBD ho tsoa taolong ea SELinux.

# semanage permissive -a drbd_t

Ntle le moo, haeba sistimi ea hau e ntse e sebetsa le firewall (firewalld), o tla hloka ho eketsa port 7789 ea DRBD ho lumella khokahano ea data lipakeng tsa li-node tse peli.

Etsa litaelo tsena bakeng sa node ea pele:

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

Ebe u tsamaisa litaelo tsena bakeng sa node ea bobeli:

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

Mohato oa 2: Lokisetsa Polokelo ea Boemo bo Tlase

Kaha joale re na le DRBD e kentsoeng ho li-cluster node ka bobeli, re tlameha ho fana ka libaka tsa polokelo tse batlang li lekana ka boholo ho tsona. Ena e ka ba karohano ea hard drive (kapa hard drive eohle ea 'mele), sesebelisoa sa RAID sa software, Molumo o utloahalang oa LVM kapa mofuta ofe kapa ofe oa sesebelisoa sa block se fumanehang ho sistimi ea hau.

Bakeng sa sengoloa sena, re tla theha sesebelisoa sa block block sa 2GB re sebelisa taelo ea dd.

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

Ha re nke hore ena ke karohano e sa sebelisoeng (/ dev/sdb1) sesebelisoa sa bobeli sa block (/ dev/sdb) se hokahaneng le li-node ka bobeli.

Mohato oa 3. Ho lokisa DRBD

Faele ea mantlha ea tlhophiso ea DRBD - /etc/drbd.conf, 'me lifaele tse ling tsa tlhophiso li ka fumanoa bukeng /etc/drbd.d.

Ho pheta polokelo, re hloka ho kenyelletsa litlhophiso tse hlokahalang faeleng /etc/drbd.d/global_common.conf, e nang le likarolo tsa lefats'e le tse akaretsang tsa tlhophiso ea DRBD, 'me re hloka ho hlalosa lisebelisoa ho .res lifaele.

Ha re etseng kopi ea "backup" ea faele ea mantlha ho li-node ka bobeli, ebe re bula faele e ncha bakeng sa ho e hlophisa (sebelisa mongolo oa khetho ea hau).

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

Kenya mela e latelang ho lifaele ka bobeli:

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

Boloka faele ebe u koala mohlophisi.

Ha re shebe moleng oa protocol C nakoana. DRBD e ts'ehetsa mekhoa e meraro e fapaneng ea ho ikatisa (ke hore, likhato tse tharo tsa synchrony ea ho ikatisa), e leng:

  • protocol A: asynchronous replication protocol; hangata e sebedisoang maemong a pheta-pheto a sebaka se selelele.
  • protocol B: Semi-synchronous replication protocol kapa synchronous memory protocol.
  • protocol C: hangata e sebelisetsoa li-node ho marang-rang a nang le libaka tse khutšoanyane; ena ke eona mokhoa o sebelisoang haholo oa phetisetso litlhophisong tsa DRBD.

ea bohlokoa: Khetho ea protocol ea ho pheta-pheta e ama lintlha tse peli tsa ho tsamaisa: ts'ireletso le latency. Ka lehlakoreng le leng, tlhahiso ha e itšetlehe haholo ka protocol e khethiloeng ea ho ikatisa.

Mohato oa 4: Eketsa mohlodi

Resource ke sekhele se bolelang likarolo tsohle tsa dataset e itseng e phetoang. Re tla hlalosa mohloli oa rona faeleng /etc/drbd.d/test.res.

Kenya tse latelang faeleng ho li-node ka bobeli (hopola ho khutlisa mefuta e fapaneng ka boleng ba 'nete ba tikoloho ea hau).

Ela hloko mabitso a baeti, re hloka ho hlakisa lebitso la moamoheli oa marang-rang, le ka fumanoang ho sebelisoa taelo ea 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;
        }
}
}

moo:

  • lebitsong la moamoheli: Karolo e mabapi le moo polelo ea tlhophiso e hlophisitsoeng e sebetsang teng.
  • mamella teko: Lena ke lebitso la mohloli o mocha.
  • sesebelisoa /dev/drbd0: E bonts'a sesebelisoa se secha sa block block se laoloang ke DRBD.
  • disk /dev/sdb1: Ena ke karohano ea sesebelisoa sa block eo e leng sesebelisoa sa "backup" bakeng sa sesebelisoa sa DRBD.
  • meta-disk: E hlalosa moo DRBD e bolokang metadata ea eona. Ka hare ho bolela hore DRBD e boloka metadata ea eona ho sesebelisoa se tšoanang sa boemo bo tlase e le data ea sebele tlhahisong.
  • aterese: E bontša aterese ea IP le nomoro ea boema-kepe ea node e lumellanang.

Hape hlokomela hore haeba li-parameter li na le litekanyetso tse tšoanang ho mabotho ka bobeli, u ka li hlalosa ka ho toba karolong ea lisebelisoa.

Mohlala, tlhophiso e kaholimo e ka hlophisoa bocha hore e be:

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

Mohato oa 5. Qala le ho qala mohloli

Ho sebelisana le DRBD re tla sebelisa lisebelisoa tse latelang tsa tsamaiso (tse sebetsanang le kernel module ho lokisa le ho tsamaisa lisebelisoa tsa DRBD):

  • drbdadm: Sesebelisoa sa tsamaiso ea boemo bo phahameng ba DRBD.
  • drbdsetup: Sesebelisoa sa tsamaiso ea boemo bo tlase bakeng sa ho hokahanya lisebelisoa tsa DRBD le lisebelisoa tsa bona tsa bekapo, ho lokisa lipara tsa lisebelisoa tsa DRBD ho bonahatsa lisebelisoa tsa bona tsa bekapo, le bakeng sa ho netefatsa tlhophiso ea lisebelisoa tsa DRBD tse sebetsang.
  • Drbdmeta: Sesebelisoa sa taolo ea metadata.

Kamora ho kenyelletsa litlhophiso tsohle tsa mantlha tsa lisebelisoa, re tlameha ho kopa sesebelisoa ho li-node ka bobeli.

# drbdadm create-md test

Ho theha DRBD bakeng sa phetisetso ea polokelo ho li-server tse peli tsa CentOS 7
Ho qala Lebenkele la Metadata

Ka mor'a moo re hloka ho e tsamaisa, e tla hokahanya sesebelisoa le sesebelisoa sa eona sa "backup", ebe u beha liparamente tsa ho pheta-pheta 'me u kopanye sesebelisoa ho lithaka tsa sona:

# drbdadm up test

Joale haeba u tsamaisa taelo lsblk, u tla hlokomela hore sesebelisoa sa DRBD/volume drbd0 se amahanngoa le sesebelisoa sa bekapo /dev/sdb1:

# lsblk

Ho theha DRBD bakeng sa phetisetso ea polokelo ho li-server tse peli tsa CentOS 7
Lethathamo la lisebelisoa tsa block

Ho tima sesebelisoa, tsamaisa:

# drbdadm down test

Ho lekola boemo ba sesebelisoa, tsamaisa taelo e latelang (hlokomela hore boemo ba li-disk bo lebelletsoe ntlheng ena. E sa tsitsang/ E sa tsitsang):

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

Ho theha DRBD bakeng sa phetisetso ea polokelo ho li-server tse peli tsa CentOS 7
Ho hlahloba boemo ba mohlodi ka
bobe

Mohato oa 6: Beha mohloli oa mantlha oa sesebelisoa / sesebelisoa sa pele sa khokahano

Mothating ona, DRBD e se e loketse ho tsamaea. Joale re hloka ho hlakisa hore na ke node efe e lokelang ho sebelisoa e le mohloli oa khokahano ea sesebelisoa sa pele.

Etsa taelo e latelang sebakeng se le seng feela ho qala ho hokahanya ka botlalo:

# drbdadm primary --force test
# drbdadm status test

Ho theha DRBD bakeng sa phetisetso ea polokelo ho li-server tse peli tsa CentOS 7
Ho beha node ea mantlha joalo ka sesebelisoa sa pele
Hang ha khokahano e felile, boemo ba li-drive ka bobeli bo lokela ho ba UpToDate.

Mohato oa 7: Lekola ho seta ha DRBD

Qetellong, re hloka ho hlahloba hore na sesebelisoa sa DRBD se tla sebetsa kamoo ho hlokahalang ho boloka data e kopilitsoeng. Hopola hore re sebelisitse molumo oa disk o se nang letho, kahoo re tlameha ho theha sistimi ea faele sesebelisoa ebe re e beha ho lekola hore na re ka e sebelisa ho boloka data e phetoang.

Re hloka ho theha sistimi ea faele sesebelisoa re sebelisa taelo e latelang sebakeng sa node moo re qalileng sync ea pele e felletseng (e nang le sesebelisoa se nang le karolo ea mantlha):

# mkfs -t ext4 /dev/drbd0

Ho theha DRBD bakeng sa phetisetso ea polokelo ho li-server tse peli tsa CentOS 7
Ho theha sistimi ea faele ho bophahamo ba modumo ea Drbd

Ebe u e beha joalo ka ha ho bonts'itsoe (o ka fa sebaka sa thaba lebitso le loketseng):

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

Joale kopitsa kapa u thehe lifaele sebakeng se kaholimo 'me u etse lethathamo le lelelele ka ls litaelo:

# cd /mnt/DRDB_PRI/
# ls -l 

Ho theha DRBD bakeng sa phetisetso ea polokelo ho li-server tse peli tsa CentOS 7
Thathamisa litaba tsa bolumo e kholo ea Drbd

E latelang, theola sesebelisoa (etsa bonnete ba hore thaba ha e bulehe, fetola bukana ka mor'a ho theoha ho qoba liphoso) 'me u fetole karolo ea node ho tloha ho ea pele ho ea ho ea bobeli:

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

Etsa hore node e 'ngoe (e nang le mohloli o nang le karolo ea bobeli) e be ea mantlha, ebe u hokela sesebelisoa ho eona ebe u fana ka lethathamo le lelelele la lintlha tse holimo. Haeba setup se sebetsa hantle, lifaele tsohle tse bolokiloeng bophahamong li lokela ho ba teng:

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

Ho theha DRBD bakeng sa phetisetso ea polokelo ho li-server tse peli tsa CentOS 7
Ho hlahloba setupo sa DRBD se sebetsang sebakeng sa bobeli.

Ho fumana lintlha tse ling, bona maqephe a thuso a lisebelisoa tsa tsamaiso:

# man drbdadm
# man drbdsetup
# man drbdmeta

Thuso: DRBD Bukana ea Mosebelisi.

Kakaretso

DRBD e feto-fetoha le maemo haholo, e etsa hore e be tharollo ea polokelo ea polokelo e loketseng ho kenyelletsa HA hoo e batlang e le ts'ebeliso efe kapa efe. Sengoliloeng sena, re bonts'itse mokhoa oa ho kenya DRBD ho CentOS 7 mme ra bonts'a ka bokhutšoanyane mokhoa oa ho e sebelisa bakeng sa phetisetso ea polokelo. Ikutloe u lokolohile ho arolelana maikutlo a hau le rona u sebelisa foromo ea maikutlo e ka tlase.

Ithute haholoanyane ka thupelo.

Source: www.habr.com

Eketsa ka tlhaloso