Հիբրիդային համակարգերը և համաժամացումը
Live ռեզյումե
Ալյումինի համակարգը ամբողջականության, արտադրողականության և վիրահատությունների հավասարակշռությունն է։ Համաժամացումը ինտեգրման մոդելի և հակամարտությունների լուծման մասին է, ոչ միայն «ֆայլերը պատճենել»։ Մենք սկսում ենք պահանջներից (p95 latency, RPO/RTO, բեռի տեսակը), ընտրում ենք FS-ը և արձանագրությունը, տեղադրում սուրհանդակը և արգելափակումը, տալիս SLO-ն, ավտոմատիզացնում սարքավորումները/տարբերակումը և օգտագործում ենք ճիշտ համաժամացման գործիքներ։
Ռուսական համակարգի ընտրությունը բեռի տակ
Համընդհանուր Linux FS FS
ext4 կայուն «աշխատանքային ձի» է։ Տարբերակները ՝
XIV-ը ուժեղ է մեծ ֆայլերում/զուգահեռ (մեդիա, լոգներ, MSH)։ Տարբերակներ ՝ «www.atime, inode64»; մեծ ֆայլերի տակ արժե տեղադրել "reflink = 1 '(clone)։
ZMS-ը CoW-ն է, ամբողջականության ստուգումը, դիպուկահարները/կրկնօրինակը 'send/recv ", ARC/L2ARC, ZIL/SLOG nc-ի համար։ Հիանալի է Բեքապների, NAS-ի, հիմնական փամփուշտների համար, որոնք պահանջում են ամբողջականություն։
Btram-CoW, դիպուկահարներ/սեղմում/IV userspace; լավ է dev/test և edge, ավելի զգույշ է OLTP-ի համար առանց թյունինգի։
Windows/crossplatford
NTSA-ACL, ADS-ը, SMB-ի համար հուսալի է; «Lentault Lance You» արտադրողականության համար։
exFAT-ը նկարահանող կրողներ են, առանց իրավունքների և ամսագրերի (ոչ թե այլն)։
Lenta.ru, որոնք ազդում են շարժիչների և արագության վրա
Սուրհանդակը և խոչընդոտները ՝ «07 = ordered» (ext4 լռելյայն) - հավասարակշռություն; «07 = journal» - ավելի ապահով, բայց դանդաղ; համոզվել, որ write barriers ներառված են (կամ վերահսկիչ BBU/PLP)։
fsync/www.nc: կրիտիկական հոսքերը (ամսագրեր/գործարքներ) պետք է հստակ զանգահարեն «fsync ()»; հակառակ դեպքում դժբախտ պատահարների կորուստը հնարավոր է։
atime: "relatime '/" ww.atime" նվազեցնում է write ճնշումը։
xattr/ACL: Միացրեք, եթե անհրաժեշտ է POSIX ACL-ը և անվտանգության ապահովումը։
Բլոկների չափսը/recordsize: ZMS 'recordsize = 16K' մեծ լրատվամիջոցների համար։
Տեղադրման օրինակներ
bash ext4 for CI artifacts
UUID=... /var/lib/ci ext4 noatime,nodev,nosuid,data=ordered 0 2
XFS for Media Directories
UUID=... /srv/media xfs noatime,attr2,inode64 0 0
ZFS for backups and snapshots (creation)
zpool create tank mirror nvme0n1 nvme1n1 zfs set compression=lz4 atime=off tank/backups
Ցանցային և բաշխված ալյումինե համակարգերը
NMS/SMB (NAS մոտեցում)
NMS v3/v4: Պարզապես և արագ; v4 տալիս է և Kerberos («sec = krb5p»)։ Մի ապավինեք NFC-ին բարձր հաճախականության «խորը» fsync-ի համար, ավելի լավ է տեղական սկավառակը + ասինխրոն բեռնումը։
SMB 3. x: multichannel, կոդավորումը, ինտեգրումը AD-ի հետ։ Միացրեք ստորագրումը/կոդավորումը զգայուն տվյալների վրա։
NFC էքսպորտը (նվազագույն)
/pool/projects 10. 0. 0. 0/16(rw,no_root_squash,sec=krb5p,async)
SMB (հատված)
[reports]
path = /pool/reports read only = no vfs objects = acl_xattr, recycle smb encrypt = required
Բաշխված FS
CephFS-ը POSIX-ն է Ceph-ի վերևում։ լավ է հորիզոնական մասշտաբի, կեղևի, քվոուտների, մետատվյալների համար։
GlusterFS-ը մեկնարկում է, կրկնօրինակը/շարդինգը, բայց կոկիկ փոքր ֆայլերով և p99։
Lustre/IBM Spectrum Scale-ը SSA/մեծ ֆայլեր է, որոնք պահանջում են ցանցին/։
9P (Virtio-fs) - VM-շերինգի համար, ոչ թե կոշտ SLO-ի հետ պրոդ-բեռի համար։
Առաջարկություն ՝ OLTP/դրամապանակների համար - ոչ ցանցային FS; օգտագործեք բլոկային հատորները։ Ստատիկ բովանդակության/ընդհանուր արտեֆակտների համար 'NMS/SMB/օբյեկտի + CDN։
Արգելափակումը, քերծումը և ներդաշնակությունը
Advisory vs mandatory locks: Linux обычно advisory; SMB աջակցում է oplocks/leases, NMS v4 - stateful winks։
Հաճախորդի քեշինգը 'ագրեսիվ կեշները արագացնում են կարդալը, բայց մուլտֆիլմի հաճախորդների դեպքում ավելացնում են հակամարտությունների ռիսկը։
Համաձայնություն
Strong (տեղական FS, ZMS)։
Close-to-open (NFC), փոփոխությունները տեսանելի են «close ()/open ()»։
Eventa.ru (որոշ բաշխված/օբյեկտի սցենարներ)։
Ժամացույց ՝ NTP/PTP; Ժամանակի դրեյֆը կոտրում է հակամարտությունը և TTL-ը։
Համաժամեցում 'մոդելներ և գործիքներ
Մոդելներ
One-way (push/pox) 'արտեֆակտների հրապարակումը, բեռնումը, www.site-bakap։
Two-way (bi-dir) 'միասին աշխատանք; կոնֆլիկտ է պահանջում և տարբերակումը։
Hub-and-spoke: աստղ կենտրոնական հանգույցի/կլաստերի միջոցով (MinIO/S3 + 105)։
Near-real-time vs batch: inotify/loga vs փոփոխման պարբերական պատուհաններ։
Գործիքներ
rsync-de-factone-way; «--delete», «---partial», «--inplace» (զգուշավոր)։
rclone - S3/ամպեր, հեշի ստուգում, սերվերային side copy։
Unison-ը www.bi-entional-ն է, հակամարտությունների լուծումը։
Syncthing-ը p2p է, տարբերակումը, հարմար է աշխատողների համար։
lsyncd - rsync trger inotify; near-real-time.
ZMS send/recv-ը իդեալական «կապույտ» դիպուկահարներ/ռետեսներ (բայթո արդյունավետ)։
rsync (one-way, ստատիկ խմբագրության հրապարակումը)
bash rsync -az --delete --numeric-ids --partial --inplace \
/srv/builds/ user@edge:/var/www/builds/
Unison (bi-dir, պրոֆիլը)
root =/srv/shared root = ssh ://user @ peer//srv/shared prefer =/srv/shared # in case of conflict - local side repeat = watch # inotify ignore = Name. tmp
lsyncd (near-real-time rsync)
lua settings { logfile="/var/log/lsyncd. log", statusFile="/var/run/lsyncd. status" }
sync {
default. rsync,
source="/srv/outbox",
target="user@remote:/srv/inbox",
rsync={ archive=true, compress=true, delete=true }
}
ZMS կրկնօրինակը (Eurement)
bash zfs snapshot tank/data@now zfs send -i tank/data@prev tank/data@now ssh backup zfs recv -F backup/data
Տարբերակումը, դիպուկահարները և «զամբյուղները»
CoW (ZMS/Btrance/CephFS) - արագ արձագանքման կետեր, որոնք տեղադրված են։
Ծրագրի մակարդակում տարբերակումը (Nextcloud/Winncthing/օբյեկտի) հարմար է օգտագործողների համար։
Զամբյուղները/զամբյուղները SMB/NMS-ում, փախչում են պատահական հիվանդությունից, բայց չեն փոխարինում բեքապին։
Անվտանգություն և հասանելիություն
ACL և xattr: POSIX ACL, SID/ACE SMB, mapping uid/gid։
Կարդացեք/ձայնագրությունը դարպասի միջոցով 'SFTP/HTTPS/WinDAV, երբ դուք չեք կարող բացել SMB/NMS արտաքին։
Կոդավորումը ՝ LUKS/ZMS native; Թռիչքում 'Kerberos (NMS v4), SMB encryption, TBS դարպասի համար։
PII/complaens: Գնդակների հատվածը, իրավունքների խիստ դիմակները, հասանելիության աուդիտները, WORM-ը, որտեղ անհրաժեշտ է անփոփոխ։
Դիտարկումը, SLO և alerta
Метрики ФС: p95/p99 latency (read/write/open), IOPS, qdepth, cache hit, inode usage, fill-level, errors (EIO/ENOSPC).
Ցանցային մետրերը (NMS/SMB) ՝ retransmits/drops, RPC RTT, oplock breaks, queue length։
SLO (օրինակներ)
NMS-գնդակը CI: p95 'open '/' read' 353-5, հասանելիությունը 3699։ 95%.
SMB զեկույցները ՝ p95 listing No. 100 Ms, 10k ֆայլերի/dir։
ZMS փամփուշտներ 'p99 ձայնագրություն թիվ 10 մզ, 100%, RPO 3515 րոպե (redrects)։
Ալերտա
Փամփուշտի լցումը> 80/90/95 տոկոսը, «EIO» աճը, դիպուկահարների լագը, hit-ratio անկումը, հաճախակի oplock-break։
Ապրանքի համար (iGaming/fintech)
Ստատիկա (iconki/provice/prower և պրովայդերներ) 'հրատարակություն rsync no CDN; պահել բնօրինակը օբյեկտի մեջ 'տարբերակով։
Լոգները և «հում» իրադարձությունները. Գրել տեղական (XIV/ext4) նախատեսվում է բատչորեն բեռնել (rclone no S3/MinIO)։
Հաշվետվությունները և PII: SMB ծածկագրերով և կառուցվածքով ACL; պարբերական էքսպորտը (ZMS send/recv) WORM-ից ընդունելության կողմում։
Dev-միջավայրը և արտեֆակտների ամրագրումը 'NFC/SMB շարինգի համար; ծանր շարժիչների համար 'բլոկը + դիպուկահարները։
Բովանդակության համագործակցություն ՝ Winncthing/Nextcloud, տարբերակով և քվոտներով։
Ներդրման թուղթ
- Տվյալների դասերը (տաք/ցուրտ/PII), RPO/RTO և SLO։
- Ընտրվել է FS: ext4/XIV/ZTS ճիշտ տարբերակներով (wwww.atime, barriers, recordsize)։
- Եթե NAS: NMS v4/SMB ծածկագրերով/ստորագրություններով, ACL, Kerberos/AD։
- Դիպուկահարներ/վարկածներ/զամբյուղներ, տրամադրված և ստուգված են վերականգնմամբ։
- Կապույտ գործիքը առաջադրանքի համար ՝ rsync (one-way), Unison/Winncthing (bi-dir), rclone (ամպ), ZMS send/recv (bekap/DR)։
- SysteFC/ցանցեր/վիրահատություններ, burn-rate SLO, ENOSPC/EIO/oplock ալտերտեր։
- Lenta.Runbook: Runbook կոնֆլիկտներ, fsync, անվանումների քաղաքականություն/երկարություն/կոդավորում։
- Թեստեր ՝ բեռի պրոֆիլներ (փոքր/մեծ ֆայլեր), kat-սցենարներ (կապի կոտրում, խմբագրման հակամարտություն)։
Տիպիկ սխալներ
Ընդհանուր ցանցային գնդակը կրիտիկական գործարքների համար (OLTP) բլոկային թղթի փոխարեն։
Անջատված barriers/ոչ fsync-ը գրանցվում է տվյալների կորուստը հավաքման ժամանակ։
Two-way սինքը առանց տարբերակման և միասնական ժամանակի նկարագրվում է «ուտելի» փոփոխություններ։
Առցանց 'www.card "-ը տաք բևեռում է լատենտության պոչերը։
Միլիոնավոր փոքր ֆայլեր մեկ տարբերակում պարունակում են աղետալի լիստինգ/backup։
Իրավունքների/սեփականատերերի խառնուրդը SMB-ի և NFC-ի միջև առանց ակնհայտ մապինգի։
Մինի պլեյբուկները
One-way տոմսերի հրատարակումը edge սերվերների
1. Հավաքումը '/ww.v/builds '(տեղական FS)։ 2) `rsync -az --delete` на edge. 3) CDN հաշմանդամություն։
Bi-dir աշխատանքային պանակ վերլուծաբանների
1. Syncthing/Unison, «N օրերի տարբերակումը», հակամարտությունը երկու տարբերակները պահպանելն է։ 2) Per-user քվոտաները։ 3) Պարբերական site-bakap։
DR no (WORM)
1. ZMS սարքավորումը գրաֆիկի վրա։ 2) «send/recv» -ը Object Systek/WORM-ի հետ մեկուսացված տարբերակում։ 3) Ամսական վերականգնման թեստ։
Արդյունքը
Հուսալի ալյումինե ենթահամակարգը ճիշտ FC + ամսագրի/խոչընդոտների ճիշտ ռեժիմներն են + հասկանալի բլոկի մոդելը, իսկ արդյունավետ համաժամացումը ճիշտ տեղաբանություն է (one-way/bi-dir), տարբերակումը և ստուգված գործիքները։ Գրանցեք լուծումներ runbook-ah-ում, ավտոմատիզացրեք դիպուկահարները/կրկնօրինակումը, չափեք SLO-ը և փորձարկեք ազդանշանային սցենարները, այդ տվյալները կմնան ամբողջ, իսկ վիրահատական գործընթացները կանխատեսելի են նույնիսկ պինդ բեռների տակ։