Faýl ulgamlary we senkronizasiýa
Gysgaça gysgaça
Faýl ulgamy bitewiligiň, öndürijiligiň we amallaryň deňagramlylygydyr. Sinhronizasiýa diňe "faýllary göçürmek" däl-de, sazlaşyk modeli we gapma-garşylyklary çözmek hakda. Talaplardan başlaýarys (p95 latency, RPO/RTO, ýüküň görnüşi), FS we teswirnamany saýlaýarys, magazineurnallaşdyrmagy we blokirlemegi sazlaýarys, SLO goýýarys, snapshotlary/wersiýalary awtomatlaşdyrýarys we dogry sinhronlaşdyryş gurallaryny ulanýarys.
Ýüklemek üçin faýl ulgamyny saýlamak
Ähliumumy Linux FS
ext4 - durnukly "iş aty". Opsiýalar: 'noatime, nodiratime, discard (seresaplylyk bilen), data = ordered'. VM-diskler, umumy kataloglar, CI-artefaktlar üçin peýdalydyr.
XFS - uly faýllara/paralellige (media mazmuny, logleri, DWH) güýçli. Opsiýalar: 'noatime, inode64'; Uly faýllar üçin 'reflink = 1' (clone) sazlamaly.
ZFS - CoW, bitewiligi barlamak, snapshots/replika 'send/recv', ARC/L2ARC, ZIL/SLOG sync. Ekaplar, NAS, bitewilik talaby bolan esasy howuzlar üçin tapawutlanýar.
Btrfs - CoW, userspace-de snapshotlar/gysyş/RAID; gowy dev/test we edge astynda, sazlamazdan OLTP üçin seresap boluň.
Windows/crossplatform
NTFS - ACL, ADS, SMB üçin ygtybarly; 'DisableLastAccess' öndürijilik üçin.
exFAT - aýrylyp bilinýän göterijiler, ygtyýarnamasyz we magazineurnallaşdyrmazdan (önümçilik üçin däl).
Ygtybarlylyga we tizlige täsir edýän sazlamalar
Reýting we päsgelçilikler: 'data = ordered' (standart ext4) - balans; 'data = journal' - has ygtybarly, ýöne has haýal; write barriers (ýa-da BBU/PLP bilen dolandyryjy).
fsync/sync: möhüm akymlar (magazinesurnallar/amallar) aç-açan 'fsync ()'; ýogsam heläkçilikde ýitgi bolup biler.
atime: 'relatime '/' noatime' write basyşyny peseldýär.
hattr/ACL: POSIX ACL we howpsuzlyk bellikleri gerek bolsa açyň.
Bloklaryň ululygy/recordsize: DB üçin ZFS 'recordsize = 16K'; Uly media üçin '1M'.
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
Ulgam we paýlanan faýl ulgamlary
NFS/SMB (NAS-çemeleşme)
NFSv3/v4: ýönekeý we çalt; v4 we Kerberos ('sec = krb5p') bloklaýar. Ýokary ýygylykly "çuň" fsync üçin NFS-e bil baglamaň - ýerli disk + asenkron düşürmek has gowudyr.
SMB 3. x: multichannel, şifrlemek, AD bilen integrasiýa. Duýgur maglumatlara gol çekmegi/şifrlemegi açyň.
/pool/projects 10. 0. 0. 0/16(rw,no_root_squash,sec=krb5p,async)
SMB (bölek):
[reports]
path = /pool/reports read only = no vfs objects = acl_xattr, recycle smb encrypt = required
Paýlanan FS
CephFS - POSIX Ceph üstünde; gorizontal masştab üçin amatly, snapshotlar, kwoutlar, meta-maglumatlar paýlanýar.
GlusterFS - başlamak aňsat, göçürme/şarding, ýöne kiçi faýllar we p99 bilen seresaplylyk bilen.
Lustre/IBM Spectrum Scale - NRS/tora/amallara talap edilýän uly faýllar.
9P (Wirtio-fs) - VM-paýlaşmak üçin, gaty SLO bilen prod ýüklemek üçin däl.
Maslahat: OLTP/gapjyklar üçin - FS däl; blok jildlerini ulanyň. Statiki mazmun/umumy artefaktlar üçin - NFS/SMB/obýekt + CDN.
Bloklamak, kesmek we utgaşdyrmak
Advisory vs mandatory locks: Linux обычно advisory; SMB oplocks/leases, NFSv4 - stateful locks.
Müşderini kesmek: agressiw keşler okamagy çaltlaşdyrýar, ýöne köp müşderilerde gapma-garşylyk töwekgelçiligini ýokarlandyrýar.
- Strong (lokal FS, ZFS).
- Close-to-open (NFS): üýtgeşmeler 'close ()/open ()' -de görünýär.
- Eventual (käbir paýlanan/obýekt ssenarileri).
- Sagat: NTP/PTP; wagtyň süýşmegi konflikt-rezolýsiýany we TTL-i bozýar.
Senkronizasiýa: Modeller we gurallar
Modeller
One-way (push/pull): artefaktlary çap etmek, hasabatlary düşürmek, offsite-bekap.
Two-way (bi-dir): bilelikde işlemek; gapma-garşylyk we wersiýa talap edilýär.
Hub-and-spoke: merkezi düwün/klaster arkaly ýyldyz (MinIO/S3 + agentler).
Near-real-time vs batch: inotify/log üýtgeşmeleri vs döwürleýin penjireler.
Gurallar
rsync - de-fakto standart one-way; '--delete', '-partial', '-inplace' (seresaplylyk bilen).
rclone - S3/bulutlar, hash barlagy, serwer-side copy.
Unison - true bi-directional, konfliktleri çözmek.
Syncthing - p2p, iş bukjalary üçin amatly wersiýa.
lsyncd - inotify boýunça rsync triggeri; near-real-time.
ZFS send/recv - iň oňat "sink" snapshot/inkrement (baýtowo täsirli).
bash rsync -az --delete --numeric-ids --partial --inplace \
/srv/builds/ user@edge:/var/www/builds/
Unison (bi-dir, profil):
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 (rsync üstünde near-real-time):
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 }
}
ZFS göçürmesi:
bash zfs snapshot tank/data@now zfs send -i tank/data@prev tank/data@now ssh backup zfs recv -F backup/data
Wersiýa, snapshotlar we "sebetler"
CoW snapshotlar (ZFS/Btrfs/CephFS): çalt yza gaýdyp barmak nokatlary, min. ýük.
Programma derejesinde wersiýa etmek (Nextcloud/Syncthing/Object): ulanyjylar üçin amatly.
SMB/NFS-daky sebetler/resikller: tötänleýin aýyrmakdan halas edýär, ýöne yzyny çalyşmaýar.
Howpsuzlyk we elýeterlilik
ACL we hattr: POSIX ACL, SMB üçin SID/ACE, mapping uid/gid.
Şlýuzlar arkaly okamak/ýazmak: SFTP/HTTPS/WebDAV - haçan SMB/NFS açyp bolmaýar.
Şifrlemek: LUKS/ZFS native; uçuşda - Kerberos (NFSv4), SMB encryption, TLS şlýuzlar üçin.
PII/complayens: topy bölmek, berk hukuklaryň maskalary, giriş barlaglary, zerur bolan ýerlerde WORM.
Synlamak, SLO we aladalar
Метрики ФС: p95/p99 latency (read/write/open), IOPS, qdepth, cache hit, inode usage, fill-level, errors (EIO/ENOSPC).
Tor metrikleri (NFS/SMB): retransmits/drops, RPC RTT, oplock breaks, queue length.
- NFS-top CI: p95 'open '/' read' ≤ 3-5 ms, elýeterlilik ≥ 99. 95%.
- SMB hasabatlary: p95 katalog listing ≤ 100 ms ≤ 10k faýl/dir.
- ZFS bellik howuzy: p99 ýazgy ≤ 10 ms, snapşotlaryň üstünligi 100%, RPO ≤ 15 min (inkrementler).
- Howuzy doldurmak> 80/90/95%, 'EIO' beýikligi, snapshot yzy, hit-ratio güýji, ýygy-ýygydan oplock-break.
Önüm üçin nusgalar (iGaming/fintech)
Statika (nyşanlar/preview/üpjün edijileriň kataloglary): rsync → CDN arkaly çap etmek; esasy çeşmesini wersiýalaşdyrylan obýektde saklamak.
Logy we "çig" wakalar: ýerli ýazmak (XFS/ext4) → batçevo düşürmek (rclone → S3/MinIO).
Hasabat we PII: Şifrlemek we berk ACL bilen SMB; wagtal-wagtal offsite-eksport (ZFS send/recv) WORM bilen kabul ediş tarapynda.
Dev-gurşaw we artefaktlary düzetmek: NFS/SMB sharing; agyr bazalar üçin - blok-tomlar + snapshotlar.
Mazmunyň hyzmatdaşlygy: Syncthing/Nextcloud wersiýa we kwotalar bilen.
Giriş barlagy
- Maglumat synplary (gyzgyn/sowuk/PII), RPO/RTO we SLO kesgitlenildi.
- Dogry opsiýalar bilen FS: ext4/XFS/ZFS saýlandy (noatime, barriers, recordsize).
- Eger NAS: NFSv4/SMB/gollar, ACL, Kerberos/AD.
- Snapshotlar/wersiýalamak/sebetler - sazlandy we dikeldiş arkaly barlandy.
- Synk guraly: rsync (one-way), Unison/Syncthing (bi-dir), rclone (bulut), ZFS send/recv (arka/DR).
- FS/Tor/Amallara gözegçilik etmek, burn-rate SLO, ENOSPC/EIO/oplock alertleri.
- Resminamalar: gapma-garşylyklaryň Runbook, fsync düzgünleri, atlamak/ýollaryň uzynlygy/kodlamak syýasaty.
- Synaglar: ýük profilleri (kiçi/uly faýllar), hat ssenarileri (aragatnaşygyň kesilmegi, redaktirlemegiň gapma-garşylygy).
Adaty ýalňyşlyklar
Möhüm amallar üçin umumy tor şary (OLTP).
Programmada barriers/fsync öçürildi.
Two-way synk wersiýalazsyz we bir wagtyň içinde → "iýilen" üýtgeşmeler.
Onlaýn 'discard' gyzgyn howuzda → gizlinlik guýruklary.
Bir katalogda millionlarça ownuk faýl → katastrofiki listing/backup.
SMB bilen NFS arasynda aç-açan mappingsiz hukuklaryň/eýeleriň garyşmagy.
Kiçi pleýbuklar
One-way bild → edge serwerleri
1. '/srv/builds '-e ýygnamak (lokal FS). 2) `rsync -az --delete` на edge. 3) CDN-iň maýyplygy.
Analitikleriň iş bukjasy
1. Syncthing/Unison, "N gün wersiýasy", gapma-garşylyk - iki wersiýany hem saklamak. 2) per-user kwotalary. 3) Wagtal-wagtal offsite-ekap.
Hasabat katalogynyň DR (WORM)
1. ZFS programma boýunça snapshotlar. 2) 'send/recv' Object Lock/WORM bilen izolirlenen host. 3) Her aýda dikeldiş synagy.
Jemi
Ygtybarly faýl kiçi ulgamy dogry FS + dogry magazineurnallaşdyryş/päsgelçilik re modeimleri + düşnükli blokirleme modeli we täsirli sinhronizasiýa dogry topologiýa (one-way/bi-dir), wersiýa we subut edilen gurallar. Çözgütleri runbook-larda ýazga alyň, snapshotlary/replikasiýalary awtomatlaşdyryň, SLO-lary ölçäň we şowsuzlyk ssenarilerini synagdan geçiriň - şonuň üçin maglumatlar tutuşlygyna galar we iş amallary iň ýokary ýüklerde-de öňünden aýdyp bolar.