Polokelo ea lihlopha bakeng sa lihlopha tse nyane tsa marang-rang tse thehiloeng ho drbd+ocfs2

Seo re tla bua ka sona:
Mokhoa oa ho tsamaisa polokelo e arolelanoang kapele bakeng sa li-server tse peli tse ipapisitseng le tharollo ea drbd+ocfs2.

Ho bao e tla ba molemo ho bona:
Thupelo e tla ba molemo ho batsamaisi ba sistimi le mang kapa mang ea khethang mokhoa oa ts'ebetsong oa polokelo kapa o batla ho leka tharollo.

Re ile ra hana liqeto life hona hobane’ng?

Hangata re tobane le boemo boo re hlokang ho kenya ts'ebetsong polokelo e arolelanoang ka ts'ebetso e ntle ea ho bala-ho ngola sehlopheng se senyenyane sa marang-rang. Re lekile likhetho tse fapaneng bakeng sa ho kenya ts'ebetsong polokelo e arolelanoang bakeng sa merero ea rona, empa ke ba fokolang ba ileng ba khona ho re khotsofatsa ka matšoao a 'maloa ka nako e le ngoe. Joale re tla u bolella lebaka.

  • Glusterfs ha ea ka ea re khotsofatsa ka ts'ebetso ea ho bala le ho ngola; ho ne ho e-na le mathata ka ho bala ka nako e le 'ngoe palo e kholo ea lifaele,' me ho ne ho e-na le mojaro o phahameng ho CPU. Bothata ba lifaele tsa ho bala bo ka rarolloa ka ho li fumana ka ho toba ho tloha litene, empa sena ha se sebetse kamehla 'me ka kakaretso se fosahetse.

  • Ceph o ne a sa rate ho rarahana ho feteletseng, ho ka ba kotsi mererong e nang le li-server tse 2-4, haholo haeba morero o ka hlokomeloa hamorao. Hape, ho na le mefokolo e tebileng ea ts'ebetso e re qobellang ho theha lihlopha tse arohaneng tsa polokelo, joalo ka li-glusterfs.

  • Ho sebelisa seva se le seng sa NFS ho kenya ts'ebetsong polokelo e arolelanoang ho hlahisa lipotso mabapi le mamello ea liphoso.

  • s3 ke tharollo e tsebahalang haholo bakeng sa mefuta e meng ea mesebetsi, empa ha se sistimi ea faele, e fokotsang boholo ba eona.

  • lsyncd. Haeba re se re qalile ho bua ka "litsamaiso tseo e seng tsa lifaele," joale ho bohlokoa ho feta tharollong ena e tsebahalang. Hase feela hore ha e loketse phapanyetsano ea litsela tse peli (empa haeba u hlile u batla, joale u ka khona), hape ha e sebetse ka mokhoa o tsitsitseng ho palo e kholo ea lifaele. Keketso e ntle ho ntho eohle ke hore e na le khoele e le 'ngoe. Lebaka le ka har'a meralo ea lenaneo: e sebelisa inotify ho beha leihlo lintho tsa mosebetsi, tseo e li abelang qalong le nakong ea ho nchafatsa. rsync e sebelisoa e le mokhoa oa ho fetisa.

Lithuto: mokhoa oa ho tsamaisa polokelo e arolelanoang ho latela drbd+ocfs2

E 'ngoe ea litharollo tse bonolo ho rona e ne e le sehokelo ocfs2+drbd. Hona joale re tla u bolella hore na u ka potlakela ho kenya polokelo e arolelanoang bakeng sa li-server tse peli tse thehiloeng ho database ea tharollo. Empa pele, ho se hokae ka likaroloana:

DRBD - Sistimi ea polokelo ho tsoa ho phepelo e tloaelehileng ea Linux e u lumellang ho pheta-pheta data lipakeng tsa li-server ka li-block. Kopo e kholo ke ho aha polokelo e mamellang liphoso.

OCFS2 - sistimi ea faele e fanang ka ts'ebeliso e arolelanoang ea polokelo e tšoanang ke litsamaiso tse 'maloa. E kenyelelitsoe kabong ea Linux mme ke kernel module le lisebelisoa tsa ho sebetsa le FS. OCFS2 e ka sebelisoa eseng feela ho feta DRBD, empa hape le ho feta iSCSI e nang le likhokahano tse ngata. Mohlala oa rona re sebelisa DRBD.

Liketso tsohle li etsoa ho seva sa ubuntu 18.04 ka tlhophiso e fokolang.

Mohato oa 1. Lokisa DRBD:

Ka faeleng /etc/drbd.d/drbd0.res re hlalosa sesebelisoa sa rona sa block block /dev/drbd0:

resource drbd0 {
    syncer { rate 1000M; }
    net {
        allow-two-primaries;
        after-sb-0pri discard-zero-changes;
        after-sb-1pri discard-secondary;
        after-sb-2pri disconnect;
    }
    startup { become-primary-on both; }
    on drbd1 {
        meta-disk internal;
        device /dev/drbd0;
        disk /dev/vdb1;
        address 10.10.10.192:7789;
}
    on drbd2 {
        meta-disk internal;
        device /dev/drbd0;
        disk /dev/vdb1;
        address 10.10.10.193:7789;
}
}

