RAID5 sistemi yeniden oluşturma sırasında bir URE ile karşılaşırsa, tüm veriler kayboluyor mu?


23

Daha büyük sürücülerin yeniden yapılanma sırasında bir URE yaşama olasılığının arttığına dair argümanı anlıyorum, ancak bunun için gerçek sonuçların ne olduğundan emin değilim. Bu cevap , yeniden yapılanmanın tamamının başarısız olduğunu söylüyor, ancak bu tüm verilere erişilemez olduğu anlamına mı geliyor? Bu neden olsun ki? Elbette, sürücüdeki tek bir sektörden gelen tek bir URE yalnızca en fazla birkaç dosyayla ilgili verileri etkileyecektir. Dizi, birkaç dosyada küçük çaplı yolsuzluklarla yeniden oluşturulmaz mıydı?

(ZFS'nin burada RAID5 uygulamasıyla özellikle ilgileniyorum, ancak mantık herhangi bir RAID5 uygulaması için aynı görünüyor.)


1
Genel olarak, RAID5 riskleri bağlamında “ yeniden yapılanma sırasında bir URE yaşama olasılığı ” tartışıldığı zaman, ima edilen varsayım, yeniden yapılanmanın gerekli olmasına neden olmak için daha erken bir yolsuzluğun ortaya çıkmış olduğu varsayımıdır. Başka bir deyişle, "Yeniden oluşturma sırasında URE" ikinci URE'dir ve gerçekten TÜM veriler kaybedilir.
Colt

1
@Kolt - Bunun anlamını biliyorum, ama anlamadığım şey neden tek bir ÜRE'nin (ki, RAID5'in neden önerilmediğinin analizinde kötü bir sektöre işaret ettiği görülüyor) tüm verilerin kaybolmak. Genel olarak, RAID5 dizisinin 1 sürücüsünü kaybettiyseniz, o zaman hala tüm verilere sahibim. Ben ayrıca kalan sürücülerden herhangi birinden tek bir sektör kaybedersek o zaman öyle mümkün O sektörde saklandı verileri kaybettiğini, ancak bu sektörün boş alan (örneğin) ise o zaman umrumda değil ve bu sektörün eğer Bu konuda veri vardı o zaman sadece birkaç dosyayı etkileyebilir.
işlem91,

@Colt - Aşağıdaki cevaplara dayanarak, tek bir URE'nin olması durumunda diziyi yeniden oluşturmakta başarısız olmak gibi görünüyor, donanım RAID üreticileri tarafından yapılan bir seçimdi. Bence bu yanlış bir seçimdi, ama neyse ki ZFS farklı görünüyor.
işlem91,

@ Shodanshok'ın bu işlem için verdiği cevaba bakınız. Neden olarak RAID, diğer işlemler, uygulamalar vb. İçin güvenilir verilere erişimin devamlılığını sağlamak içindir ve yedekleme ile ilgili değildir. Bir çok (çoğu?) Donanım denetleyicisinin, URE yeniden inşasında gerçekleştiğinde iptal etmesinin nedeni, RAID'in artık yapması gerekeni yapamamasıdır . Bu noktada, güvenilir verilere sahip olmak için yedeklerin kullanılması gerekir . RAID'i kullanmanın başka bir yolu da herhangi bir yeniden inşa işlemi yapmak değil, yalnızca yedeklemenin kurtarma zamanlamasını kontrol etmek için RAID'i kullanmaktır. Ayrıca, kurtarma işleminden önce son yedeklemeyi yapmak için zaman sağlar .
Colt

“ZFS'nin RAID5” uygulamasına “raidz” veya “zraid” dendiğini ve donanım RAID5'ten farklı olduğunu unutmayın. Genellikle “raidz” hakkında sormak “ZFS RAID5” hakkında daha iyi yanıtlar alırsınız
Josh

Yanıtlar:


24

Bu gerçekten RAID uygulamasına bağlıdır:

  • çoğu donanım RAID yeniden yapılanmayı iptal eder ve bazıları diziyi başarısız olarak işaretleyerek başarısız olur. Gerekçe bir URE bir RAID5 sırasında olursa o bazı veriler anlamına yeniden olmasıdır edilmektedir tamamen sessiz veri bozulmasını riske ziyade o diziyi durdurmak için daha iyidir, böylece kaybetti. Not: bazı donanım RAID'leri (çoğunlukla LSI tabanlı) bunun yerine diziyi delecek ve etkilenen sektörü okunaksız olarak işaretlerken yeniden oluşturma işleminin devam etmesine izin verecek (Linux yazılımının RAID'in davranışına benzer).

  • linux yazılımı RAID'e a) dizilimin yeniden yapılandırılmasını durdurma ("eski" MDRAID / çekirdeklerin oluşturduğu tek davranış) yalnızca b) komutunu verebilir veya b) bazı LBA'ları kötü / erişilmez olarak işaretleyen yeniden oluşturma işlemine devam eder. Bunun nedeni, kullanıcının seçimini yapmasına izin vermenin daha iyi olmasıdır: Sonuçta, tek bir URE boş alan üzerinde olabilir, hiç veriyi etkilemeyebilir (veya sadece önemsiz dosyaları etkileyebilir);

  • ZRAID bazı dosyaları bozuk olarak gösterecek, ancak yeniden oluşturma işlemine devam edecek ( bir örnek için buraya bakın ). Yine, gerekçenin, bilinçli bir seçim yapmasını sağlamak için kullanıcıya devam etmenin ve tekrar rapor etmenin daha iyi olacağıdır.


