Stóráil braisle do bhraislí gréasáin beaga bunaithe ar drbd+ocfs2

Cad a bheidh muid ag caint faoi:
Conas stóráil roinnte a imscaradh go tapa do dhá fhreastalaí bunaithe ar réitigh drbd+ocfs2.

Cé dó a mbeidh sé seo úsáideach:
Beidh an teagaisc úsáideach do riarthóirí córais agus do dhuine ar bith a roghnaíonn modh cur chun feidhme stórála nó atá ag iarraidh an réiteach a thriail.

Cad iad na cinntí ar dhiúltaigh muid agus cén fáth?

Is minic go mbíonn orainn aghaidh a thabhairt ar chás ina gcaithfimid stóráil chomhroinnte a chur i bhfeidhm le feidhmíocht mhaith léite-scríofa ar bhraisle beag gréasáin. Bhaineamar triail as roghanna éagsúla chun stóráil chomhroinnte a chur i bhfeidhm dár dtionscadail, ach is beag duine a bhí in ann sinn a shásamh ar roinnt táscairí ag an am céanna. Anois inseoimid duit cén fáth.

  • Níor shásaigh Glusterfs muid maidir le feidhmíocht léitheoireachta agus scríbhneoireachta; D'fhéadfaí an fhadhb le comhaid a léamh a réiteach trí rochtain a fháil orthu go díreach ó bríce, ach níl sé seo infheidhme i gcónaí agus go ginearálta tá sé mícheart.

  • Níor thaitin an chastacht iomarcach le Ceph, rud a d'fhéadfadh a bheith díobhálach ar thionscadail le freastalaithe 2-4, go háirithe má dhéantar an tionscadal a chothabháil ina dhiaidh sin. Arís, tá teorainneacha feidhmíochta tromchúiseacha ann a chuireann iallach orainn braislí stórála ar leith a thógáil, mar atá le glusterfs.

  • Trí fhreastalaí NFS amháin a úsáid chun stóráil chomhroinnte a chur i bhfeidhm ardaítear ceisteanna maidir le lamháltas lochtanna.

  • Is réiteach tóir den scoth é s3 do raon áirithe tascanna, ach ní córas comhaid é, rud a chaolaíonn a raon feidhme.

  • lsyncd. Má tá tús curtha againn cheana féin ag caint faoi “córais neamhchomhaid,” is fiú dul thar an réiteach móréilimh seo. Ní hamháin nach bhfuil sé oiriúnach le haghaidh malartú dhá bhealach (ach más mian leat i ndáiríre, ansin is féidir leat), ní oibríonn sé go cobhsaí ar líon mór comhad freisin. Rud deas le gach rud ná go bhfuil sé aon-snáithithe. Is é an chúis in ailtireacht an chláir: úsáideann sé inotify chun monatóireacht a dhéanamh ar rudaí oibre a sannann sé ag am tosaithe agus le linn athscanadh. úsáidtear rsync mar mheán aistrithe.

Teagaisc: conas stóráil roinnte a imscaradh bunaithe ar drbd+ocfs2

Ba é ceann de na réitigh is áisiúla dúinn an nasc ocfs2+drbd. Anois inseoimid duit conas is féidir leat stóráil roinnte a imscaradh go tapa ar feadh dhá fhreastalaí bunaithe ar bhunachar sonraí réitigh. Ach ar dtús, beagán faoi na comhpháirteanna:

DRBD - córas stórála ón dáileadh caighdeánach Linux a ligeann duit sonraí a mhacasamhlú idir freastalaithe i mbloic. Is é an príomh-iarratas ná stóráil locht-fhulangach a thógáil.

OCFS2 - córas comhad a sholáthraíonn úsáid chomhroinnte as an stóras céanna ag roinnt córas. San áireamh i ndáileadh Linux agus is modúl eithne é agus uirlisí spáis úsáideora chun oibriú leis an FS. Is féidir OCFS2 a úsáid ní hamháin thar DRBD, ach freisin thar iSCSI le naisc iolracha. Inár sampla úsáidimid DRBD.

Déantar gach gníomh ar fhreastalaí ubuntu 18.04 i gcumraíocht íosta.

Céim 1. Cumraigh DRBD:

Sa chomhad /etc/drbd.d/drbd0.res déanaimid cur síos ar ár ngléas bloc fíorúil /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;
}
}

