RAID5, RAID1'den daha sağlam mı


12

Eski bir donanım RAID5 dizisini Linux yazılımı RAID1 dizisiyle değiştirmek üzereyim. Bir arkadaşımla konuşuyordum ve RAID5'in RAID1'den daha sağlam olduğunu iddia etti.

Onun iddiası, RAID5 ile okuma sırasında eşlik verilerinin tüm sürücülerin doğru verileri döndürdüğünden emin olmak için okundu. Ayrıca, RAID1 ile böyle bir denetim yapılmadığı için bir sürücüde meydana gelen RAID1 hatalarının fark edilmeyeceğini iddia etti.

Bunun nasıl doğru olabileceğini görebiliyorum , ancak her şeyin söz konusu RAID sistemlerinin nasıl uygulandığına bağlı olduğunu da görebiliyorum. Şüphesiz bir RAID5 sistemi değil sahip bir okuma ve RAID1 sistemi üzerinde eşlik verileri okumak ve kontrol etmek olabilir (aynı kolaylıkla hepsi aynı veriyi tutuyorlardı kontrol etmek okumadak tüm sürücülerden okumak ve bu nedenle sağlamlığı aynı düzeyde elde performans kaybı ile).

Yani soru şu ki, gerçek dünyadaki RAID5 / RAID1 sistemleri gerçekte ne yapar? RAID5 sistemleri okumalardaki eşlik verilerini kontrol ediyor mu? Tüm sürücülerden okunan ve okuma sırasında verileri karşılaştıran RAID1 sistemleri var mı?

Yanıtlar:


22

RAID-5, veri bütünlüğü çözümü değil, hataya dayanıklı bir çözümdür .

RAID'in Ucuz Disklerin Yedek Dizisi anlamına geldiğini unutmayın . Diskler artıklığın atomik birimidir - RAID gerçekten verileri umursamaz. Veri yedekliliği ve bütünlüğünü ele almak için WAFL veya ZFS gibi dosya sistemleri kullanan çözümler satın alırsınız .

RAID denetleyicisi (donanım veya yazılım) , okuma sırasında blokların eşlikini doğrulamaz . Bu, RAID-5'i çalıştırmak için büyük bir risktir - bir sürücüde kısmi bir medya hatasıyla karşılaşırsanız (kötü bir bloğun "kötü" olarak işaretlenmediği bir durum), şimdi verilerinizin sessizce olduğu bir durumdasınız demektir. bozuk.

Sun'ın RAID-Z / ZFS aslında uçtan uca veri bütünlüğü sağlar ve CPU'larda bulunan çekirdek sayısı artmaya devam ettikçe gelecekte diğer dosya sistemleri ve RAID sistemlerinin bu özelliği sağlayacağından şüpheleniyorum.

RAID-5 kullanıyorsanız, bence ucuz olursunuz. RAID 1 daha iyi performans gösterir, daha fazla koruma sunar ve bir sürücü arızalandığında üretimi marjinal bir maliyet farkı için etkilemez.


6

Cevabın denetleyiciye / yazılıma bağlı olduğuna inanıyorum, örneğin aynalama sistemlerinin bir çiftten sadece bir diski okuması ve bu nedenle yanlış verileri verebilmesi oldukça yaygındır. Sonuçlarınız bu verilere bağlıysa, veriler her iki diske de yazıldığında, her iki diskte de bozulduğunu unutmayın ...

SATAssure (tm) Plus altındaki pdf'den:

"Devrim niteliğindeki SATAssure teknolojisi, büyük kapasiteli, ucuz SATA disk sürücüleri kullanarak kurumsal düzeyde veri koruması ve güvenilirlik sunar. SATAssure, tüm okuma işlemlerinde çalışır, veri bütünlüğünü sağlar ve sorunları gerçek zamanlı olarak otomatik olarak düzeltir - geleneksel olarak bulunan performans veya kapasite cezası olmadan depolama sistemleri. Bireysel sürücüleri güçlendirmek için yeni bir yetenek ile sürücü RMA'larını azaltın. "