@ process91 Sadece biraz daha detaylandırmak için. RAID uygulamasının, tek tek sektörleri kötü olarak işaretlemek için gereken ek veri yapılarına sahip olmaması durumunda, yeniden yapılanmada başarısız olması veya sessiz yolsuzluk getirmesi gerekir. Tek tek sektörleri kötü olarak işaretlemek daha iyidir, ancak kötü sektörle aynı parite sektörünü paylaşanlar nedeniyle diğer sektörleri de riske sokabilir.
kasperd

@ kasperd Tabii, sanırım çoğu RAID uygulamasının kullanıcıyı kötü sektörlere karşı uyarma kabiliyeti olduğunu varsaydım. Yeniden yapılanmadan sonra yeni sürücüde yanlış bir sektöre yol açacak bir sürücüde kötü bir sektör olup olmadığını anlıyorum. Bununla birlikte, RAID uygulaması kullanıcıyı uyarmaktan başka bir şey yapmamış olsa bile "Sürücüyü elimden geldiğince yeniden yaptım, ancak işlem sırasında 1 URE deneyimledim" dedi ve sonra o sektöre yazma denemelerine izin vermeye devam etti. Diğer sektörlerin nasıl risk altında olabileceğini görün. Tek olası yanlış sektörler orijinal, yeni ve parite olacaktır.
işlem91,

Yukarıda @Colt'un yorumlarına dayanan bir açıklama - donanım RAID durumunda, diziyi başarısız olarak işaretlerken hala verilere erişime izin veriyor mu? Diyelim ki, toparlanmaya teşebbüs amacıyla salt okunur erişim?
işlem91,

@ process91 Bir sektörün bozulmasına izin vermek, bu gerçek bir günlük dosyasına kaydedilmiş olsa bile iyi bir fikir olarak kabul edilmez. Hangi dosyanın bozulmuş olabileceği hakkında hiçbir fikrin yok. RAID, dosyayı okuduğunuzda bir hatayla karşılaşmanızı sağlamalıdır. Ayrıca açıkça kötü sektörün üzerine yazmak istemezsiniz, çünkü bu, verileri kurtarma şansınızı kaybetmiş olmanız anlamına gelir. Yani bir diskte okunamayan bir sektörünüz ve yeni diskte ne yazacağınızı bilmediğiniz bir sektörünüz var. Bozuk iki farklı dosya olabilir.
kasperd

1
@ process91 LSI tabanlı diziler hakkında bir not ekledim. Bir göz at.
shodanshok, 28:18

8

Eğer URE gerçekleşirse, genellikle 256KB-1 MB boyutunda olan blok üzerinde bir miktar veri bozulması yaşarsınız, ancak bu, biriminizdeki TÜM verilerinizin kaybedileceği anlamına gelmez. RAID5 ile ilgili çok iyi olmayan şey tamamen farklı bir şey: Yeniden oluşturma stresli ve üst üste ikinci bir disk arızası yaşama ihtimaliniz yüksek. Böyle bir durumda tüm veriler kaybedilecek.


2
Bir RAID5'in tek bir sürücüde bir RAID1'in yeniden oluşturmasından daha nasıl stresli olduğunu nasıl düşünüyorsunuz? İşlemcide daha stresli olduğunu görüyorum, ancak herhangi bir sürücü için tüm verileri okuyorduk. Normalde, insanların daha büyük sürücülerle öne sürdükleri tehlike, yeniden yapılanma sırasında muhtemelen bir URE ile karşılaşacakları, ancak tek bir sektörün bozulacağı anlamına gelmesi benim için sorun değil.
işlem91,

3
Olasılık teorisi. N ile (sürücü sayısı), başarısız olma şansınız N kat daha yüksektir.
BaronSamedi1958,