meta-disk ka hare - sebelisa lisebelisoa tse tšoanang tsa block ho boloka metadata
sesebelisoa /dev/drbd0 - sebelisa /dev/drbd0 joalo ka tsela ea molumo oa drbd.
disk /dev/vdb1 - sebelisa /dev/vdb1
syncer { sekhahla 1000M; } - sebelisa bandwidth ea kanale ea gigabit
dumella-dikhetho tse pedi - khetho ea bohlokoa e lumellang hore liphetoho li amoheloe ho li-server tse peli tsa mantlha
after-sb-0pri, after-sb-1pri, after-sb-2pri - likhetho tse ikarabellang bakeng sa liketso tsa node ha splitbrain e fumanoa. Lintlha tse ling li ka fumanoa litokomaneng.
e ba tsa mantlha-ka bobeli - e beha li-node ka bobeli ho ea pele.

Tabeng ea rona, re na le li-VM tse peli tse ts'oanang hantle, tse nang le marang-rang a ikemetseng a nang le li-gigabits tse 10.

Mohlala oa rona, mabitso a marang-rang a li-cluster node tse peli ke drbd1 le drbd2. Bakeng sa ts'ebetso e nepahetseng, o hloka ho tsamaisana le mabitso le liaterese tsa IP tsa mabotho ho /etc/hosts.

10.10.10.192 drbd1
10.10.10.193 drbd2

Mohato oa 2. Etsa li-node:

Ho li-server ka bobeli re matha:

drbdadm create-md drbd0

Polokelo ea lihlopha bakeng sa lihlopha tse nyane tsa marang-rang tse thehiloeng ho drbd+ocfs2

modprobe drbd
drbdadm up drbd0
cat /proc/drbd

Re fumana tse latelang:

Polokelo ea lihlopha bakeng sa lihlopha tse nyane tsa marang-rang tse thehiloeng ho drbd+ocfs2

O ka qala kamahanyo. Ho node ea pele, o hloka ho kenya:

drbdadm primary --force drbd0

Ha re shebeng boemo:

cat /proc/drbd

Polokelo ea lihlopha bakeng sa lihlopha tse nyane tsa marang-rang tse thehiloeng ho drbd+ocfs2

E kholo, khokahano e se e qalile. Re ema ho fihlela qetellong ebe re bona setšoantšo:

Polokelo ea lihlopha bakeng sa lihlopha tse nyane tsa marang-rang tse thehiloeng ho drbd+ocfs2

Mohato oa 3. Qala ho amahanya node ea bobeli:

drbdadm primary --force drbd0

Re fumana tse latelang:

Polokelo ea lihlopha bakeng sa lihlopha tse nyane tsa marang-rang tse thehiloeng ho drbd+ocfs2

Joale re ka ngolla drbd ho tsoa ho li-server tse peli.

Mohato oa 4. Kenya le ho lokisa ocfs2.

Re tla sebelisa tlhophiso e sa reng letho:

cluster:
     node_count = 2
     name = ocfs2cluster

node:
     number = 1
     cluster = ocfs2cluster
     ip_port = 7777
     ip_address = 10.10.10.192
     name = drbd1

node:
     number = 2
     cluster = ocfs2cluster
     ip_port = 7777
     ip_address = 10.10.10.193
     name = drbd2

E tlameha ho ngoloa fatše /etc/ocfs2/cluster.conf lintlheng tse peli.

Re theha FS ho drbd0 sebakeng sefe kapa sefe:

mkfs.ocfs2 -L "testVol" /dev/drbd0

Mona re thehile sistimi ea faele e nang le label testVol ho drbd0, re sebelisa li-parameter tsa kamehla.

Polokelo ea lihlopha bakeng sa lihlopha tse nyane tsa marang-rang tse thehiloeng ho drbd+ocfs2

Ho /etc/default/o2cb o hloka ho beha (joalo ka faeleng ea rona ea tlhophiso)

O2CB_ENABLED=true 
O2CB_BOOTCLUSTER=ocfs2cluster 

'me u phethe sebakeng se seng le se seng:

o2cb register-cluster ocfs2cluster

Ebe rea bulela ebe re eketsa li-unit tsohle tseo re li hlokang ho autorun:

systemctl enable drbd o2cb ocfs2
systemctl start drbd o2cb ocfs2

Tse ling tsa tsena li tla be li se li ntse li sebetsa nakong ea ts'ebetso ea ho seta.

Mohato oa 5. Eketsa lintlha tse holimo ho fstab ho li-node ka bobeli:

/dev/drbd0 /media/shared ocfs2 defaults,noauto,heartbeat=local 0 0

Directory /media/shared e tlameha ho bōptjoa esale pele.

Mona re sebelisa likhetho tsa noauto, ho bolelang hore faele e ke ke ea kenngoa qalong (ke khetha ho kenya lifaele tsa marang-rang ka systemd) le heartbeat=local, e bolelang ho sebelisa tšebeletso ea ho otla ha pelo sebakeng se seng le se seng. Ho boetse ho na le ho otla ha pelo lefatšeng ka bophara, ho loketseng lihlopha tse kholo.

Ka mor'a moo, u ka e phahamisa /media/shared mme o hlahlobe kamahanyo ya dikahare.

E entsoe! Ka lebaka leo, re fumana sebaka sa polokelo se sa mamelleng liphoso se nang le scalability le ts'ebetso e ntle.

Source: www.habr.com

Eketsa ka tlhaloso