GH GambleHub

Block Storage və performans

Qısa xülasə

Blok saxlama FS, LVM/ZFS və s. Qurduğunuz xam cihazları (LUN/cild) verir. Performans müəyyən edilir: daşıyıcı növü, giriş protokolu, növbələr və dərinlik, blok ölçüsü, kodlaşdırma sxemi (RAID/EC), keşlər və maneələr, şəbəkə fabriki, həmçinin xüsusi tətbiqin I/O patteri (random/ardıcıl, oxu/yazma, sync/async). Məqsəd sabit və proqnozlaşdırıla bilən istədiyiniz p95/p99 gecikmələri və IOPS/keçid təmin etməkdir.

Blok giriş taksonomiyası

Lokal: NVMe (PCIe), SAS/SATA SSD/HDD. Minimum gizlilik, şəbəkə darlığı yoxdur.

Şəbəkə:
  • iSCSI (Ethernet, LUN, MPIO, ALUA).
  • Fiber Channel (FC) (16-64G, aşağı gecikmələr, zonning).
  • NVMe-oF: NVMe/TCP, NVMe/RoCE, NVMe/FC - şəbəkədə «yerli» NVMe, daha az yük.
  • HCI/paylanmış (Ceph RBD, vSAN): rahat miqyas, lakin gecikmə daha yüksək, kritik şəbəkə/kodlaşdırma.
Seçim (siqnallar):
  • p99 latency ≤ 1-2 ms, çox yüksək IOPS → yerli NVMe/NVMe-oF.
  • Sabit «orta» gecikmə 2-5 ms, yetkin fabrik → FC və ya NVMe/FC.
  • Ethernet unifikasiyası, daha asan əməliyyat → iSCSI və ya NVMe/TCP.

Protokollar və xüsusiyyətləri

iSCSI: universallıq, MPIO/ALUA, TCP (MTU, offload, qdepth) konfiqurasiyasına həssasdır.
FC: izolyasiya, itkisiz axınlar, WWPN, HBA növbələri və kreditlər üzrə rayonlaşdırma.
NVMe-oF: Submission/Completion Queues çox paralellik, aşağı CPU yükü, TLS NVMe/TCP (lazım olduqda) üçün mümkündür.

RAID/EC və daşıyıcılar

RAID10 - minimal gizlilik və proqnozlaşdırıla bilən IOPS; DB/cüzdan üçün optimaldır.
RAID5/6 - daha yaxşı tutum, yazı cərimə (write penalty), sync-write üçün IOPS düşür.
Paylanmış massivlərdə Erasure Coding - tutum baxımından sərfəlidir, lakin yazma 'daha bahalıdır ".
NVMe SSD - p99 top; SAS SSD - kompromis; HDD - ardıcıl keçid, lakin pis random.

Fayl sistemləri və hizalama

XFS - böyük fayllar/DB jurnalları üçün əla seçim; «agcount», «realtime» qeydlər üçün özelleştirilebilir.
ext4 - universal, diqqətlə 'stride/stripe _ width' RAID altında.
ZFS - CoW, bütövlük testi, snapshot/replika, ARC/ZIL/SLOG; sync yükləri üçün - PLP ilə NVMe-də SLOG.
hizalama: 1MiB-aligned bölmələr, düzgün 'recordsize '/' blocksize' yük altında.

Növbələr, blokun dərinliyi və ölçüsü

IOPS Queue Depth ilə böyüyür, lakin gecikmə də böyüyür; məqsəd - p95/p99 nəzarət zamanı istədiyiniz IOPS verir QD.
Blok ölçüsü: kiçik (4-16K) - daha çox IOPS, daha pis keçid; böyük (128K-1M) - daha yaxşı keçid sürəti.
NVMe qpairs: nüvə/NUMA; iSCSI/FC: qdepth NVA/təşəbbüskarları, MPIO siyasəti.
Baryerlər və FUA: daxil olan write-barriers etibarlılığı artırır, lakin p99 artırır; SLOG/PLP kompensasiya.

Multipath və mövcudluğu

MPIO/DM-Multipath: yolların aqreqasiyası, nasazlıq müqaviməti.

Siyasətlər: 'round-robin' (balans), 'queue-length' (daha ağıllı), 'failover' (aktiv-passiv).
ALUA: Aktiv nəzarətçiyə «üstünlük verilən» yollar.
Vacibdir: 'no _ path _ retry', 'queue _ if _ no _ path' - uzun dəqiqələr üçün I/O-nu "dondurmamaq üçün diqqətlə.
FC zonallaşdırma: «bir təşəbbüs zonası - bir hədəf» (reduces blast radius).
NVMe-oF: ANA (Asymmetric Namespace Access) — аналог ALUA.

TRIM/Discard və Caching

TRIM/Discard SSD bloklarını azad edir (write-amp azaldır, gecikməni sabitləşdirir). Mütəmadi olaraq (cron) və ya icazə verilən yerlərdə onlayn discard-ı açın.
Read-ahead ardıcıl oxunmalar üçün faydalıdır; random zamanı zərərlidir.
Write-back cache controller - yalnız BBU/PLP ilə; əks halda məlumat itkisi riski.