Bazı üreticilerin her zaman pariteyi hesapladıkları gerçeği hakkında bir karışıklık yaratması ilginçtir , bu beni donanım denetleyicilerinde nispeten nadir olduğunu düşünmeye yönlendiriyor. Ayrıca, ZFS ve WAFL (netapp) gibi sistemlerin her okuma için eşlik hesaplamaları yaptığını da not etmek gerekir.


Bu bağlantı ilginç görünüyor, ancak aslında o sayfada veya broşürde herhangi bir yerde tüm okumalarda pariteyi yeniden hesapladıklarını açıkça söylüyor mu?
andynormancx

PDF'den bir teklif ekledim. S2A kutularının sessiz üst uç olduğuna dikkat edin.
James

3

RAID-5 ile, eşlik genellikle genel okumada değil, sadece dizi yeniden oluşturmada okunur. Bu nedenle, okumalar daha rasgele ve daha hızlı olabilir (çünkü diziden 1K veri istediğinizde tüm şerit için pariteyi okumak ve hesaplamak zorunda değilsiniz).

RAID-1 ile, okumaların arttırılması için genellikle okumalar mümkün olduğunda sürücüler arasında kademelendirilir. Belirttiğiniz gibi, RAID alt sistemi her iki sürücüyü de okumaya çalışır ve farklıysa, alt sistemin hangi sürücünün yanlış olduğunu bilmesinin bir yolu yoktur.

Çoğu RAID alt sistemi denetleyiciyi veya bilgisayarı kötüye gittiğinde bilgilendirmek için sürücüye bağlıdır.

RAID-5 "daha sağlam" mı? Cevap, duruma bağlı. RAID-5, belirli sayıda disk için RAID-1'den daha etkili depolama alanı elde etmenizi sağlar; bir diskin ötesinde etkin depolama sağlamak için RAID-1'in RAID-0 ile bir RAID-1 dizileri dizisi veya iki RAID-0 şeridindeki bir RAID-1 ile birleştirilmesi gerekir.

(Birincisini tercih ediyorum, çünkü tek bir sürücü arızası tek bir RAID-1 elemanını çıkaracak, yani sadece tek bir sürücünün yeniden oluşturulması gerekecek. disk değiştirildiğinde sürücü yeniden oluşturmaya dahil edilecektir.)

Bu aynı zamanda bir yazmanın sürücü elektroniği tarafından başarılı olarak rapor edildiği "fantom yazmaları" ile ilgili tartışmalara yol açar, ancak herhangi bir nedenle yazma işlemi diske asla ulaşmaz. Bu oluyor. Bir RAID-5 dizisi için, bir sürücü arızanız olduğunda, dizinin kurtarılması için hayatta kalan TÜM sürücülerdeki TÜM sektörleri MÜKEMMEL bir şekilde okuması GEREKİR. NetApp, sürücülerin büyük boyutunun yanı sıra baskın gruplarının büyük boyutunun, bazı durumlarda yeniden oluşturma sırasında başarısız olma olasılığınızın her on kişiden biri kadar kötü olabileceği anlamına gelir. Bu nedenle, büyük RAID gruplarındaki büyük disklerin çift eşlik (RAID-6 ile ilişkili olduğunu düşünüyorum) kullanmasını tavsiye ediyorlar.

Bunu birkaç mühendis tarafından verilen bir NetApp teknik tartışmasında öğrendim.


"Daha etkili" ... "daha fazla kapasite" terimini kullanmam daha uygun olur. Aklımda, verilerimi kaybetmem olasılığını artıran bir çözüm daha etkili değil.
duffbeer703

Her şey maliyet değeri olan bir ödünleşmedir. RAID-5 daha fazla depolama maliyetinden tasarruf sağlarken, RAID-1 veya RAID-1 + 0 (0 + 1) daha sağlamlıktan etkilidir.
David Mackintosh

0 + 1 yerine 1 + 0'ı tercih etmenin diğer nedeni, 0 + 1'in yalnızca 2 hayatta kalabileceği "1 + 0, 6 olası" 4'ün 4'ünden hayatta kalabilir. 0 + 1 bir kolda bir denetleyici arızasından kurtulabilmesine rağmen (0 + 1 olamaz) bu, sürücü arızasından (hatta birden fazla sürücü arızası) çok daha nadirdir.
David Spillett

