Enterprise Storage
Veri Yolu, Medya ve Koruma Geometrisi
I/O isteğini uygulamadan medyaya izle
Ön koşul: block, file ve object erişim sözleşmesini; IOPS, transfer hızı, latency ve kapasite katmanlarını ayırabilmelisin. Bu dersin sonunda bir I/O isteğini uygulamadan kalıcı medyaya ve geri dönüşüne kadar katman katman izleyebilecek; front-end ile backend metriklerini karıştırmadan kuyruk, cache ve protokol etkisini sorgulayabilecek; HDD, SSD ve NVMe’yi yalnız “yavaş/hızlı” etiketiyle seçmeyecek; mirror, parity ve erasure coding geometrisini kapasite, performans, hata alanı ve rebuild riskiyle değerlendirebileceksin. Yaklaşık 29 dakika anlatı ve örnek, 18 dakika Arven uygulaması, 10 dakika bilgi kontrolleridir. Ayrıntılı SAN zoning/multipath, snapshot/replication ve ürün sizing’i sonraki derslerin kapsamındadır.
Uygulama bir write çağrısı yaptığında veri doğrudan diske ışınlanmaz. İstek uygulama ve runtime’dan dosya sistemi veya volume manager’a, işletim sistemi block katmanına, sanallaştırma katmanına, multipath ve aygıt sürücüsüne, HBA/NIC ile taşıma protokolüne, switch veya fabric’e, storage front-end portuna, controller işlem ve cache katmanına, backend bağlantı ve koruma grubuna, en sonunda medyaya ilerleyebilir. Okuma yanıtı aynı zincirin tersinde döner; fakat cache hit, read-ahead, write coalescing veya tiering bazı adımları değiştirebilir. Bu haritanın amacı her teknoloji adını toplamak değildir. Her sınırda şu beş soruyu sor: istek hangi kimlikle ve boyutla görünür, sıraya nerede girer, başarı yanıtı hangi koşulda verilir, hata veya timeout nerede yeniden denenir, hangi metrik bu katmanı ölçer? Bir uygulama 20 ms görürken array 2 ms service time gösterebilir; kalan süre host queue, fabric, cache flush, contention veya başka bir üst katmanda olabilir. İki değer çelişmek zorunda değildir, farklı kapsamları ölçer. Front-end ve backend I/O da aynı değildir. Hostun tek mantıksal write’ı cache, parity, metadata, journal, replication veya garbage collection nedeniyle backend’de birden fazla iş üretebilir. Tersine cache bir süre backend trafiğini erteleyebilir ya da birçok küçük isteği birleştirebilir. Bu nedenle host IOPS ile drive IOPS’ı doğrudan kapasite gibi toplama; ölçüm noktası, zaman ve dönüşüm mekanizmasını kaydet.
| Katman | Sorulacak soru | Kanıt |
|---|---|---|
| Uygulama | Başarı ve durability ne zaman kabul edilir? | Transaction/flush davranışı |
| Host/VM | Queue ve timeout nerede oluşuyor? | OS, hypervisor, multipath |
| Fabric | Yol, hız, hata ve yeniden iletim nedir? | Port ve path sayaçları |
| Controller/cache | Ack hangi cache ve koruma koşulunda dönüyor? | Cache durumu ve service time |
| Backend/media | Mantıksal write hangi fiziksel işe dönüşüyor? | Drive, parity, GC ve rebuild metrikleri |
ÖRNEK
2 ms array, 24 ms uygulama
Arven ERP commit p99 süresini 24 ms ölçer; storage paneli 2 ms gösterir. Aynı dakika içinde host queue yükselmiş, tek fabric yolunda retry oluşmuş ve controller service time yalnız kabul edilen istekleri ölçmüştür. “Array hızlı, sorun uygulamada” veya “storage yavaş” demek yerine ortak zaman çizgisinde katman kapsamları eşlenir. Yol düzeltilince p99 9 ms’ye iner; cihaz değişmeden hipotez kanıtlanır.
MÜŞTERİYE SOR
Uygulamanın gördüğü I/O süresi ile host, fabric ve array service time hangi başlangıç-bitiş noktalarını ölçüyor; aynı olay penceresinde queue, retry ve path durumu nedir?
Farklı kapsamlı latency sayılarını yanlış karşılaştırmayı önler ve gecikmenin hangi katmanda biriktiğini sınar.
BİLGİNİ KONTROL ET
Host 5.000 write IOPS üretirken backend’in 12.000 IOPS göstermesi neyi kesin kanıtlar?
Medya, cache ve kuyruk davranışını ayır
Medya seçimi yalnız nominal hız veya fiyat/TB karşılaştırması değildir. Döner medyada kafa hareketi ve rotational gecikme random erişimi sequential akıştan belirgin biçimde ayırır. Solid-state medya mekanik hareket içermez ve paralel erişime daha uygundur; yine controller, NAND türü, firmware, over-provisioning, garbage collection, wear, sıcaklık ve doluluk davranışı sonucu etkiler. NVMe bir medya adı değil, host yazılımının non-volatile memory ile iletişimini tanımlayan komut ve taşıma ailesidir. Aynı NAND farklı arayüz ve mimarilerde kullanılabilir; “NVMe var” tek başına uçtan uca hizmet hedefini kanıtlamaz. Linux blk-mq, modern cihaz paralelliğinden yararlanmak için CPU’ya yakın software staging queue’ları ile hardware dispatch queue’larını ayırır. İstek birleştirme, scheduler, driver kaynakları ve hardware queue sayısı gözlenen davranışı etkileyebilir. NVM Express NVMe over PCIe spesifikasyonu host ile SSD arasındaki PCIe taşımasını tanımlar; paylaşımlı array veya fabric erişimi farklı transport ve ek katmanlar getirir. Cihazın teorik queue kapasitesini görmek uygulamanın yeterli paralellik ürettiğini veya CPU/NUMA yolunun doğru olduğunu göstermez. Medya sınıfı veri yerleşimiyle birlikte seçilir. Küçük random write, büyük sequential ingest, yoğun metadata, read-heavy analitik ve uzun süreli arşiv farklı medya ve cache baskısı üretir. Tiering kullanılıyorsa sıcak verinin gerçekten hangi oranda hangi süreyle hızlı katmanda kaldığı; promotion/demotion gecikmesi; cache veya tier miss halinde kabul hedefinin korunup korunmadığı ölçülür. En hızlı katmana bütün veriyi yerleştirmek bazı hizmetlerde gereksiz maliyet, en ucuz katmana yerleştirmek ise öngörülemez tail latency doğurabilir.
Cache latency ve burst emilimini iyileştirebilir; aynı zamanda ölçüm ve veri güvenliği sınırını değiştirir. Read cache tekrar erişilen veriyi medyaya gitmeden döndürebilir. Write-through cache yazının alt katmanda güvenle tamamlanmasını bekler; write-back tasarımında sistem daha erken başarı döndürebilir ve kirli veriyi sonra destage eder. Böyle bir hızlandırma için cache’in güç kaybı ve controller arızasında korunması, mirror veya persistent mekanizması, destage kapasitesi ve failover davranışı doğrulanır. Benchmark cache’in içini ölçüyorsa sürdürülebilir medya performansını olduğundan yüksek gösterebilir. SNIA solid-state test yaklaşımı preconditioning, steady state, workload parametreleri ve cache raporlamasını bu nedenle önemser. Test, cache dolmadan bitmiş kısa burst mü; sistem steady state’e ulaşmış mı; veri seti cache’ten büyük mü; compressible pattern gerçek veriye benziyor mu; drive doluluk ve background work hangi durumda? Bunlar yazılmadan tepe IOPS tasarım kapasitesi değildir. Durability uygulama sözleşmesidir. İşletim sistemi veya storage “write complete” dediğinde veri hangi arıza senaryolarına karşı kalıcıdır? Application journal, filesystem flush/barrier, hypervisor, controller cache ve media arasındaki zincirin her biri doğru davranmalıdır. Bir katmanın battery-backed veya persistent olması üst katmanın flush istemediği, multipath retry’nin duplicate write üretmediği ya da bütün controller çiftinin ortak güç alanından bağımsız olduğu anlamına gelmez.
ÖRNEK
Beş dakikalık test, bir saatlik yük
Bir aday sistem ilk beş dakikada 300.000 IOPS verir; 25. dakikada cache destage ve garbage collection başlayınca 140.000 IOPS’a, p99 latency ise 3 ms’den 18 ms’ye çıkar. Arven’in kapanış yükü 70 dakika sürdüğü için kısa tepe sonucu geçersiz kabul edilir. Aynı veri seti, doluluk, süre ve steady-state koşulunda yeniden test yapılarak sürdürülebilir sonuç kıyaslanır.
MÜŞTERİYE SOR
Kritik yük ne kadar sürüyor; veri seti cache’ten büyük mü ve cache dolduğunda, destage/GC çalışırken veya bir path/controller kaybedildiğinde latency hedefi korunuyor mu?
Kısa burst ile sürdürülebilir performansı ve normal durumla degraded durumu birbirinden ayırır.
ŞİMDİ SEN DENE
Medya ve cache test matrisi kur
ERP, görüntü ingest ve kullanıcı dosyası için normal, burst, steady-state ve degraded yük satırları oluştur. Her satıra veri seti/cache oranı, doluluk, read/write ve I/O size, concurrency, test süresi, p50/p99 latency, IOPS/MB/s, CPU, cache hit/destage ve background iş ekle. Aynı koşulda HDD, SSD veya tier seçeneğinin hangi hizmet hedefini ve maliyet sınırını karşıladığını yaz.
BİLGİNİ KONTROL ET
Kısa testte yüksek IOPS görülmesi hangi sonucu destekler?
Koruma geometrisini hata senaryosuyla seç
Koruma geometrisi verinin ve ek koruma bilgisinin hangi bileşenlere, node’lara veya hata alanlarına dağıtıldığını anlatır. Striping işi paralel birimlere bölebilir fakat tek başına koruma sağlamaz. Mirroring aynı verinin birden fazla kopyasını tutar; okuma seçenekleri ve basit recovery sağlayabilir, kapasite maliyeti yüksektir. Parity temelli RAID veri ve parity’yi stripe’lara dağıtır; kapasite verimliliği artarken özellikle küçük write için read-modify-write veya full-stripe davranışı, hesaplama ve backend I/O etkisi doğabilir. Erasure coding veriyi data ve parity chunk’larına ayırarak yapılandırılabilir kapasite-dayanıklılık dengesi sunar. “RAID 6 güvenlidir” tek başına mimari gereksinim değildir. Kaç data ve parity birimi var, stripe/chunk boyutu ne, koruma hangi drive/node/rack/site hata alanına yayılıyor, aynı anda kaç ve hangi hata tolere ediliyor, rebuild sırasında kalan koruma ve performans ne, ikinci hata veya latent sector error nasıl ele alınıyor? Aynı isim farklı implementasyonlarda farklı stripe genişliği, spare politikası ve distributed rebuild davranışı gösterebilir. SNIA Data Protection Best Practices, erasure coding’i özellikle büyük ve dağıtık sistemlerde storage verimliliği, performans ve rebuild hızı arasında yapılandırılabilir denge olarak tanımlar. Ancak parity sayısını artırmak bedelsiz değildir: usable oran düşer, encode/decode işi ve failure halinde okuma yolu artabilir. Geometri iş yükü, failure domain, recovery süresi ve operasyon yeteneğiyle birlikte seçilir.
Basit geometri hesabı tasarımın başlangıcıdır. N data + M parity şemasında teorik kullanılabilir oran N/(N+M)’dir; formatlama, metadata, spare, sistem rezervi, copy-on-write ve data services bundan ayrıca düşer. Mirror factor iki ise teorik fiziksel kapasitenin yarısı veri kopyasına ayrılır. Bu oranlar yalnız kapasiteyi gösterir; küçük write maliyeti, rebuild trafiği, controller/cache davranışı ve dağıtım sınırı ayrıca ölçülür. Rebuild süresi yalnız drive kapasitesinin nominal bant genişliğine bölünmesi değildir. Kaynak ve hedef medyanın gerçek boş kapasitesi, production yükü, rebuild throttling, ağ/backend paylaşımı, kaç chunk okunacağı, data reduction/encryption yolu ve hata sırasındaki ek retry sonucu etkiler. Daha büyük drive daha az cihazla kapasite sağlayabilir; tek arızada yeniden oluşturulacak veri ve risk penceresi büyüyebilir. Degraded durumda müşteri hizmetinin p99 latency ve throughput hedefi korunmuyorsa “veri kaybolmadı” tek başarı ölçütü değildir. Spare da etiketten ibaret değildir. Dedicated veya distributed spare kapasitesi, hangi hata alanında bulunduğu, otomatik rebuild tetikleme koşulu, replacement tedarik süresi ve yeniden korumalı duruma dönüş hedefi yazılır. Scrub/patrol read ve integrity doğrulaması latent hataları daha önce bulabilir; frekans ve performans etkisi operasyon planına girer.
| Boyut | Mirror | Parity/EC |
|---|---|---|
| Kapasite | Kopya sayısına bağlı yüksek overhead | N/(N+M) başlangıç oranı |
| Write yolu | Birden fazla kopyaya yazma | Parity/encode ve stripe davranışı |
| Failure read | Sağlam kopyadan okunabilir | Eksik chunk yeniden oluşturulabilir |
| Rebuild | Kopya kaynaktan yeniden yazma | Birden çok kaynaktan okuma/hesaplama |
| Karar kanıtı | Kopyaların bağımsız hata alanı | Data/parity yerleşimi ve degraded test |
ŞİMDİ SEN DENE
İki koruma geometrisini hesapla
Aynı 120 TB usable hedef için 2-way mirror ile 8+2 erasure/parity örneğini karşılaştır. Teorik fiziksel kapasiteyi, sistem rezervi ve spare varsayımını, normal/degraded write yolunu, tolere edilen hata setini, rebuild sırasında okunacak/yazılacak veri akışını ve hizmet hedefini yaz. Sonucu ürün tavsiyesi yapmadan hangi iki ölçümün seçimi değiştireceğiyle kapat.
BİLGİNİ KONTROL ET
8 data + 2 parity geometrisindeki iki parity birimi neyi kesin garanti eder?
Arven veri yolu ve koruma kararını üret
Arven’in ERP, görüntü ingest ve kullanıcı dosyası yükleri için tek bir all-flash pool önerilmiştir. Aday tasarım 8+2 parity/EC, yüzde 10 spare ve controller write cache içerir. Sunum 500.000 IOPS ve 1 PB effective capacity yazar; test beş dakika sürmüş, veri seti cache’ten küçük kalmıştır. Koruma chunk’larının hangi drive enclosure veya node’lara dağıldığı, bir node kaybında p99 sonucu, cache failover ve rebuild süresi belgelenmemiştir. Pre-Sales önce üç veri yolunu çizer. ERP VM’den filesystem, virtual disk, host multipath, iki fabric, storage front-end, controller cache, backend ve media’ya; görüntü uygulamasından object gateway, network, metadata ve data node’larına; kullanıcı paylaşımından SMB/NFS katmanı ve file controller’a kadar ölçüm noktaları işaretlenir. Her katmana timeout, queue, retry, sahip ve saat kaynağı eklenir. Ortak controller, uplink veya backend port görülürse üç hizmetin birbirini etkileyebileceği varsayımı test edilir. Ardından medya ve cache matrisi kurulur. ERP için 70 dakikalık küçük random/senkron write profili; ingest için büyük sequential/object akışı; file servisi için metadata ve küçük dosya karışımı, normal ve tepe dolulukta çalıştırılır. Cache sıcak ve soğuk, destage/GC aktif, bir path ve bir controller kayıp durumları ayrı load point’tir. Başarı yalnız array IOPS değil, ERP p99 commit, ingest tamamlanma süresi ve dosya operasyonu percentile’ıdır. Koruma kararı 8+2 etiketini açar: data/parity yerleşimi, enclosure/node/rack hata alanı, usable hesabı, spare, rebuild throttling, degraded performans ve ikinci hata riski kaydedilir. Mirror alternatifi kapasite maliyetiyle; daha geniş veya dar EC alternatifi rebuild, latency ve fault-domain etkisiyle karşılaştırılır. RAID/EC’nin backup olmadığı ve ayrı kurtarma kanıtı gerektirdiği karar notunda korunur.
MÜŞTERİYE SOR
8+2 chunk’ları hangi drive, enclosure, node ve rack’lere dağılıyor; bir node kaybında rebuild ne kadar sürüyor ve aynı anda ERP p99 ile ingest hedefi korunuyor mu?
Parity sayısını gerçek hata alanı, risk penceresi ve degraded hizmet sonucuna bağlar.
| Durum | Değişken | Başarı ölçüsü |
|---|---|---|
| Normal steady-state | Cache’ten büyük veri, 70 dk | Üç iş hizmetinin percentile/hedefi |
| Path kaybı | Tek yol kapalı | Timeout/retry ve hedef süre |
| Controller kaybı | Cache failover | Durability ve p99 |
| Drive/node kaybı | Degraded + rebuild | Kalan koruma, rebuild süresi ve hizmet |
| Yük çakışması | ERP + ingest + file | QoS ve komşu yük etkisi |
ŞİMDİ SEN DENE
Arven veri yolu ve koruma karar kaydını hazırla
Üç hizmet için uygulamadan medyaya veri yolunu çiz; her queue, cache, protocol, controller, backend ve failure domain’i etiketle. 8+2, 2-way mirror ve bir alternatif geometriyi usable, write yolu, fault tolerance, degraded sonuç, rebuild ve maliyetle karşılaştır. Beş load point için iş kabul eşiği, metrik, ölçüm noktası, sorumlu ve rollback yaz. Bilinmeyenleri kesin ürün iddiasına çevirmeden TBD bırak.
BU DERSTEN AL
Bu dersten taşıyacağın düşünceler
- I/O latency uygulamadan medyaya uzanan katmanların toplam davranışıdır.
- Host/front-end ve backend I/O farklı ölçüm noktalarıdır.
- Medya, arayüz, cache ve queue mimarisi ayrı karar boyutlarıdır.
- Koruma geometrisi kapasite, write yolu, hata alanı ve rebuild riskiyle seçilir.
- Arven kararı normal, steady-state, degraded ve rebuild load point’lerinde iş sonucu kanıtı ister.