meitea-diosca inmheánach — bain úsáid as na blocghléasanna céanna chun meiteashonraí a stóráil
gléas /dev/drbd0 — úsáid /dev/drbd0 mar an cosán go dtí an toirt drbd.
diosca /dev/vdb1 - úsáid /dev/vdb1
sioncróir { ráta 1000M; } — bain úsáid as bandaleithead cainéal gigabit
cheadaigh-dhá-bunscoileanna - rogha thábhachtach a cheadaíonn athruithe a ghlacadh ar dhá phríomhfhreastalaí
iar-sb-0pri, iar-sb-1pri, iar-sb-2pri — roghanna atá freagrach as gníomhaíochtaí an nód nuair a bhraitear splitbrain. Is féidir tuilleadh sonraí a fháil sna doiciméid.
éirí bunscoile-ar an dá — leagann sé an dá nód go dtí an bhunscolaíocht.

Inár gcás, tá dhá VM comhionann go hiomlán againn, le líonra fíorúil tiomnaithe le tréchur de 10 gigabits.

Inár sampla, is iad drbd1 agus drbd2 ainmneacha líonra dhá nód braisle. Chun oibriú ceart, ní mór duit ainmneacha agus seoltaí IP na n-óstach in /etc/hosts a mheaitseáil.

10.10.10.192 drbd1
10.10.10.193 drbd2

Céim 2. Socraigh nóid:

Ar an dá fhreastalaí a ritheann muid:

drbdadm create-md drbd0

Stóráil braisle do bhraislí gréasáin beaga bunaithe ar drbd+ocfs2

modprobe drbd
drbdadm up drbd0
cat /proc/drbd

Faighimid na rudaí seo a leanas:

Stóráil braisle do bhraislí gréasáin beaga bunaithe ar drbd+ocfs2

Is féidir leat sioncrónú a thosú. Ar an gcéad nód is gá duit a fhorghníomhú:

drbdadm primary --force drbd0

Breathnaímid ar an stádas:

cat /proc/drbd

Stóráil braisle do bhraislí gréasáin beaga bunaithe ar drbd+ocfs2

Go hiontach, tá tús curtha le sioncrónú. Táimid ag fanacht go dtí an deireadh agus an pictiúr a fheiceáil:

Stóráil braisle do bhraislí gréasáin beaga bunaithe ar drbd+ocfs2

Céim 3. Tosaigh sioncrónaithe ar an dara nód:

drbdadm primary --force drbd0

Faighimid na rudaí seo a leanas:

Stóráil braisle do bhraislí gréasáin beaga bunaithe ar drbd+ocfs2

Anois is féidir linn scríobh chuig drbd ó dhá fhreastalaí.

Céim 4. Suiteáil agus cumraigh ocfs2.

Bainfimid úsáid as cumraíocht measartha fánach:

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

Ní mór é a scríobh síos i /etc/ocfs2/cluster.conf ar an dá nód.

Cruthaímid FS ar drbd0 ar aon nód:

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

Anseo chruthaíomar córas comhaid leis an lipéad testVol ar drbd0, ag baint úsáide as na paraiméadair réamhshocraithe.

Stóráil braisle do bhraislí gréasáin beaga bunaithe ar drbd+ocfs2

In /etc/default/o2cb ní mór duit a shocrú (mar atá inár gcomhad cumraíochta)

O2CB_ENABLED=true 
O2CB_BOOTCLUSTER=ocfs2cluster 

agus rith ar gach nód:

o2cb register-cluster ocfs2cluster

Ansin cuirimid ar siúl agus cuirimid na haonaid go léir a theastaíonn uainn chun uath-rith a dhéanamh:

systemctl enable drbd o2cb ocfs2
systemctl start drbd o2cb ocfs2

Beidh cuid de seo ar siúl cheana féin le linn an phróisis socraithe.

Céim 5. Cuir pointí feistithe le fstab ar an dá nód:

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

Eolaire /meáin/roinnte ní mór é a chruthú roimh ré.

Anseo úsáidimid na roghanna noauto, rud a chiallaíonn nach mbeidh an comhad gléasta ag am tosaithe (is fearr liom comhaid líonra a shuiteáil trí systemd) agus heartbeat = local, rud a chiallaíonn go n-úsáidfear an tseirbhís buille croí ar gach nód. Tá buille croí domhanda ann freisin, atá níos oiriúnaí do bhraislí móra.

Ansin is féidir leat mount /meáin/roinnte agus seiceáil sioncrónaithe inneachair.

Arna dhéanamh! Mar thoradh air sin, faigheann muid stóráil locht-fhulangach níos mó nó níos lú le hinscálaitheacht agus feidhmíocht mhaith.

Foinse: will.com

Add a comment