RAID-DP (NetApp'in çift eşlik uygulaması) bir RAID-6'dır. RAID-6 (RAID-5'in aksine) fonksiyonel olarak iki disk arızasından kurtulabilen bir RAID olarak tanımlanır. RAID-DP, pariteyi dağıtmaması nedeniyle tipik RAID-6'dan farklıdır - WAFL rasgele yazmalar yazmaz, bu nedenle parite dağıtmak herhangi bir fayda sağlamaz.
Kaptan Segfault

3

Hiçbir ortak RAID uygulaması genellikle veri erişimindeki pariteyi kontrol etmez. Hiç görmedim. Bazı RAID5 uygulamaları, gereksiz arama yapılmasını önlemek için akış okumaları için eşlik verilerini okur (sürücünün her nth bloğu aramasına neden olmaktan çok her nth bloğu atmak daha ucuzdur). RAID1 uygulamaları, her iki diskten de performans için okuduklarından (RAID1 uygulamalarının büyük çoğunluğunda okudukları için) kontrol edemezler. yük.)

Bazıları bir arka plan 'ovma' ile kontrol eder. Bu durumda, RAID6 verileri kurtarabildiğinden kazanır ve RAID5 ve RAID1 aynı durumdadır, tanımlayabilir ancak düzeltemezsiniz. (Sürücü hatalı bir CRC algılayabildiğinden, bir hata döndürdüğünden ve bloğu eşlikten yeniden yazmanıza izin verebileceğinden bu kesinlikle doğru değildir. Bu oldukça yaygındır).

Veri bütünlüğü istiyorsanız, uygulama katmanında her bloğu (veya kaydı veya bölünmüş halde) içeren bir karma depolayın. Sybase ve Oracle (sayfa düzeyinde inanıyorum) bunu yapmak ve birçok kez devasa bir veritabanı kurtarmak gördüm. (örneğin, denetleyici hatalı veriler döndürmeye başlar, sybase açık bir hatayla çöker, bu nedenle veritabanı tutarsız bir durumdaki donanım arızasında çalışırken yazma işlemi yapılmaz).

Tek dosya sistemi çözümü ve bunu sizin için yapan tek RAID çözümü ZFS'dir.


0

Arkadaşınız bazı RAID düzeylerinde bulunan eşlik bitinden mi , yoksa diske yazılan verilerin sağlama toplamından mı bahsediyor ?

Eşlikteylerse, RAID1'in eşlik biti yoktur - Aynı verilerin iki kopyası vardır. Diske yazılanın kablodan aşağıya gelenle eşleştiğinden emin olmak için disk tarafından yapılan bir sağlama toplamı olmalıdır

RAID5'in eşlik biti var. Bu, RAID setinizdeki bir diski kaybedebileceğiniz ve hiçbir şey olmamış gibi devam edebileceğiniz anlamına gelir. Yine de, kablodan indirilenle eşleştiğinden emin olmak için diske yazılan verilerin bir sağlama toplamı yapılmalıdır.

Bu durumda, sağlama toplamları, bir grup diskle gerçekleştirilebilen veya gerçekleştirilemeyen RAID'den tamamen bağımsızdır

Eklemek için düzenlendi: Donanım RAID'inden yazılım RAID'e geçmekten bahsettiniz. Tercih her zaman yazılım RAID yerine donanım RAID'dir. Uygulamak istediğiniz RAID seviyesini vermek için gereken donanımı satın alabiliyorsanız, bunun için gitmenizi öneririm. Bu, tüm eşlik hesaplamalarının ana bilgisayar yerine RAID kartı tarafından yapılmasını sağlar. Bu nedenle ana bilgisayarda kaynak serbest. Şüphesiz başka faydalar da var, ama şu anda benden kaçıyorlar


Eşlikten bahsediyordu. RAID5'te eşlik bilgisinin bir okumada alındığını ve okuma hatası olmadığını kontrol etmek için diğer disklerden gelen verilerle karşılaştırıldığını iddia ediyordu.
andynormancx

5
Her durumda yazılım üzerinde donanım RAID'i önerdiğinize katılmıyorum. Modern donanım ile, RAID yazılımı, sunucunuzda bol miktarda yedek CPU varsa (ki her zaman sahip olacak) donanım kadar hızlı olabilir. Ayrıca, donanım RAID'in dezavantajları vardır, ana olanı kurtarma durumunda olan bir RAID kartına ihtiyacınız vardır. Yazılım RAID ile bir sürücüyü bir makineden çıkarabilir, başka bir sürücüye yapıştırabilir ve eskisine tam olarak uyan yeni bir RAID kartı almadan gidebilirsiniz.
andynormancx

Ne bağlamdan bahsettiğini en alt seviyeye ulaşmaya çalışıyordum Anladığım kadarıyla, sağlama toplamları disk yazma üzerine (RAID ne olursa olsun) kullanılır. Eşlik, farklı disklere veri parçaları koymak ve bir disk arızası durumunda bir dizi oluşturmak için kullanılır. Parite tüm RAID seviyelerinde kullanılmıyor
Ben Quick

1
Donanım RAID yazılımı Vs hakkında tartışma için lütfen en.wikipedia.org/wiki/… adresine bakın. Açıkçası, seçtiğiniz uygulama ortamınıza ve gereksinimlerinize bağlıdır. Benim tercihim RAID yazılımına göre donanım RAID
Ben Quick

Anladım, unutma ki hiç sağlama toplamından bahsetmiştim. Bu karışıklığı gidermek için soruyu güncelledim. Soru, RAID5 sistemlerinin genellikle okumalardaki eşlik verilerini kontrol edip etmediğiyle ilgili.
andynormancx

0

Eski bir donanım RAID5 dizisini Linux yazılımı RAID1 dizisiyle değiştirmek üzereyim. Bir arkadaşımla konuşuyordum ve RAID5'in RAID1'den daha sağlam olduğunu iddia etti.

Bu, baskın uygulama türüne (hw / sw), disklere, varsa baskın denetleyicisine ve özelliklerine bağlıdır.

Onun iddiası, RAID5 ile okuma sırasında eşlik verilerinin tüm sürücülerin doğru verileri döndürdüğünden emin olmak için okundu. Ayrıca, RAID1 ile böyle bir denetim yapılmadığı için bir sürücüde meydana gelen RAID1 hatalarının fark edilmeyeceğini iddia etti.

biraz mantıklı değil, ama gerçekten değil :) ne olur - yanlış veri yazılırsa, bir aynada her iki sürücüye de gönderilir ve raid5 paritesi üzerinde oluşturulur ve sürücüler arasında yayılır. veri okuma / yazma kontrolü disk ve denetleyici ürün yazılımı tarafından yapılır ve raid düzeyleriyle ilgisi yoktur.

