ZFS RAIDZ için IOPS hesaplaması RAID5 ve RAID6 için IOPS hesaplamasından farklı mıdır?


13

Geleneksel RAID dizileri için IOPS hesaplanırken aşağıdaki formül kullanılabilir ( Symantec Connect'te IOPS v1.3'ün Askıya Alınmasından Ödünç Alındı ):

Ieffective = (n * Isingle) / (READ% + (F * WRITE%))

Nerede:

  • Etkin, etkili IOPS sayısıdır
  • Isingle tek bir sürücünün ortalama IOPS değeridir .
  • n dizideki disklerin sayısıdır
  • READ%, disk profillemesinden alınan okumaların oranıdır
  • % WRITE, disk profilinden alınan yazmaların oranıdır
  • F, RAID yazma cezasıdır :

    RAID Level      Write Penalty
    RAID-0          1
    RAID-1          2
    RAID-5          4
    RAID-6          6
    RAID-10         2
    RAID-DP         2
    

Formül aslında aşağıdakilerin bir fonksiyonudur:

  • Dizideki her bir sürücü için IOPS
  • Disk sayısı. Daha fazla disk daha fazla IOPS anlamına gelir
  • Her yazma işlemi için RAID cezası.
    • RAID5 ve RAID6, her yazma işlemi için 4+ disk işlemi gerektirir. Kontrolör bloğu okumalı ve sonra eşlik verilerini (iki işlem) okumalı, yeni eşlik verilerini hesaplamalı ve sonra eşlik bloğunu güncellemeli ve veri bloğunu güncellemelidir (İki işlem daha). RAID6'nın iki eşlik bloğu vardır ve bu nedenle üç okuma ve üç yazma gerektirir. RAID5 ve RAID6 dizileri bu nedenle RAID1'den daha az IOPS yeteneğine sahiptir.
    • RAID1 ve RAID10, aynadaki her diske bir tane olmak üzere yalnızca 2 yazma gerektirir.

Ve açık olmak gerekirse, bunların hepsi teorik performansın bir tahminini verir. Çeşitli denetleyicilerin ve RAID yöntemlerinin bazılarını hızlandırmak için püf noktaları vardır.

RAID5 ve RAID6'nın ZFS eşdeğeri RAIDZ ve RAIDZ2'dir. RAIDZ dizileri için IOPS hesaplarken, RAID5 ve RAID6 için kullandığım formülün aynısını kullanabilir miyim, yoksa ZFS'de yazma işlemleri için gereken işlem sayısını azaltmak için özel hileler var mı?

RAIDZ dizileri için IOPS hesaplanırken kullanılacak farklı bir formül var mı?


1
Harika bir soru. Cevapları okumak için sabırsızlanıyorum ...
EEAA

1
iops efsanevi ama bu doktor biraz fikir verebilir. info.nexenta.com/rs/nexenta/images/…
tony roth

IOPS teorik olabilir, ancak aynı sürücüler göz önüne alındığında RAID10 dizisinin neden tipik olarak bir RAID5 dizisinden daha iyi performans göstereceğine dair bir açıklama sağlayabilir.
Stefan Lasiewski

Nexenta belgesinden
Stefan Lasiewski

Yanıtlar:


13

Bunu cevaplamak daha kolay ...

Hepsi burada damıtılmıştır: ZFS RAID önerileri: alan, performans ve MTTDL ve ZFS, Vdevs ve Performansa Yakından Bakış

  • Bir eşlik sürücüsüne sahip RAIDZ size tek bir diskin IOPS performansını sağlar, ancak tek bir diskin n-1 katı toplam bant genişliği sağlar.

Bu nedenle ölçeklendirmeniz gerekiyorsa, RAIDZ vdevs sayısıyla ölçeklendirirsiniz ... Örneğin 16 diskte 4 grup 4 diskli RAIDZ, 2 grup 8 diskli RAIDZ'den daha fazla IOPS potansiyeline sahip olacaktır.

Şaşırtıcı, değil mi?

ZFS kurulumlarımda genellikle çizgili aynalarla (RAID 1 + 0) giderim. Aynı kavram geçerlidir. Daha yansıtılmış çiftler == daha iyi performans.

ZFS'de yalnızca tam bir vdev biriminde genişletebilirsiniz. Bu nedenle, bir RAID 1 + 0 setinin genişletilmesi daha fazla çift eklemek anlamına gelirken, RAIDZ setleri için aynı işlemi yapmak, eşit bileşime sahip daha fazla RAIDZ grubu eklemek anlamına gelir.


İyi bir makale, ancak ZFS RAID1 ile RAID5 arasındaki bağlantı karşılaştırması o kadar eskidir ("Tek Parite Modeli Sonuçları" ve "Çift Parite Modeli Sonuçları" eksik). Sıçanlar!
Stefan Lasiewski

Bir eşlik sürücüsüne sahip RAIDZ size tek bir diskin IOPS performansını verecektir Bu ilginç, okuma / yazma yüzdelerine bakılmaksızın sabit bir değer midir? Örneğin, RAID5'in performansı okuma ayetleri yazma yüzdesine bağlı olarak büyük ölçüde değişir. 3 Disk 15K dizisi, okuma / yazma oranına bağlı olarak 130IOPS ile 500IOPS arasında değişebilir. % 50 okuma ve% 50 yazma, tek bir diskin IOPS performansından daha fazla sonuç verir . 3+ iş milini kullanmak 1 işmili karşısında performansı artırır, doğru mu?
Stefan Lasiewski

Ben sadece vdev ölçeklendirme düşünüyorum ve bu vdev kompozisyonu ne olursa olsun, yazma performansı 1 diske eşittir; ayna, RAIDZ, RAIDZ2, vb. Vdev'lerin içindeki diskler kapasitenizi artırmak için oradadır. Vdevs sayısı şeritleme performansınızı arttırmak için kullanılır. Vdevs'ten gelen okumalar sürücü sayısı ile ölçeklendirilir.
ewwhite

1
Bu konuda önemli bir deneyime sahibim ve çoğu durumda RAIDZ'nin geleneksel bir RAID5 / 6 eşdeğeri diziye atılan aynı sayıda diskten daha iyi performans göstermeyeceğini doğrulayabilirim. Geleneksel RAID5 / 6 dizilerinin çoğu, RAID setine iğ eklerken IOPS performansı (neredeyse herkesin umursadıkları gibi) kazanırken, ZFS bunu yapmayacaktır. Buna karşılık, ZFS verilerinizi kaybetmez ve 'RAID yazma deliği' sorunundan muzdarip değildir. Ayrıca tüm anlık görüntüler, klonlar, sıkıştırma vb. Ve ARC. Ve .. fikri anladınız.
Nex7

3
Sadece net olmak istiyorum - ZFS tasarımıyla hiçbir performans savaşı kazanmayacak. Aynı donanımda ZFS'den daha iyi performans gösterebilecek alternatif dosya sistemleri ve birim yöneticileri (veya kombinasyonlar) bulabilirsiniz (örneğin ext4 ve bir Adaptec RAID kartı). Farkına vardığım tek istisna, ARC'nin ZFS'ye çoğu alternatifte çoğu zaman bir bacak verdiği, kolayca önbelleğe alınan okumalardan geliyor. Ama ne zaman yazıyor? Hayır. ZFS'nin veri bütünlüğü ve yazımları nasıl ele aldığı konusundaki çaba neredeyse hiçbir zaman hız yarışmaları kazanmayacaktır. Ödünleşmeler bütünlük ve özellik kümesidir.
Nex7
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.