Kaydinta kooxda ee kooxo yaryar oo shabakadeed oo ku salaysan drbd+ocfs2

Waxa aan ka hadli doono:
Sida ugu dhakhsaha badan loo geeyo kaydinta la wadaago ee laba adeegayaal oo ku salaysan xalalka drbd+ocfs2.

Yaa tani faa'iido u yeelan doontaa:
Tababarku wuxuu faa'iido u yeelan doonaa maamulayaasha nidaamka iyo qof kasta oo doorta habka hirgelinta kaydinta ama raba inuu tijaabiyo xalka.

Maxaa go’aamo ah oo aan diidnay maxaase sababay?

Badanaa waxaan la kulannaa xaalad aan u baahanahay inaan hirgelino kaydinta la wadaago oo leh waxqabad wax-akhris oo wanaagsan oo ku saabsan koox yar oo shabakad ah. Waxaan isku daynay xulashooyin kala duwan oo lagu hirgelinayo kaydinta la wadaago ee mashaariicdayada, laakiin in yar ayaa awooday inay nagu qanciyaan dhowr tilmaame hal mar. Hadda waxaan kuu sheegi doonaa sababta.

  • Glusterfs nagama qancin wax-akhrinta iyo waxqabadka qoraalka; waxaa jiray dhibaatooyin la xiriira akhrinta isku mar ee tiro badan oo faylal ah, waxaana jiray culeys sare oo CPU ah. Dhibaatada akhrinta faylasha waxa lagu xalin karaa in si toos ah looga helo leben, laakiin tani mar walba ma khusayso oo guud ahaan waa khalad.

  • Ceph ma jeclayn kakanaanta xad-dhaafka ah, taas oo waxyeello u geysan karta mashaariicda leh 2-4 server, gaar ahaan haddii mashruuca la sii wado. Mar labaad, waxaa jira xaddidaadyo waxqabad oo halis ah oo nagu qasbaya inaan dhisno kooxo kaydineed oo gaar ah, sida glusterfs.

  • Isticmaalka hal server NFS si loo hirgeliyo kaydinta la wadaago waxay kor u qaadaysaa su'aalaha xagga dulqaadka qaladka.

  • s3 waa xal caan ah oo aad u wanaagsan oo loogu talagalay hawlo kala duwan, laakiin maaha nidaam faylal ah, kaas oo soo koobaya baaxaddiisa.

  • lsyncd. Haddii aan horeyba u bilownay inaan ka hadalno "nidaamyada aan faylka ahayn", markaa waxaa habboon in la dhaafo xalkan caanka ah. Ma aha oo kaliya kuma habboona isweydaarsiga laba-geesoodka ah (laakiin haddii aad runtii rabto, markaa waad awoodaa), sidoo kale kuma shaqeyso si adag oo tiro badan oo faylasha ah. Ku-darka wanaagsan ee wax walba oo dhan waa in uu yahay hal-threaded. Sababtu waxay ku jirtaa qaab dhismeedka barnaamijka: waxay isticmaashaa inotify si ay ula socoto walxaha shaqada, taas oo ay ku meelayso bilawga iyo inta lagu jiro dib-u-eegista. rsync waxaa loo isticmaalaa sidii dhexdhexaadiyaha wareejinta.

Tababar: sida loo geeyo kaydinta la wadaago ee ku salaysan drbd+ocfs2

Mid ka mid ah xalalka ugu habboon annaga ayaa ahaa isku xirka ocfs2+drbd. Hadda waxaan kuu sheegi doonaa sida aad si dhakhso ah u geyn karto kaydinta la wadaago ee laba server oo ku salaysan xogta xalalka. Laakiin marka hore, wax yar oo ku saabsan qaybaha:

DRBD - Nidaamka kaydinta ee qaybinta caadiga ah ee Linux kaas oo kuu ogolaanaya inaad ku celceliso xogta u dhaxaysa server-yada blocks. Codsiga ugu muhiimsan waa in la dhiso kaydinta u dulqaadanaysa cilladaha.

OCFS2 - nidaam faylal ah oo bixiya isticmaalka la wadaago ee kaydinta isku midka ah dhowr habab. Waxaa ku jira qaybinta Linux oo waa moduleka kernel iyo aaladaha goobta isticmaale ee la shaqaynta FS. OCFS2 looma isticmaali karo kaliya DRBD, laakiin sidoo kale waxaa loo isticmaali karaa iSCSI oo leh xiriiro badan. Tusaalahayaga waxaan isticmaalnaa DRBD.

Dhammaan ficillada waxaa lagu sameeyaa ubuntu server 18.04 qaabeynta ugu yar.

Tallaabada 1. Habbee DRBD:

Faylka /etc/drbd.d/drbd0.res waxaan ku qeexnay aaladdayada block-ga ah /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 gudaha - Isticmaal qalab isku mid ah block si aad u kaydiso xogta badan
qalab /dev/drbd0 u isticmaal /dev/drbd0 sidii dariiqa loo maro mugga drbd.
disk /dev/vdb1 - isticmaal /dev/vdb1
syncer {heerka 1000M; } - Isticmaal bandwidth kanaalka gigabit
oggolow-laba-hordhac - ikhtiyaar muhiim ah oo u oggolaanaya isbeddelada in lagu aqbalo laba server oo aasaasi ah
kadib-sb-0pri, kadib-sb-1pri, kadib-sb-2pri - ikhtiyaarrada mas'uul ka ah falalka noode marka la ogaado kala qaybsanaanta maskaxda. Faahfaahin dheeraad ah ayaa laga heli karaa dukumeentiyada.
noqdaan-primary-labadaba - wuxuu dhigayaa labada nooda ilaa hoose.

Xaaladeena, waxaan haysanaa laba VM oo isku mid ah, oo leh shabakad farsamaysan oo go'an oo leh 10 gigabits.

Tusaalahayaga, magacyada shabakadaha labada qanjidhada kooxeed waa drbd1 iyo drbd2. Hawlgalka saxda ah, waxaad u baahan tahay inaad ku habboonaato magacyada iyo cinwaannada IP-ga ee martida loo yahay /etc/hosts.

10.10.10.192 drbd1
10.10.10.193 drbd2

Tallaabada 2. Samee noodhka:

Labada server waxaan ku wadnaa:

drbdadm create-md drbd0

Kaydinta kooxda ee kooxo yaryar oo shabakadeed oo ku salaysan drbd+ocfs2

modprobe drbd
drbdadm up drbd0
cat /proc/drbd

Waxaan helnaa kuwa soo socda:

Kaydinta kooxda ee kooxo yaryar oo shabakadeed oo ku salaysan drbd+ocfs2

Waxaad bilaabi kartaa wada shaqayn Noolka koowaad waxaad u baahan tahay inaad fuliso:

drbdadm primary --force drbd0

Aynu eegno heerka:

cat /proc/drbd

Kaydinta kooxda ee kooxo yaryar oo shabakadeed oo ku salaysan drbd+ocfs2

Way fiicantahay, wada shaqayntu way bilaabatay. Waxaan sugeynaa ilaa dhamaadka oo arag sawirka:

Kaydinta kooxda ee kooxo yaryar oo shabakadeed oo ku salaysan drbd+ocfs2

Talaabada 3. Ku billow isku-dubbaridka qanjirka labaad:

drbdadm primary --force drbd0

Waxaan helnaa kuwa soo socda:

Kaydinta kooxda ee kooxo yaryar oo shabakadeed oo ku salaysan drbd+ocfs2

Hadda waxaan u qori karnaa drbd laba server.

Tallaabada 4. Ku rakib oo habee ocfs2.

Waxaan isticmaali doonaa qaabeynta si cadaalad ah oo fudud:

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

Waxay u baahan tahay in lagu qoro /etc/ocfs2/cluster.conf labada nooda.

Waxaan ku abuureynaa FS drbd0 node kasta:

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

Halkan waxaan ku abuurnay nidaam faylal leh sumadda testVol ee drbd0, anagoo adeegsanayna cabbirada caadiga ah.

Kaydinta kooxda ee kooxo yaryar oo shabakadeed oo ku salaysan drbd+ocfs2

Gudaha /etc/default/o2cb waxaad u baahan tahay inaad dejiso (sida ku jirta faylka qaabeynta)

O2CB_ENABLED=true 
O2CB_BOOTCLUSTER=ocfs2cluster 

oo ku samee noodh kasta:

o2cb register-cluster ocfs2cluster

Ka dib waanu shidnaa oo ku darnaa dhammaan cutubyada aan u baahannahay si aan autorunka u shaqeyno:

systemctl enable drbd o2cb ocfs2
systemctl start drbd o2cb ocfs2

Qaar ka mid ah kuwan ayaa horeba u socon doona inta lagu jiro habka dejinta.

Talaabada 5. Ku dar dhibcaha dulsaarka fstab ee labada nood:

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

Hagaha /warbaahinta/la wadaago waa in hore loo abuuraa.

Halkan waxaan ku isticmaalnaa ikhtiyaarka noauto, taas oo macnaheedu yahay in faylka aan lagu dhejin doonin bilowga (waxaan doorbidaa inaan ku dhejiyo faylasha shabakada adoo isticmaalaya systemd) iyo garaaca wadnaha = maxalli, taas oo macnaheedu yahay isticmaalka adeega garaaca wadnaha ee nood kasta. Waxa kale oo jira garaaca wadnaha caalamiga ah, kaas oo aad ugu habboon kooxo waaweyn.

Marka xigta waad fuuli kartaa /warbaahinta/la wadaago oo hubi wada shaqaynta nuxurka.

Doon! Natiijadu waxay tahay, waxaan helnaa kayd badan ama kayar oo u dulqaadan kara qaladka oo leh miisaan iyo waxqabad hufan.

Source: www.habr.com

Add a comment