Stòradh brabhsair airson cruinneachaidhean lìn beaga stèidhichte air drbd + ocfs2

Dè a bhios sinn a 'bruidhinn mu dheidhinn:
Mar a chleachdas tu stòradh co-roinnte gu sgiobalta airson dà fhrithealaiche stèidhichte air fuasglaidhean drbd + ocfs2.

Cò dha a bhios seo feumail:
Bidh an oideachadh feumail do luchd-rianachd an t-siostaim agus do dhuine sam bith a thaghas dòigh buileachaidh stòraidh no a tha airson am fuasgladh fheuchainn.

Dè na co-dhùnaidhean a dhiùlt sinn agus carson?

Gu math tric tha sinn mu choinneimh suidheachadh far am feum sinn stòradh co-roinnte a chuir an gnìomh le deagh choileanadh leughaidh-sgrìobhaidh air cruinneachadh lìn beag. Dh’ fheuch sinn ri diofar roghainnean airson stòradh co-roinnte a chuir an gnìomh airson ar pròiseactan, ach cha robh mòran comasach air ar sàsachadh air grunn chomharran aig an aon àm. A-nis innsidh sinn dhut carson.

  • Cha do shàsaich Glusterfs sinn le coileanadh leughaidh is sgrìobhaidh; bha duilgheadasan ann le leughadh àireamh mhòr de fhaidhlichean aig an aon àm, agus bha tòrr luchd air an CPU. Dh’ fhaodadh an duilgheadas le leughadh fhaidhlichean a bhith air fhuasgladh le bhith faighinn thuca gu dìreach bho bhreigichean, ach chan eil seo an-còmhnaidh iomchaidh agus sa chumantas tha e ceàrr.

  • Cha bu toil le Ceph an cus iom-fhillteachd, a dh’ fhaodadh a bhith cronail air pròiseactan le frithealaichean 2-4, gu sònraichte ma thèid am pròiseact a chumail suas às deidh sin. A-rithist, tha fìor chuingealachaidhean coileanaidh ann a bheir oirnn cruinneachaidhean stòraidh fa leth a thogail, mar a tha ann an glusterfs.

  • Le bhith a’ cleachdadh aon fhrithealaiche NFS gus stòradh co-roinnte a chuir an gnìomh tha sin a’ togail cheistean a thaobh fulangas sgàinidhean.

  • Tha s3 na fhuasgladh mòr-chòrdte airson raon sònraichte de ghnìomhan, ach chan e siostam faidhle a th’ ann, a tha a ’caolachadh a raon.

  • lsyncd. Ma tha sinn mu thràth air tòiseachadh a’ bruidhinn mu dheidhinn “siostaman neo-fhaidhlichean,” is fhiach a dhol thairis air an fhuasgladh mòr-chòrdte seo. Chan e a-mhàin nach eil e freagarrach airson iomlaid dà-shligheach (ach ma tha thu dha-rìribh ag iarraidh, faodaidh tu), chan eil e cuideachd ag obair gu seasmhach air àireamh mhòr de fhaidhlichean. Is e deagh chur ris an rud gu lèir gu bheil e aon-snàthainn. Tha an adhbhar ann an ailtireachd a’ phrògraim: bidh e a’ cleachdadh inotify gus sùil a chumail air nithean obrach, a bhios e a’ sònrachadh aig toiseach tòiseachaidh agus rè ath-sganadh. Tha rsync air a chleachdadh mar mheadhan gluasaid.

Oideachadh: mar a chleachdas tu stòradh co-roinnte stèidhichte air drbd+ocfs2

B’ e an ceangal aon de na fuasglaidhean as freagarraiche dhuinn ocfs2+drbd. A-nis innsidh sinn dhut mar as urrainn dhut stòradh co-roinnte a chuir gu sgiobalta airson dà fhrithealaiche stèidhichte air stòr-dàta fuasglaidh. Ach an toiseach, beagan mu na co-phàirtean:

DRBD - siostam stòraidh bhon sgaoileadh àbhaisteach Linux a leigeas leat dàta ath-riochdachadh eadar frithealaichean ann am blocaichean. Is e am prìomh thagradh a bhith a’ togail stòradh a tha fulang le lochdan.

OCFS2 - siostam faidhle a bheir seachad cleachdadh co-roinnte den aon stòradh le grunn shiostaman. Air a ghabhail a-steach ann an cuairteachadh Linux agus tha e na mhodal kernel agus innealan àite luchd-cleachdaidh airson a bhith ag obair leis an FS. Faodar OCFS2 a chleachdadh chan ann a-mhàin thairis air DRBD, ach cuideachd thairis air iSCSI le ioma-cheangal. Anns an eisimpleir againn bidh sinn a’ cleachdadh DRBD.

Thèid a h-uile gnìomh a dhèanamh air frithealaiche ubuntu 18.04 ann an rèiteachadh as lugha.

Ceum 1. Dèan rèiteachadh air DRBD:

Anns an fhaidhle /etc/drbd.d/drbd0.res tha sinn a’ toirt cunntas air an inneal bloc mas-fhìor againn /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-diosc a-staigh - cleachd na h-aon innealan bloca gus meata-dàta a stòradh
inneal /dev/drbd0 - cleachd / dev/drbd0 mar an t-slighe gu tomhas-lìonaidh drbd.
diosg /dev/vdb1 - cleachd /dev/vdb1
sioncronaich {ìre 1000M; } - cleachd leud-bann seanail gigabit
ceadaich-dà-bhun-sgoil - roghainn chudromach a leigeas le atharrachaidhean gabhail ris air dà phrìomh fhrithealaiche
às dèidh-sb-0pri, às dèidh-sb-1pri, an dèidh-sb-2pri - roghainnean le uallach airson gnìomhan an nód nuair a lorgar splitbrain. Gheibhear barrachd mion-fhiosrachaidh anns na sgrìobhainnean.
fàs sa bhun-sgoil - air an dà chuid - a’ suidheachadh an dà nod gu bun-sgoil.

Anns a’ chùis againn, tha dà VM a tha gu tur co-ionann againn, le lìonra brìgheil sònraichte le tar-chur de 10 gigabits.

Anns an eisimpleir againn, is e ainmean lìonra dà nod brabhsair drbd1 agus drbd2. Airson obrachadh ceart, feumaidh tu a bhith a’ maidseadh ainmean agus seòlaidhean IP luchd-aoigheachd ann an /etc/hosts.

10.10.10.192 drbd1
10.10.10.193 drbd2

Ceum 2. Stèidhich nodan:

Air an dà fhrithealaiche bidh sinn a’ ruith:

drbdadm create-md drbd0

Stòradh brabhsair airson cruinneachaidhean lìn beaga stèidhichte air drbd + ocfs2

modprobe drbd
drbdadm up drbd0
cat /proc/drbd

Gheibh sinn na leanas:

Stòradh brabhsair airson cruinneachaidhean lìn beaga stèidhichte air drbd + ocfs2

Faodaidh tu tòiseachadh air sioncronadh. Air a 'chiad nód feumaidh tu a chur an gnìomh:

drbdadm primary --force drbd0

Bheir sinn sùil air an t-suidheachadh:

cat /proc/drbd

Stòradh brabhsair airson cruinneachaidhean lìn beaga stèidhichte air drbd + ocfs2

Sgoinneil, tha sioncronadh air tòiseachadh. Bidh sinn a 'feitheamh gus an deireadh agus faic an dealbh:

Stòradh brabhsair airson cruinneachaidhean lìn beaga stèidhichte air drbd + ocfs2

Ceum 3. Tòisich synchronization air an dàrna nód:

drbdadm primary --force drbd0

Gheibh sinn na leanas:

Stòradh brabhsair airson cruinneachaidhean lìn beaga stèidhichte air drbd + ocfs2

A-nis is urrainn dhuinn sgrìobhadh gu drbd bho dhà fhrithealaiche.

Ceum 4. Stàlaich agus rèitich ocfs2.

Cleachdaidh sinn rèiteachadh gu math beag:

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

Feumaidh e bhith air a sgrìobhadh sìos ann an /etc/ocfs2/cluster.conf air an dà phuing.

Bidh sinn a’ cruthachadh FS air drbd0 air nód sam bith:

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

An seo chruthaich sinn siostam faidhle leis an leubail testVol air drbd0, a’ cleachdadh nam paramadairean bunaiteach.

Stòradh brabhsair airson cruinneachaidhean lìn beaga stèidhichte air drbd + ocfs2

Ann an /etc/default/o2cb feumaidh tu a shuidheachadh (mar a tha san fhaidhle rèiteachaidh againn)

O2CB_ENABLED=true 
O2CB_BOOTCLUSTER=ocfs2cluster 

agus cuir an gnìomh air gach nod :

o2cb register-cluster ocfs2cluster

An uairsin bidh sinn a 'tionndadh air agus a' cur ris na h-aonadan gu lèir a dh'fheumas sinn airson fèin-ruith:

systemctl enable drbd o2cb ocfs2
systemctl start drbd o2cb ocfs2

Bidh cuid den seo mar-thà a’ ruith tron ​​phròiseas rèiteachaidh.

Ceum 5. Cuir puingean sreap ri fstab air an dà nod:

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

Eòlaire /meadhanan/co-roinnte feumar a chruthachadh ro làimh.

An seo bidh sinn a’ cleachdadh na roghainnean noauto, a tha a’ ciallachadh nach tèid am faidhle a chuir suas aig toiseach tòiseachaidh (is fheàrr leam faidhlichean lìonra a chuir suas tro systemd) agus heartbeat = local, a tha a’ ciallachadh a bhith a’ cleachdadh an t-seirbheis buille cridhe air gach nód. Tha buille cridhe cruinne ann cuideachd, a tha nas freagarraiche airson cruinneachaidhean mòra.

An uairsin faodaidh tu a chuir suas /meadhanan/co-roinnte agus thoir sùil air sioncronadh susbaint.

Done! Mar thoradh air an sin, bidh sinn a’ faighinn barrachd no nas lugha de stòradh a tha fulangach air lochdan le scalability agus coileanadh reusanta.

Source: www.habr.com

Cuir beachd ann