So the question is, what do RAID5/RAID1 systems in the real world

Gerçekten mi? RAID5 sistemleri okumalardaki eşlik verilerini kontrol ediyor mu? Tüm sürücülerden okunan ve okuma sırasında verileri karşılaştıran RAID1 sistemleri var mı?

Dediğim gibi, kontroller raid algoritmasının bir parçası değildir, ancak bazı kontrolörlerde ek bir şey uygulanabilir.

dizinin sağlamlığı sürücülerin kalitesine kadardır (azalan RV oranları nedeniyle 2.5 "sürücüler 3.5'ten daha uzun yaşama eğilimindedir; Deneyimlerime göre HİÇBİR zaman maxtor SCSI / SAS sürücüleri satın almayın - korkunç ürün yazılımı hataları var), çevre (sıcaklık ve nem kontrolü), kontrolörün kendisi (bir BBU var mı? güncel yazılım mı? gerçek baskın mı yoksa fakeraid mi?), sunucudaki PSU miktarı, UPS kalitesi vb.


Korkarım, RAID5'in gerçek gerçek uygulamalarının bir okumadaki parite verilerini kontrol etmek için ne yaptığı hakkında tam olarak soruyu cevaplamadığınızdan korkuyorum.
andynormancx

0

Bunu bilmiyorum , ama bana öyle gelmiyor gibi görünüyor. Eşliği hesaplamak için, RAID setinizdeki tüm sürücülerden bloğu okuması ve daha sonra doğruluğu belirlemek için matematik yapması gerektiğini, oysa bunu yapmazsa, sadece bir sürücünün okumasını yapacağını unutmayın.

Ayrıca, okumanız birden fazla blok içinse, eşlik denetimi okuması onu tam bir bloğa genişletmek zorunda kalır, ancak düzenli bir okuma olmaz. (RAID blok diskler bloklardan daha büyük olduğunu, tabii ki, varsayarsak. Ben düşünüyorum o diskten tam blok olmak zorunda okur., Benim açımdan daha da geçerlidir etmiyorsa.)

Benim açımdan, evet, bunu yapabilirdi , ama eğer olsaydı, verimsiz olurdu ve herhangi birinin bu şekilde uygulandığından şüpheliyim.

Yine de, gerçek uygulamalar hakkında hiçbir kişisel bilgim yok.


0

RAID5 sistemleri okumalardaki eşlik verilerini kontrol ediyor mu?

Gerçekten mantıklı değil. Eşlik uyuşmazlığı bulduğunuzda ne yaparsınız? (Hangi bloğun yanlış olduğunu nereden biliyorsunuz?)

Rastgele okumalar için parite kontrolü pahalı olacaktır. Normalde rastgele bir okumaya yalnızca tek bir diske bakarak hizmet verebilirsiniz, ancak pariteyi kontrol etmek istiyorsanız her okumadaki tüm diskleri okumanız gerekir. (Bu konuda yapabileceğiniz herhangi bir şey varsa yine de mantıklı olabilir!)

RAID-1'in de bu soruna sahip olduğunu unutmayın - bu, RAID-1'e iki diskli RAID-5 olarak baktığınızda mantıklıdır.


0

RAID-1'in okumalarda RAID-5'ten daha hızlı olması gerektiği iddiası hakkında biraz düşündüm, çünkü her iki sürücüyü de aynı anda okuyor.

Şimdi, dizi yeniden oluşturulmaya ihtiyaç duymadıkça parite RAID-5'te okunmadığından, aslında okuma açısından bir RAID-0 dizisine eşittir, doğru muyum?

RAID-0 genellikle en hızlı düzey olarak kabul edilir ("AID" olarak adlandırılsa da, hiçbir yedeklilik olmadığından). :-D

Linux yazılımından bahsetmek, basit bir test olan hdparm kullanarak - bu teoriyi doğrular: RAID-5 dizilerim RAID-1 dizilerimden her zaman daha yüksek bir okuma hızı gösterir.

AMA: Bozulmuş bir dizi, normal çalışan bir diziden çok daha yavaş performans gösterir, öyle görünüyor! Bunu, farklı RAID seviyelerine sahip 4 WD 1 TB sürücüde çalışan Fedora 9 ile test ettim. İşte sonuçlar:

Bozulmuş RAID-5: okuma hızı 43 MB / sn Normal RAID-5: okuma hızı 240 MB / sn (!) RAID-1: okuma hızı 88 MB / sn

İzin verilen disk kaybı RAID-1 ve RAID-5'te (yani bir) aynı olduğundan, RAID-5'in RAID-1'den her açıdan daha iyi performans göstermesi gerektiğini düşünüyorum - dizide ve aynı diskte kullanılan disk sayısına göre daha fazla kapasite sağlar hataya dayanıklılık. Bu, normal okumada RAID-0 kadar hızlı olduğu için (iki eşlik diskinden okuma okunmaz) RAID-6'nın diğer RAID seviyelerinden daha iyi performans gösterdiğini ve bir kayıp durumunda hala hataya dayanıklı olduğunu belirten bir sonuca yol açar. dizi üyesi. ;-)


