Kuchengetedzwa kweCluster kwemasumbu madiki ewebhu akavakirwa padrbd+ocfs2

Zvatichataura nezvazvo:
Maitiro ekukurumidza kuendesa chengetedzo yakagovaniswa kune maviri maseva zvichienderana nedrbd + ocfs2 mhinduro.

Kune izvo zvichabatsira:
Dzidzo ichave inobatsira kune vatariri vehurongwa uye chero ani zvake anosarudza nzira yekuchengetedza yekuisa kana anoda kuedza mhinduro.

Zvisarudzo zvipi zvatakaramba uye nei?

Kazhinji tinotarisana nemamiriro ezvinhu apo tinoda kushandisa chengetedzo yakagovaniswa nekuita kwakanaka kwekuverenga-kunyora pane diki rewebhu cluster. Takaedza nzira dzakasiyana-siyana dzekushandisa kuchengetedza kwakagovaniswa kwemapurojekiti edu, asi vashoma vakakwanisa kutigutsa pane akati wandei zviratidzo kamwechete. Zvino tichakuudza chikonzero nei.

  • Glusterfs haina kutigutsa nekuverenga nekunyora kuita; pakanga paine matambudziko nekuverenga panguva imwe chete yenhamba huru yemafaira, uye pakanga paine mutoro wakakwira paCPU. Dambudziko rekuverenga mafaira rinogona kugadziriswa nekuzviwana zvakananga kubva kune zvidhina, asi izvi hazviwanzoshanda uye kazhinji hazvina kunaka.

  • Ceph aisada kuomarara kwakanyanya, izvo zvinogona kukuvadza pamapurojekiti ane 2-4 maseva, kunyanya kana chirongwa chikazochengetwa. Zvekare, pane zvakakomba zvipimo zvekuita zvinotimanikidza kuvaka akaparadzana masumbu ekuchengetedza, senge glusterfs.

  • Kushandisa imwe sevha yeNFS kuita chengetedzo yakagovaniswa kunomutsa mibvunzo maererano nekutadza kushivirira.

  • s3 mhinduro yakanakisa yakakurumbira kune mamwe mabasa, asi haisi iyo faira system, inopfupisa chiyero chayo.

  • lsyncd. Kana isu takatotanga kutaura nezve "asiri-mafaira masisitimu," saka zvakakodzera kuenda pamusoro peiyi mhinduro yakakurumbira. Haisi chete iyo haina kukodzera kuchinjisa-nzira mbiri (asi kana iwe uchida chaizvo, saka iwe unogona), zvakare haishande zvakatsiga pane yakakura mafaera. Kuwedzera kwakanaka kune chinhu chose ndechekuti ndeye-single-threaded. Chikonzero chiri mukuvaka kwechirongwa: inoshandisa inotify kutarisa zvinhu zvebasa, iyo yainopa pakutanga uye panguva yekuongororazve. rsync inoshandiswa senzira yekufambisa.

Dzidziso: nzira yekuendesa yakagovaniswa chengetedzo yakavakirwa pane drbd+ocfs2

Imwe yemhinduro dzakatinakira isu yaive link ocfs2+drbd. Iye zvino tichakuudza kuti iwe unogona sei kukurumidza kutumira chengetedzo yakagovaniswa kune maviri maseva zvichibva pane mhinduro dhatabhesi. Asi kutanga, zvishoma nezve zvikamu:

DRBD -Sitimu yekuchengetera kubva kune yakajairwa Linux kugovera iyo inokutendera iwe kudzokorora data pakati pemaseva mumabhuraki. Chishandiso chikuru ndechekuvaka kuchengetedza-kushivirira kuchengetedza.

OCFS2 - faira sisitimu inopa kushandiswa kwakagovaniswa kwekuchengetedza kumwe chete nemasystem akati wandei. Inosanganisirwa mukugoverwa kweLinux uye iri kernel module uye maturusi ekushandisa ekushanda neFS. OCFS2 inogona kushandiswa kwete chete pamusoro peDRBD, asi zvakare pamusoro peSCSI ine akawanda ekubatanidza. Mumuenzaniso wedu tinoshandisa DRBD.

Zvese zviito zvinoitwa pa ubuntu server 18.04 mune kushoma kurongeka.

Danho 1. Gadzirisa DRBD:

Mune faira /etc/drbd.d/drbd0.res tinotsanangura yedu chaiyo block mudziyo /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-dhisiki yemukati - shandisa iwo madhivhari madhizaini kuchengetedza metadata
mudziyo /dev/drbd0 -shandisa /dev/drbd0 senzira inoenda kune drbd vhoriyamu.
dhisiki /dev/vdb1 -shandisa /dev/vdb1
syncer {chiyero 1000M; } - shandisa gigabit chiteshi bandwidth
bvumidza-mbiri-maprimaries - yakakosha sarudzo inobvumira shanduko kugamuchirwa pamasevha maviri ekutanga
after-sb-0pri, after-sb-1pri, after-sb-2pri -Sarudzo dzinokonzeresa zviito zvenode kana splitbrain yaonekwa. Mamwe mashoko anogona kuwanikwa mune zvinyorwa.
kuva-primary-pane zvose - inoisa node mbiri kusvika yekutanga.

Kwatiri, isu tine maVM maviri akanyatsofanana, ane yakatsaurirwa chaiyo network ine throughput yegumi gigabits.

Mumuenzaniso wedu, mazita etiweki emapoka maviri emasumbu ari drbd1 uye drbd2. Kuti ushande kwakaringana, unofanirwa kuenzanisa mazita uye IP kero dzevaenzi mu/etc/hosts.

10.10.10.192 drbd1
10.10.10.193 drbd2

Danho 2. Gadzirisa nodes:

Pamaseva ese ari maviri tinomhanya:

drbdadm create-md drbd0

Kuchengetedzwa kweCluster kwemasumbu madiki ewebhu akavakirwa padrbd+ocfs2

modprobe drbd
drbdadm up drbd0
cat /proc/drbd

Tinowana zvinotevera:

Kuchengetedzwa kweCluster kwemasumbu madiki ewebhu akavakirwa padrbd+ocfs2

Unogona kutanga synchronization. Pane yekutanga node iwe unofanirwa kuita:

drbdadm primary --force drbd0

Ngatitarisei chimiro:

cat /proc/drbd

Kuchengetedzwa kweCluster kwemasumbu madiki ewebhu akavakirwa padrbd+ocfs2

Hukuru, kuwiriranisa kwatanga. Tinomirira kusvika kumagumo uye toona mufananidzo:

Kuchengetedzwa kweCluster kwemasumbu madiki ewebhu akavakirwa padrbd+ocfs2

Nhanho 3. Tanga kuwiriranisa pane yechipiri node:

drbdadm primary --force drbd0

Tinowana zvinotevera:

Kuchengetedzwa kweCluster kwemasumbu madiki ewebhu akavakirwa padrbd+ocfs2

Iye zvino tinogona kunyora kune drbd kubva kumaseva maviri.

Danho 4. Isa uye gadzirisa ocfs2.

Isu tichashandisa zvakaringana zvimiro zvimiro:

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

Inoda kunyorwa pasi mukati /etc/ocfs2/cluster.conf pamanodhi ese ari maviri.

Isu tinogadzira FS pane drbd0 pane chero node:

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

Pano takagadzira faira system ine label testVol pane drbd0, tichishandisa iyo default parameter.

Kuchengetedzwa kweCluster kwemasumbu madiki ewebhu akavakirwa padrbd+ocfs2

Mu /etc/default/o2cb iwe unofanirwa kuseta (sekunge mune yedu yekumisikidza faira)

O2CB_ENABLED=true 
O2CB_BOOTCLUSTER=ocfs2cluster 

uye gadzira pane imwe neimwe node:

o2cb register-cluster ocfs2cluster

Zvadaro tinobatidza uye towedzera mayunitsi ose atinoda kuti autorun:

systemctl enable drbd o2cb ocfs2
systemctl start drbd o2cb ocfs2

Zvimwe zveizvi zvichange zvichitoshanda panguva yekuseta.

Nhanho 5. Wedzera mapoinzi ekukwira kuti fstab pamanodhi ese ari maviri:

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

Directory /media/shared inofanira kugadzirwa pachine nguva.

Pano isu tinoshandisa noauto sarudzo, izvo zvinoreva kuti faira haizogadzirwe pakutanga (Ini ndinosarudza kukwidza network mafaira kuburikidza ne systemd) uye heartbeat = yemunharaunda, zvinoreva kushandisa sevhisi yekurova kwemoyo pane imwe neimwe node. Kune zvakare kurova kwemoyo kwepasirese, kunonyanya kukodzera masumbu makuru.

Next unogona kukwira /media/shared uye tarisa kuwiriranisa kwemukati.

Yakaitwa! Nekuda kweizvozvo, isu tinowana yakawanda kana kushoma kukanganisa-kushivirira kuchengetedza ne scalability uye kuita kwakanaka.

Source: www.habr.com

Voeg