Ibi ipamọ iṣupọ fun awọn iṣupọ wẹẹbu kekere ti o da lori drbd+ocfs2

Kini a yoo sọrọ nipa:
Bii o ṣe le mu ibi ipamọ pinpin ni iyara fun awọn olupin meji ti o da lori awọn ojutu drbd+ocfs2.

Tani eyi yoo wulo fun:
Ikẹkọ yoo wulo fun awọn alakoso eto ati ẹnikẹni ti o yan ọna imuse ibi ipamọ tabi fẹ lati gbiyanju ojutu naa.

Awọn ipinnu wo ni a kọ ati kilode?

Nigbagbogbo a dojukọ ipo kan nibiti a nilo lati ṣe ibi ipamọ pinpin pẹlu iṣẹ ṣiṣe-kikọ to dara lori iṣupọ wẹẹbu kekere kan. A gbiyanju awọn aṣayan pupọ fun imuse ibi ipamọ pinpin fun awọn iṣẹ akanṣe wa, ṣugbọn diẹ ni anfani lati ni itẹlọrun wa lori ọpọlọpọ awọn itọkasi ni ẹẹkan. Bayi a yoo sọ idi rẹ fun ọ.

  • Glusterfs ko ni itẹlọrun wa pẹlu kika ati iṣẹ kikọ; Iṣoro pẹlu awọn faili kika le ṣee yanju nipa iraye si wọn taara lati biriki, ṣugbọn eyi ko wulo nigbagbogbo ati pe ko tọ.

  • Ceph ko fẹran idiju ti o pọ ju, eyiti o le jẹ ipalara lori awọn iṣẹ akanṣe pẹlu awọn olupin 2-4, ni pataki ti iṣẹ akanṣe naa ba jẹ itọju atẹle naa. Lẹẹkansi, awọn idiwọn iṣẹ ṣiṣe to ṣe pataki wa ti o fi ipa mu wa lati kọ awọn iṣupọ ibi ipamọ lọtọ, bii pẹlu awọn glusterfs.

  • Lilo olupin NFS kan lati ṣe ibi ipamọ pinpin gbe awọn ibeere dide ni awọn ofin ti ifarada ẹbi.

  • s3 jẹ ojutu olokiki ti o tayọ fun iwọn awọn iṣẹ ṣiṣe kan, ṣugbọn kii ṣe eto faili kan, eyiti o dinku iwọn rẹ.

  • lsyncd. Ti a ba ti bẹrẹ sọrọ tẹlẹ nipa “awọn ọna ṣiṣe ti kii ṣe faili,” lẹhinna o tọ lati lọ lori ojutu olokiki yii. Kii ṣe nikan ko dara fun paṣipaarọ ọna meji (ṣugbọn ti o ba fẹ gaan, lẹhinna o le), ko tun ṣiṣẹ ni iduroṣinṣin lori nọmba nla ti awọn faili. A dara afikun si ohun gbogbo ni wipe o jẹ nikan-asapo. Idi naa wa ninu faaji ti eto naa: o nlo inotify lati ṣe atẹle awọn nkan iṣẹ ti o yan ni ibẹrẹ ati lakoko atunwo. rsync ti lo bi alabọde gbigbe.

Ikẹkọ: bii o ṣe le mu ibi ipamọ pinpin ti o da lori drbd+ocfs2

Ọkan ninu awọn ojutu ti o rọrun julọ fun wa ni ọna asopọ ocfs2 + drbd. Bayi a yoo sọ fun ọ bi o ṣe le yara gbe ibi ipamọ pinpin fun awọn olupin meji ti o da lori ibi ipamọ data ojutu kan. Ṣugbọn akọkọ, diẹ nipa awọn paati:

DRBD - eto ibi ipamọ lati pinpin Linux boṣewa ti o fun ọ laaye lati ṣe ẹda data laarin awọn olupin ni awọn bulọọki. Ohun elo akọkọ ni lati kọ ibi ipamọ ọlọdun ẹbi.

OCFS2 - eto faili ti o pese lilo pinpin ti ibi ipamọ kanna nipasẹ awọn ọna ṣiṣe pupọ. Ti o wa ninu pinpin Linux ati pe o jẹ module ekuro ati awọn irinṣẹ aaye olumulo fun ṣiṣẹ pẹlu FS. OCFS2 le ṣee lo kii ṣe lori DRBD nikan, ṣugbọn tun lori iSCSI pẹlu awọn asopọ pupọ. Ninu apẹẹrẹ wa a lo DRBD.

Gbogbo awọn iṣe ni a ṣe lori olupin ubuntu 18.04 ni iṣeto ni iwonba.

Igbesẹ 1. Tunto DRBD:

Ninu faili /etc/drbd.d/drbd0.res a ṣe apejuwe ẹrọ idinaki foju wa /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 ti abẹnu - lo awọn ohun elo idina kanna lati tọju metadata
ẹrọ /dev/drbd0 - lo / dev/drbd0 bi ọna si iwọn didun drbd.
disk /dev/vdb1 - lo /dev/vdb1
amuṣiṣẹpọ {oṣuwọn 1000M; } - lo bandiwidi ikanni gigabit
gba-meji-primaries - aṣayan pataki ti o fun laaye awọn ayipada lati gba lori awọn olupin akọkọ meji
lẹhin-sb-0pri, lẹhin-sb-1pri, lẹhin-sb-2pri - awọn aṣayan ti o ni iduro fun awọn iṣe ipade nigba ti a rii pipin ọpọlọ. Awọn alaye diẹ sii ni a le rii ninu iwe-ipamọ naa.
di-primary-lori mejeji - ṣeto awọn apa mejeji si akọkọ.

Ninu ọran wa, a ni awọn VM meji ti o jọra patapata, pẹlu nẹtiwọọki foju kan ti a ṣe iyasọtọ pẹlu iwọnjade ti 10 gigabits.

Ninu apẹẹrẹ wa, awọn orukọ netiwọki ti awọn apa iṣupọ meji jẹ drbd1 ati drbd2. Fun iṣẹ ṣiṣe to dara, o nilo lati baramu awọn orukọ ati adirẹsi IP ti awọn ọmọ-ogun ni /etc/hosts.

10.10.10.192 drbd1
10.10.10.193 drbd2

Igbesẹ 2. Ṣeto awọn apa:

Lori awọn olupin mejeeji a nṣiṣẹ:

drbdadm create-md drbd0

Ibi ipamọ iṣupọ fun awọn iṣupọ wẹẹbu kekere ti o da lori drbd+ocfs2

modprobe drbd
drbdadm up drbd0
cat /proc/drbd

A gba awọn wọnyi:

Ibi ipamọ iṣupọ fun awọn iṣupọ wẹẹbu kekere ti o da lori drbd+ocfs2

O le bẹrẹ imuṣiṣẹpọ. Lori ipade akọkọ o nilo lati ṣiṣẹ:

drbdadm primary --force drbd0

Jẹ ki a wo ipo naa:

cat /proc/drbd

Ibi ipamọ iṣupọ fun awọn iṣupọ wẹẹbu kekere ti o da lori drbd+ocfs2

Nla, amuṣiṣẹpọ ti bẹrẹ. A duro titi de opin ati wo aworan naa:

Ibi ipamọ iṣupọ fun awọn iṣupọ wẹẹbu kekere ti o da lori drbd+ocfs2

Igbesẹ 3. Bẹrẹ amuṣiṣẹpọ lori ipade keji:

drbdadm primary --force drbd0

A gba awọn wọnyi:

Ibi ipamọ iṣupọ fun awọn iṣupọ wẹẹbu kekere ti o da lori drbd+ocfs2

Bayi a le kọ si drbd lati awọn olupin meji.

Igbese 4. Fi sori ẹrọ ati tunto ocfs2.

A yoo lo atunto bintin ti o ṣe deede:

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

O nilo lati kọ sinu /etc/ocfs2/cluster.conf lori mejeji apa.

A ṣẹda FS kan lori drbd0 lori eyikeyi ipade:

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

Nibi a ṣẹda eto faili kan pẹlu aami testVol lori drbd0, ni lilo awọn aye aiyipada.

Ibi ipamọ iṣupọ fun awọn iṣupọ wẹẹbu kekere ti o da lori drbd+ocfs2

Ni / ati be be lo / aiyipada / o2cb o nilo lati ṣeto (bii ninu faili iṣeto wa)

O2CB_ENABLED=true 
O2CB_BOOTCLUSTER=ocfs2cluster 

ki o si ṣiṣẹ lori ipade kọọkan:

o2cb register-cluster ocfs2cluster

Lẹhinna a tan-an ati ṣafikun gbogbo awọn ẹya ti a nilo lati ṣe adaṣe:

systemctl enable drbd o2cb ocfs2
systemctl start drbd o2cb ocfs2

Diẹ ninu eyi yoo ti ṣiṣẹ tẹlẹ lakoko ilana iṣeto.

Igbesẹ 5. Ṣafikun awọn aaye oke si fstab lori awọn apa mejeji:

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

Itọsọna /media/pín o gbọdọ ṣẹda ni ilosiwaju.

Nibi a lo awọn aṣayan noauto, eyiti o tumọ si pe faili ko ni gbe soke ni ibẹrẹ (Mo fẹ lati gbe awọn faili nẹtiwọọki nipasẹ systemd) ati heartbeat=agbegbe, eyiti o tumọ si lilo iṣẹ iṣẹ-ọkan lori ipade kọọkan. Okan ọkan agbaye tun wa, eyiti o dara julọ fun awọn iṣupọ nla.

Nigbamii o le gbe soke /media/pín ati ṣayẹwo amuṣiṣẹpọ akoonu.

Ṣe! Bi abajade, a gba diẹ sii tabi kere si ibi ipamọ ifarada ẹbi pẹlu iwọn ati iṣẹ ṣiṣe to dara.

orisun: www.habr.com

Fi ọrọìwòye kun