ZFS: Ayna ve RAID-Z


14

İki ana hizmet sağlayacak OpenSolaris ve ZFS kullanarak bir dosya sunucusu oluşturmayı planlıyorum - XenServer sanal makineleri için bir iSCSI hedefi ve genel bir ev dosyası sunucusu. Baktığım donanım, 2x 4 bağlantı noktalı SATA denetleyicilerini, 2x küçük önyükleme sürücülerini (her denetleyicide bir tane) ve depolama için 4x büyük sürücüleri içerir. Bu, diziyi yolda yükseltmek için denetleyici başına bir boş bağlantı noktasına izin verir.

Biraz kafam karıştıysa, depolama sürücülerini nasıl kuracağım. Performans için yansıtma kral gibi görünüyor. Yansıtma üzerinde RAIDZ kullanmanın ne yararı olacağını görmekte zorlanıyorum. Bu kurulumla iki seçenek görebiliyorum - bir şeritte iki aynalı havuz veya RAIDZ2. Hem RAIDZ2 tek faydası olacağını ... 2 sürücü arızaları ve / veya bir kontrolör hatalarına karşı koruma gereken herhangi 2 sürücü başarısız olabilir. Her iki durumda da depolama kapasitesi% 50 olmalıdır, ancak birincisi çok daha iyi performansa sahip olmalı, değil mi?

Fikrimi sarmaya çalıştığım diğer bir şey, ikiden fazla cihazla yansıtılmış dizilerin yararı. Veri bütünlüğü için, üç yollu bir ayna üzerinde bir RAIDZ'nin yararı ne olurdu? ZFS dosya bütünlüğünü koruduğundan RAIDZ tabloya ne getirir ... ZFS'nin bütünlük denetimleri RAIDZ'nin eşlikinin değerini olumsuzlamaz mı?

Yanıtlar:


14

Basit cevap, bir şeyi yansıtmanın neredeyse hiç işlem gücü gerektirmemesidir - sadece diske ikinci kez yazar. RAID-Z2 için, tamamen yeni bir eşlik bloğu hesaplamanız gerekir; bu, büyük miktarlarda veriyi hızlı bir şekilde yazmanız gerektiğinde CPU'yu küçültebilir.

Hızlı yazma hızları olmadan sadece toplu depolama, RAID-Z2 izin vermez iyi bir alternatiftir eğer Yansıtma, her zaman yüksek hızlı veri için tercih edilen çözüm herhangi sen ima olarak iki sürücü ölmek.

Diğer avantajı, yansıtılmış havuzların daha yansıtılmış cihazlarla genişletilebilmesidir - bir RAID-Z2 genişletilemezken - havuza daha fazla RAID-Z2 depolama alanı eklenebilse de, iki RAID-Z2 depolama havuzu birleştirilecektir ( etkisi) tüm depolama ve çizgili arasında eşit olarak bölünmek yerine.


Fakat ZFS'de RAIDZ'nin eşlik bloğu size ne veriyor? ZFS'nin zaten sunduklarının ötesinde ek veri bütünlüğü sağlıyor mu? Yoksa herhangi iki sürücünün ölmesi gerekiyor mu? Üç yollu senaryodakinden tek fayda bu ise, RAIDZ'in bir aynadan faydası olmaz, değil mi?
John Clayton

1
RAID-Z, bir sürücünün ölmesine izin verir - 10 sürücünüz varsa, 9 sürücüye değer veri alırsınız. RAID-Z2 ile iki sürücünüzün ölmesini ve 8 sürücünün değerine sahip olmasını sağlayabilirsiniz. Ayna ile, sürücülerin yarısının ölmesini sağlayabilirsiniz, ancak her iki setten sadece biri. Bunu zaten bildiğinizden şüpheleniyorum, ancak iki sürücünün başarısız olduğu iki çözüm sağlayan RAID-Z2 ve Ayna modu olmak üzere 4 sürücünün bu saçak kasası. Normal bir senaryoda "yararlı" olan ek veri bütünlüğü ödeneği yoktur.
dotwaffle

Öyleyse RAIDZ'in aynalara göre avantajı, donanım arızalarından biraz daha mı korunuyor? RAIDZ1 ve X sürücülü bir ayna aslında eşdeğer midir?
John Clayton

5
RAID-Z'nin paritesi, ZFS'nin yerleşik sağlama toplamının bir üst kümesidir. Sağlama toplamının yaptığı, disklerden okunan verilerin doğru olduğundan emin olmaktır. Küçük ek yük ile hızlı bir kontrol olacak şekilde tasarlanmıştır. RAID-Z'nin paritesi size bir sürücü kaybı (veya RAID-Z2 için 2) olması durumunda hasarlı verileri yeniden oluşturma yeteneğidir . Ancak bu parite verilerini oluşturmak için hesaplamalar, basit bir blok sağlama toplamından çok daha fazla CPU yoğundur ve yalnızca bir 4KB bloğu yazıyor olsanız bile, tüm şeritte hesaplanması gerekir.
afrazier

4
@John Clayton: Yedeklilik düzeyi, depolama alanınızı nasıl yapılandırdığınıza bağlıdır. N yönlü bir ayna oluşturabilirsiniz, yani veri kapasiteniz bir sürücünün boyutudur, ancak herhangi bir veri kaybetmeden N-1 sürücülerini kaybedebilirsiniz. Örneğin, 3 yollu aynanız varsa, 3 sürücünün tümü aynı verileri içerir ve veri kaybetmeden 2 sürücüyü kaybedebilirsiniz. Fark, N-yollu bir aynaya sürücü eklemenin artıklığı arttırmasıdır (ancak kapasiteniz her zaman 1 sürücü boyutundadır), raidz2'ye sürücü eklemek kapasiteyi arttırır (ancak yedekliğiniz her zaman 2 sürücüdür).
soymak

18

RAID-Z, RAID 5/6 birimlerinin sıkıntı çektiği yazma cezası ve veri bütünlüğü sorunlarının çoğunu, bazı CPU zamanları pahasına ortadan kaldırır. Tipik olarak, sistemlerin CPU döngüleri vardır, bu nedenle IO performansını ve veri bütünlüğünü iyileştirmek için CPU zamanı harcamak, yansıtma ile karşılaştırıldığında iyi bir uzlaşmadır.

Aşağıda, RAID-Z'nin diğer sorulara cevap verebilecek ayrıntılı bir açıklaması bulunmaktadır .

Ayrıca RAID'in bir hataya dayanıklılık çözümü olduğunu unutmayın . Veri kaybına karşı koruma sağlamak için RAID-Z2'yi kullanmazsınız - yedekleme yaparsınız veya bunu yapmak için çoğaltırsınız. Donanım arızası durumunda sistemlerinizi çalışır durumda tutmak için RAID-Z2 vs. RAID-Z veya RAID-10 vs RAID-6 vs.


1
Teknik farkı anlamama yardımcı olduğu için dotwaffle'a cevap vermeliyim. Amaçlanan kullanım hakkında büyük tavsiye olsa ... bu beni gerçekten durdu ve düşünüyorum.
John Clayton

1
Dikkat edilmesi gereken önemli bir nokta, RAIDZ yazma cezası sorunlarını ortadan kaldırırken , her okuma işlemi için artan eşzamanlılık nedeniyle okuma cezası sorunları getirmektedir
wabbit
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.