Bazı ilginç şeyler, ama sürekli duyduğum RAID1 yanlışlığını tekrarladın. Raıd1 yok değil sadece tek bir disk hatası hayatta anlamına zorundayız. RAID1 dizinizde yalnızca iki disk olması gerekmez. Örneğin 3 diskler ile RAID1 dizisi iki disk hatalarına hayatta kalacak ve (aynı zamanda okuma performansı artırmalıdır var ise RAID sistemi okuma birden sürücülerden okuyor).
andynormancx

-1

Şahsen, bir RAID sisteminin nihai testinin başarısızlığa ne kadar iyi dayanabileceğini düşünüyorum. Bu durumda, hem RAID5 hem de RAID1 tek sürücü arızalarını işleyebilir, ancak ikisi de bundan daha fazla dayanamaz.

Eşlik biti ile ilgili sorunuza gelince, bunun RAID sürücülerine bağlı olduğunu düşünürüm. Yeniden yapılanma sırasında kesinlikle okunacak, ancak normal kullanımda, bant genişliği harcanacağı için bunu yapmak pek mantıklı olmaz.


Korkarım "Herhangi bir RAID5 uygulamasının bir okumadaki pariteyi kontrol edip etmediğini bilmiyorum" anlamına gelir ve bu nedenle soruyu cevaplamaz.
andynormancx

