GH GambleHub

Blok Depolama ve Performans

Kısa Özet

Blok depolama, üzerine FS, LVM/ZFS vb. Oluşturduğunuz ham aygıtlar (LUN/hacim) verir. Performans, medya türü, erişim protokolü, kuyruklar ve derinlik, blok boyutu, kodlama şeması (RAID/EC), önbellekler ve engeller, ağ yapısı ve uygulamaya özgü I/O deseni (rastgele/sıralı, okuma/yazma, senkronizasyon/async) ile belirlenir. Amaç, gerekli p95/p99 gecikmesini ve IOPS/bant genişliğini sağlamlık ve öngörülebilirlik ile sağlamaktır.

Erişim taksonomisini engelle

Yerel: NVMe (PCIe), SAS/SATA SSD/HDD. Minimum gecikme, ağ darboğazı yok.

Ağ:
  • ISCSI (Ethernet, LUN, MPIO, ALUA).
  • Fiber Kanal (FC) (16-64G, düşük gecikme süresi, zonlama).
  • NVMe-oF: NVMe/TCP, NVMe/RoCE, NVMe/FC - ağ üzerinden'yerli "NVMe, daha az yük.
  • HCI/dağıtılmış (Ceph RBD, vSAN): uygun ölçeklenebilirlik, ancak gecikme daha yüksektir, ağ/kodlama önemlidir.
Seçim (sinyaller):
  • P99 gecikme süresi ≤ 1-2 ms, çok yüksek IOPS - yerel NVMe/NVMe-oF.
  • Kararlı "ortalama" gecikme süresi 2-5 ms, olgun FC veya NVMe/FC fabrikası.
  • Ethernet üzerinde birleştirilmiş, kullanımı daha kolay - iSCSI veya NVMe/TCP.

Protokoller ve özellikleri

ISCSI: çok yönlülük, MPIO/ALUA, TCP yapılandırmasına duyarlı (MTU, aktarım, qdepth).
FC: izolasyon, kayıpsız akışlar, WWPN imar, HBA kuyrukları ve krediler.
NVMe-oF: Çoklu Gönderme/Tamamlama Kuyrukları boyunca paralellik, düşük CPU yükü, NVMe/TCP için TLS mümkündür (gerekirse).

RAID/EC ve Medya

RAID10 - minimum gecikme ve öngörülebilir IOPS; veritabanları/cüzdanlar için optimal.
RAID5/6 - kapasitede daha iyi, yazma cezası, senkronizasyon-yazma için IOPS düşer.
Dağıtılmış dizilerde silme kodlaması kapasite açısından avantajlıdır, ancak kayıt'daha pahalıdır ".
NVMe SSD - p99 üst; SAS SSD - uzlaşma; HDD sıralı bir bant genişliğidir, ancak kötü bir rastgeledir.

Dosya Sistemleri ve Hizalama

XFS, büyük veritabanı dosyaları/günlükleri için mükemmel bir seçimdir; Günlükler için özelleştirilebilir 'agcount', 'realtime'.
ext4 - çok yönlü, RAID için 'stride/stripe _ width' dikkatle.
ZFS - CoW, bütünlük kontrolü, anlık görüntüler/çoğaltma, ARC/ZIL/SLOG; Yükleri senkronize etmek için - PLP ile NVMe'de SLOG.
Hizalama: Bölümleri 1MiB-aligned, yük altında doğru 'kayıt'/' blok'.

Kuyruklar, derinlik ve blok boyutu

IOPS Kuyruk Derinliği ile yükseliyor, ancak gecikme süresi de öyle; Hedef - p95/p99 kontrolü sırasında gerekli IOPS'yi veren QD.
Blok boyutu: küçük (4-16K) - daha fazla IOPS, daha kötü bant genişliği; büyük (128K-1M) - daha iyi uçtan uca hız.
NVMe qpairs: çekirdekler/NUMA ile tahsis; ISCSI/FC: qdepth HBA/başlatıcılar, MPIO ilkeleri.
Bariyerler ve FUA: Dahil olan yazma bariyerleri güvenilirliği arttırır, ancak p99'u artırır; SLOG/PLP ofset.

Çok yollu ve kullanılabilirlik

MPIO/DM-Multipath: yol toplama, hata toleransı.

Politikacılar: "Round-robin" (bilanço), "queue-length" (daha akıllı), "failover" (varlık-borç).
ALUA aktif denetleyiciye "tercih edilen" yollar.
Önemli: 'No _ path _ retry', 'queue _ if _ no _ path' - I/O'yu uzun dakikalar boyunca "dondurmamak" için dikkatli olun.
FC bölgeleme:'bir başlatıcı bölge - bir hedef "(patlama yarıçapını azaltır).
NVMe-oF: ANA (Asimetrik Ad Alanı Erişimi) - аналог ALUA.