1
Hesaplamanın işleyiş şekli bu değil, aslında 1'i başarısız olmama olasılığını hesaplamak istersiniz , ama o kısmı anlıyorum. Görünüşe göre, bir RAID5'i yeniden oluşturma eyleminin diskin üzerinde (başka bir yerde okudum) daha fazla stresli olduğunu öne süren ifadenizi yanlış yorumladım, bu nedenle bir ÜRE şansını arttırıyorsunuz, söylüyorum sonra katılıyorum.
işlem91,

2

Bunu başka türlü açıklardım;

RAID denetleyicisi URE'de durmazsa ne olabilir?

Bir sunucuda yaşadım, RAID hiç bir zaman URE'yi fark etmedi ve yeniden yapılanmadan sonra tüm RAID biriminde bir bozulma oluşmaya başladı.

Yeniden yapılanma işleminden sonra disk daha kötü sektör almaya başladı ve veriler bozulmaya başladı.

Disk hiçbir zaman RAID biriminin dışına çıkarılmadı, denetleyici arızası veri bütünlüğünü korumak için yapılan bir iştir.

Bu örnek, bir denetleyicinin, URE ile bir birimi hiçbir şekilde susturamayacağını düşünmesini sağlamak için yazılmıştır; bunun nedeni, birimin bir yedekleme olması değil, bir disk arızasına karşı dirençli olması anlamına gelmesidir.


1
Görüyorum ki yeni moderatörler sürekli siteyi kontrol ediyor, yapılacak işleri arıyorlar ...
Ward - Reinstate Monica

1
Neden tek bir URE tüm RAID biriminde yolsuzluk oluşturuyor?
işlem91,

2
Üzgünüm, cevabınızı yeniden okudum. Yeniden yapılanma sırasında tek bir kötü ÜRE yapmışsınız gibi gözüküyor, ancak sorun bu değildi. Sorun, yeniden yapılanma sonrasında sektörlerin bozulmaya devam etmesiydi ve sürücü bunu hiç bildirmedi. Bununla birlikte, bu, RAID denetleyicisinin yeniden oluşturma sırasında bir URE'yi fark edip etmemesiyle ilgili ayrı bir sorun gibi görünüyor. RAID denetleyicisi, yeniden yapılandırma sırasında URE'yi fark edebilir ve sizi uyarabilir, ancak yeniden oluşturma işlemini tamamlamaya devam edebilir. Bazı veriler daima veri olmamasından daha iyidir.
işlem91,

2
Sadece RAID5'in neden 2009 yılında "ölü" sayıldığını analiz etmekle ilgileniyorum; Şimdi anladım ki, bu analiz hem matematiksel olarak hatalıydı ve hem de ZFS için de aynı şekilde geçerli değil.
işlem91,

1
@RobMoir Son ifaden sanırım aynı fikirde değilim. Neredeyse tüm verilerimi diziden ayırmak, başka bir yedeklemem olsa bile faydalı olabilir. Belki de bu dosya önemli değildi ya da (donanımsal RAID durumunda) hata, boş bir alanda meydana geldi. Donanım RAID'in (hangi dosyaları etkilediğini bilmediği yerlerde) doğru kararın kullanıcıyı uyarmak, yeniden oluşturmayı tamamlamak ve diziyi salt okunur moda çevirmek olduğunu düşünüyorum. Bunun için dezavantajları göremiyorum. (Açıkçası, ZFS gibi dosya sistemleri bile etkilenen dosyaları bildirebileceklerinden daha iyisini yapabilirler.)
process91

1

Bu soruyu okumanızı ve daha fazla arkaplan için cevap vermenizi öneririm . Sonra gidip tekrar bağlantı kurduğun soruyu tekrar oku .

Birisi bu durum hakkında "RAID başarısız oldu" derken, RAID'in faydasını kaybettiniz - RAID dizisini ilk başta ayarlamanızın nedeni olan verilere sürekli erişimi kaybettiniz.

Tüm verileri kaybetmediniz, ancak bir ölü sürücüden artı kurtarmanın en yaygın yolu (bazı) kalan sürücülerin bazılarında ÜRE'ler (bazıları) sıfırdan diziyi tamamen yeniden oluşturmak olacaktır; yedek


1
Genel olarak, amacınız kapalı kalma süresini en aza indirgemek amacıyla RAID kullanırsınız. Dizinin bilinmeyen ve onarılamayacak yolsuzlukla devam etmesi, genellikle bu amaca aykırıdır.
David Schwartz

1
Teşekkürler, bağlantı kurduğunuz ilk soru çok bilgilendiriciydi. Verilere neden sürekli erişimimi kaybettim? Dizi yeniden yapılanma sırasında hala çalışır ve yeniden yapılanma sırasında bir URE ile karşılaşırsa, o zaman bu veri sektörünün bozulmasına rağmen, devam etmesini beklerdim. Bu böyle değil mi?
işlem91,
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.