Bu geçerli bir cevaptır çünkü sürücüyü gerçekten yazan kişi dışında kimse kesin olarak bilemez.
sybreon

-2

afaik, ben hiçbir 7/24 depolama pro, denetleyici her zaman ne yazılı ve disklerden okur denetler. raid1 ile tek bir diskte olduğundan biraz daha kötü yazabilirsiniz ancak okumalarınız biraz daha hızlıdır (iki diske bir dosya yazmak zorundadır, ancak bir parçayı birinci diskten diğerini ikinci diskten okuyabilirsiniz).

Bir baskın seviyesi için veri kontrolünü devre dışı bırakabilirsiniz, ancak bunun anlamı nedir, tüm baskın seviyeleri (0 hariç) size veri yedeklemesi sağlamak için oradadır, bu yüzden neden kendinizi engelleyin.

Raid 5 ile en az 3 diske ihtiyacınız vardır ve veri için N-1 diskleri kullanabilirsiniz. Raid 1 ile her zaman eşit sayıda diske ihtiyacınız vardır ve veri için N / 2 diskleri kullanabilirsiniz.

Daha büyük baskınlarda seviye 5 size daha fazla depolama alanı sağlarken, baskın 1 size daha fazla yedeklilik sağlar.

Daha sağlamsa, baskından daha fazla fazlalık sunan demek istiyorsan 1.

raid boyutuna bağlı olarak, bir hata durumunda yeniden oluşturma sürelerini de dikkate almalısınız (kaç disk var, bir disk ne kadar büyük, ne tür bir baskın (yumuşak, sahte-, donanım-), hangi seviye vb. )

Bu nedenle, bir baskının diğerinden daha sağlam olduğunu söylemek mümkün değildir (belki de 6 baskısı, depolama alanını kaybettiğiniz pahasına 5 baskınından daha sağlamdır)


1
Korkarım bu gerçekten soruma cevap vermiyor, sorum tam olarak tipik RAID5 uygulamalarının okunan parite verilerini kontrol edip etmediğiyle ilgili. Ve kayıt için RAID1 çift sayıda diske ihtiyaç duymaz. İçinde ikiden fazla disk bulunan bir RAID1 dizisine sahip olabilirsiniz, böylece yazma hızını azaltırken artıklığı artırır.
andynormancx

1
"denetleyici her zaman disklere yazılanları ve disklerden okunanları kontrol eder." Bu, denetleyicinin her iki diskten de okuyabileceği bir durum değildir, ancak bazı denetleyiciler aldıkları ilk verileri döndürür.
James

RAID1'in çift sayıda diske ihtiyacı olduğunu ve üçüncü bir aynanın RAID1'den başka bir şey olduğunu söylemek mümkün. Çok az uygulama, terminolojinin hiçbir zaman standartlaştırılmadığı üçüncü bir aynayı desteklemektedir.
carlito
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.