TRIM/Atma ve Önbelleğe Alma

TRIM/Atma SSD bloklarını serbest bırakır (yazma-amp düşürür, gecikmeyi stabilize eder). Düzenli olarak açın (cron) veya uygun olduğunda çevrimiçi atın.
Read-ahead ardışık okumalar için yararlıdır; Rastgele zararlı.
Geri yazma denetleyicisi önbellekleri - yalnızca BBU/PLP ile; Aksi takdirde, veri kaybı riski.

Ağ Yığını (iSCSI/NVMe-TCP için)

SRF fabrikası için ayrı VLAN/VRF; Müşteri trafiğinden izolasyon.
MTU 9000 uçtan uca; RSS/RPS ve IRQ NUMA'ya sabitlenir.
QoS/RoCE için öncelik (kayıpsız ise), TCP zirveleri için ECN/RED.
Storaj'a kadar iki bağımsız yağ ağacı (çift TOR, farklı güç besleyicileri).

Linux/Host Tuning (Örnek)

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
Çok yollu (parça'çok yollu. 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
}
}

Kıyaslama ve profil oluşturma

fio - minimum profil kümesi:
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
Konseyler:
  • Ayrı ısıtma ve ölçüm, sıcaklık/termal kısma kaydedin.
  • FS değil, LUN/birim üzerinde test edin (hedef ham donanım ise).
  • P95/p99 gecikme ve 99'u ölçün. %9 kuyruk - veritabanını "öldürenler" onlar.

İzleme ve SLO

Metrikler:
  • Gecikme p50/p95/p99 (okuma/yazma), IOPS, işlem hacmi, kuyruk derinliği, aygıt meşgul %, birleştirme, atma.
  • Ağ düzeyinde: damlalar, yeniden iletimler, ECN işaretleri, arayüz hataları.
  • Dizi düzeyinde: replication lag, rebuild/resolver progress, write-amp, wear-level SSD.
SLO (örnekler):
  • LUN БД (OLTP): p99 yazma ≤ 1. 5ms, p99 okuma ≤ 1. 0 ms, kullanılabilirlik ≥ 99. 95%.
  • Günlükleri: p95 ≤ 2 ekleyin. 5 ms, bant genişliği ≥ hacim başına 400 MB/s.
  • Yedeklemeler: Seq yazma ≥ 1 GB/s (toplu), kurtarma RTO ≤ 15 dakika.
Uyarılar:
  • P99 gecikme> eşik N dakika, aynı QD ile IOPS'nin bozulması, RAID5/6 okuma-değiştirme-yazma büyümesi, aşırı ısınma/termal gaz kelebeği SSD, başlamış/sıkışmış kaburgalar.

Kubernetes и CSI

PVC/StorageClass: parametreler 'reclaimPolicy', 'volumeBindingMode = WaitForFirstConsumer' (doğru konum), 'allowVolumeExpansion'.
Satıcı CSI eklentileri: anlık görüntüler/klonlar, QoS/performans politikaları, hacim topolojisi.
AccessModes: Veritabanı/devlet için RWO, RWX - dikkatli (genellikle dosya/ağ üzerinden).
Topoloji/Yakınlık: Depolamanın yanındaki düğümlere pin pedleri (düşük gecikme süresi).
Önemli: HPA/VPA kötü bir sürücüyü "iyileştirmez"; SLO hacimlerini planlayın, durum bilgisi olan ağlar için PodDisruptionBudget kullanın.

Anlık görüntüler, klonlar, Tutarlılık Grupları

Çökme tutarlı anlık görüntüler hızlıdır, ancak veritabanı tutarsızlıkları mümkündür.
Uygulama tutarlı - sessiz komut dosyaları aracılığıyla (fsfreeze, ön/post kancaları DB).
Tutarlılık Grubu (CG) - aynı anda birkaç LUN (işlem sistemi) için.
Klonlar kopyalamadan hızlı dev/test ortamlarıdır.

Güvenlik ve uyumluluk

ISCSI CHAP/Karşılıklı CHAP, VLAN/VRF yalıtımı.
TLS ile NVMe/TCP - çapraz merkez/çoklu kiralama senaryoları için.
"Dinlenmede" şifreleme: LUKS/dm-crypt, kendi kendini şifreleyen sürücüler (TCG Opal), KMS'deki anahtarlar.
Denetim: LUN, FC bölge değişikliği, çok yollu değişiklikleri kimin haritaladığı.