Şəbəkə yığını (iSCSI/NVMe-TCP üçün)

Storaj fabriki üçün ayrı-ayrı VLAN/VRF; müştəri trafikindən təcrid.
MTU 9000 end-to-end; RSS/RPS və NUMA üçün IRQ pinning.
RoCE üçün QoS/priority (əgər lossless), TCP zirvələri üçün ECN/RED.
Storaja qədər iki müstəqil fet ağacı (ikiqat TOR, müxtəlif güc təchizatçıları).

Linux/host sazlama (nümunə)

bash
Scheduler for NVMe echo none     sudo tee /sys/block/nvme0n1/queue/scheduler echo 1024      sudo tee /sys/block/nvme0n1/queue/nr_requests echo 0        sudo tee /sys/block/nvme0n1/queue/add_random echo 0        sudo tee /sys/block/nvme0n1/queue/iostats

Read-ahead (sequential loads)
blockdev --setra 4096 /dev/nvme0n1

iSCSI: example of aggressive timeouts and retries iscsiadm -m node --op update -n node. session. timeo. replacement_timeout -v 10 iscsiadm -m node --op update -n node. conn[0].timeo. noop_out_interval -v 5 iscsiadm -m node --op update -n node. conn[0].timeo. noop_out_timeout -v 5
Multipath (fraqment 'multipath. conf`):
conf defaults {
find_multipaths yes polling_interval 5 no_path_retry 12
}
devices {
device {
vendor "PURE    DELL    NETAPP    HITACHI"
path_checker tur features "1 queue_if_no_path"
path_grouping_policy group_by_prio prio alua
}
}

Benchmarking və profil

fio - minimum profil dəsti:
bash
Random read 4K, queue 32, 4 threads fio --name = randread --filename =/dev/nvme0n1 --direct = 1 --rw = randread\
--bs=4k --iodepth=32 --numjobs=4 --time_based --runtime=60

Random 4K entry (sync), log loads fio --name = randwrite --rw = randwrite --bs = 4k --iodepth = 16 --numjobs = 4\
--fsync=1 --direct=1 --runtime=60

Large block sequential recording (backups/dumps)
fio --name=seqwrite --rw=write --bs=1M --iodepth=64 --numjobs=2 --runtime=60
Məsləhətlər:
  • Isınma və ölçmə ayırın, temperatur/thermal throttling qeyd edin.
  • FS-də deyil, LUN/cilddə test edin (məqsəd «xam» dəmirdirsə).
  • p95/p99 latency və 99 ölçün. 9% tail - onlar DB «öldürür».

Monitorinq və SLO

Metriklər:
  • Gecikmə p50/p95/p99 (read/write), IOPS, throughput, queue-depth, device busy%, merges, discard.
  • Şəbəkə səviyyəsində: drops, retransmits, ECN işarələri, interfeys səhvləri.
  • Massiv səviyyəsində: lag replikasiya, rebuild/resilver tərəqqi, write-amp, wear-level SSD.
SLO (nümunələr):
  • LUN БД (OLTP): p99 write ≤ 1. 5 ms, p99 read ≤ 1. 0 ms, mövcudluq ≥ 99. 95%.
  • Qeydlər/jurnallar: p95 append ≤ 2. 5 ms, ötürmə ≥ 400 MB/s.
  • Backaps: seq write ≥ 1 GB/s (yığılmış), RTO bərpa ≤ 15 dəq.
Alertlər:
  • p99 latency> N dəqiqə həddi, eyni QD ilə IOPS deqradasiyası, RAID5/6 read-modify-write artımı, həddindən artıq istiləşmə/thermal throttle SSD, başlayan/sıxılmış rebilds.

Kubernetes и CSI

PVC/StorageClass: 'reclaimPolicy', 'volumeBindingMode = WaitForFirstConsumer' (düzgün yerləşdirmə), 'allowVolumeExpansion' parametrləri.
Vendor CSI plugins: snapshots/klonlar, QoS/performans siyasəti, volume-topology.
AccessModes: DB/State üçün RWO, RWX - ehtiyatlı (adətən fayl/şəbəkə vasitəsilə).
Topology/Affinity: Storage (aşağı gecikmə) yanında nod pin.
Vacib: HPA/VPA pis diski «müalicə etməyəcək»; SLO cildlərini planlaşdırın, stateful şəbəkələri üçün PodDisruptionBudget istifadə edin.

Snapshots, klonlar, Consistency Groups

Crash-consistent snapshot - tez, lakin DB uyğunsuzluqları mümkündür.
App-consistent - quiesce (fsfreeze, pre/post hooks DB) skriptləri vasitəsilə.
Consistency Group (CG) - eyni zamanda bir neçə LUN (əməliyyat sistemləri) üçün.
Klonlar - sürətli dev/test mühiti kopyalanmadan.

Təhlükəsizlik və uyğunluq

iSCSI SOL/Mutual SOL, VLAN/VRF izolyasiyası.
TLS ilə NVMe/TCP - mərkəzlərarası/çox icarəli ssenarilər üçün.
Yalnız şifrələmə: LUKS/dm-crypt, self-encrypting drives (TCG Opal), KMS-də açarlar.
Audit: kim LUN mappil, FC zonalarının dəyişdirilməsi, multipath dəyişiklikləri.

DR və əməliyyatlar

Sinxron replika (RPO ≈ 0) - gecikməni, qısa məsafələri artırır.
Asinxron (RPO = N min) - geo-məsafə, jurnallarla əksər DB üçün məqbuldur.
Runbooks: MPIO yolunu itirmək, controller itirmək, rebuild disk, hovuz deqradasiya, site keçid.
Xidmət pəncərələri: «rolling» nəzarətçiləri, rebild limitləri, prod yeməmək üçün.

FinOps (performans dəyəri)

$/IOPS və $/ms p99 - ALTP üçün daha faydalı «$/TB».
Tiering: isti OLTP - NVMe/RAID10; reports/arxiv - HDD/EC.
Ehtiyatlar və amortizasiya: 30-50% IOPS artımını planlaşdırın; rebild/scrub altında ehtiyat saxlamaq.
Egress/Factory: Storage şəbəkəsi və HBA/NIC yeniləmələri üçün ayrıca büdcə.

Giriş çek siyahısı

  • Protokol seçildi (NVMe-oF/FC/iSCSI) və izolyasiya fabriki.
  • Yük növlərinə görə RAID/EC və hovuzlar (OLTP/log/backup).
  • MPIO/ALUA/ANA və Taymaut; yoxlanılır failover/restore.
  • FS/RAID altında hizalama, reqlamentə görə TRIM/Discard daxildir.
  • Sıra sazlama/qdepth/read-ahead; fio profilləri ilə təsdiqlənir (randread/write 4k, seq 1M).
  • Disk/yol/gecikmə monitorinqi p95/p99, rebild və throttle.
  • Snapshots (app-consistent) və CG; DR/bərpa testi.
  • Şifrələmə və CHAP/TLS; KMS açarları; əməliyyatların auditi.
  • Kubernetes/CSI parametrləri, topologiya və cilddə QoS.

Tipik səhvlər

MPIO → single point of failure olmadan bir yol.
RAID5/6-write ALTP → yüksək p99 write altında.
No TRIM → write-amp artımı və SSD deqradasiyası.
QD çox böyük → «gözəl» IOPS və DB üçün dəhşətli tail.
OLTP → gizli atlama ilə «isti» cildlərdə onlayn discard.
'queue _ if _ no _ path' taymautsuz → qəza zamanı «asılı» xidmətlər.
NVMe və HDD-nin bir hovuzda qarışması → gözlənilməz gecikmə.

iGaming/Fintech üçün xüsusiyyətlər

Cüzdan/Əməliyyat DD: NVMe + RAID10, ayrı SLOG/NVMe sinxron jurnal, p99 write ≤ 1. 5 ms, CG snapshotlar.
Ödəniş növbələri/antifrod: ardıcıl qeydlər → böyük bloklar, yüksək keçid, jurnal və məlumatlar altında fərdi LUN.
Pik TPS (turnirlər/matçlar): pre-warm cache DB, headroom ≥ 30%, thermal throttle nəzarət, burn-rate SLO.
Tənzimləyici: LUN şifrələmə, mappinq auditinin log, DR təlimləri, RPO/RTO hesabatları.

Yekun

Məhsuldar blok anbarı düzgün protokol + düzgün qurulmuş növbələr və qdepth + adekvat RAID/EC + cache/maneə intizamı + təcrid olunmuş fabrikdir. Runbook 'larda hər şeyi düzəldin, p95/p99 ölçün, fio profilləri ilə təsdiqləyin, snapshotları və DR-ləri avtomatlaşdırın və kritik məhsul yolları və pul axını üçün lazım olan proqnozlaşdırıla bilən gecikmə və IOPS əldə edin.

Contact

Bizimlə əlaqə

Hər hansı sualınız və ya dəstək ehtiyacınız varsa — bizimlə əlaqə saxlayın.Həmişə köməyə hazırıq!

Telegram
@Gamble_GC
İnteqrasiyaya başla

Email — məcburidir. Telegram və ya WhatsApp — istəyə bağlıdır.

Adınız istəyə bağlı
Email istəyə bağlı
Mövzu istəyə bağlı
Mesaj istəyə bağlı
Telegram istəyə bağlı
@
Əgər Telegram daxil etsəniz — Email ilə yanaşı orada da cavab verəcəyik.
WhatsApp istəyə bağlı
Format: ölkə kodu + nömrə (məsələn, +994XXXXXXXXX).

Düyməyə basmaqla məlumatların işlənməsinə razılıq vermiş olursunuz.