DR ve operasyonlar

Senkron çoğaltma (RPO≈0) - gecikmeyi, kısa mesafeleri artırır.
Asenkron (RPO = N min) - coğrafi mesafe, günlüklü çoğu veritabanı için kabul edilebilir.
Runbook'lar: MPIO yol kaybı, denetleyici kaybı, disk yeniden oluşturma, havuz bozulması, site anahtarı.
Servis pencereleri: "haddeleme" kontrolörleri, prod yememek için rebield sınırları.

FinOps (performans başına maliyet)

$/IOPS ve $/ms p99, OLTP için daha kullanışlı "$/TB'dir.
Katmanlama: sıcak OLTP - NVMe/RAID10; Raporlar/arşiv - HDD/EC.
Hükümler ve amortisman: %30-50 IOPS büyümesi için plan; Stokları rebilds/scrubs altında tutun.
Çıkış/fabrika: depolama ağı ve HBA/NIC güncellemeleri için ayrı bütçe.

Uygulama kontrol listesi

  • Protokol (NVMe-oF/FC/iSCSI) ve yalıtılmış yapı seçildi.
  • RAID/EC ve yük tipi havuzları (OLTP/log/backup) tasarlanmıştır.
  • MPIO/ALUA/ANA ve zaman aşımları yapılandırıldı; Yük devretme/geri yükleme kontrol edildi.
  • RAID için FS/hizalama, düzenlemeye göre TRIM/Atma etkinleştirildi.
  • Kuyruk ayarı/qdepth/read-ahead; fio profilleri tarafından doğrulanmıştır (randread/write 4k, seq 1M).
  • Disk/yol/gecikme izleme p95/p99, yeniden doldurma ve gaz verme uyarıları.
  • Anlık görüntüler (uygulama tutarlı) ve CG; DR/kurtarma testi.
  • Şifreleme ve CHAP/TLS; İşlemlerin KMS denetimindeki anahtarlar.
  • Birim başına Kubernetes/CSI parametreleri, topoloji ve QoS.

Yaygın hatalar

MPIO'suz bir yol - tek başarısızlık noktası.
RAID5/6 altında senkronize yazma OLTP - yüksek p99 yazma.
TRIM yok - yazma amfi büyümesi ve SSD bozulması.
QD çok büyük - veritabanı için "güzel" IOPS ve korkunç kuyruk.
Online OLTP ile "sıcak" hacimler üzerinde atmak - gecikme atlar.
'eue _ if _ no _ path' zaman aşımına uğramadan - bir felakette "dondurulmuş" hizmetler.
NVMe ve HDD'yi aynı havuzda karıştırma - öngörülemeyen gecikme.

iGaming/fintech'e özel

Cüzdan/işlem veritabanları: NVMe + RAID10, ayrı bir SLOG/NVMe'de senkron log, p99 yazma ≤ 1. 5 ms, CG anlık görüntüleri.
Ödeme kuyrukları/sahteciliği önleme: seri günlükler - büyük bloklar, yüksek bant genişliği, günlük ve veriler için ayrı LUN'lar.
En yüksek TPS (turnuvalar/maçlar): önceden ısınmış veritabanı önbellekleri, baş ağrısı ≥ %30, termal gaz kontrolü, yanma oranı SLO.
Düzenleyici: LUN şifreleme, denetim günlüğünü haritalama, DR alıştırmaları, RPO/RTO raporlaması.

Toplam

Üretken blok depolama, doğru protokol + doğru yapılandırılmış kuyruklar ve qdepth + yeterli RAID/EC + önbellek/bariyer disiplini + yalıtılmış yapıdır. Her şeyi runbook'lara sabitleyin, p95/p99 ölçün, fio profilleri ile doğrulayın, anlık görüntüleri ve DR'yi otomatikleştirin ve kritik ürün ve nakit akışı yolları için gereken öngörülebilir gecikmeyi ve IOPS'yi elde edin.

Contact

Bizimle iletişime geçin

Her türlü soru veya destek için bize ulaşın.Size yardımcı olmaya her zaman hazırız!

Telegram
@Gamble_GC
Entegrasyona başla

Email — zorunlu. Telegram veya WhatsApp — isteğe bağlı.

Adınız zorunlu değil
Email zorunlu değil
Konu zorunlu değil
Mesaj zorunlu değil
Telegram zorunlu değil
@
Telegram belirtirseniz, Email’e ek olarak oradan da yanıt veririz.
WhatsApp zorunlu değil
Format: +ülke kodu ve numara (örneğin, +90XXXXXXXXX).

Butona tıklayarak veri işlemenize onay vermiş olursunuz.