Anladığım kadarıyla, sabit sürücüler ve SSD'ler sürücünün içinde bazı temel hata düzeltmelerini uygular ve mdadm gibi çoğu RAID yapılandırması, bir sürücünün bir hatayı düzeltemediğinde ve çevrimdışına alınması gerektiğine karar vermek için buna bağlı olacaktır. Ancak bu, depolama alanının hata teşhisinde% 100 doğru olmasına bağlıdır. Bu böyle değildir ve iki sürücülü bir RAID-1 aynası gibi ortak bir yapılandırma savunmasız olacaktır: bir sürücüdeki bazı bitlerin sessizce bozulduğunu ve sürücünün bir okuma hatası bildirmediğini varsayalım. Bu nedenle, btrfs ve ZFS gibi dosya sistemleri, buggy sürücü yazılımlarına, glitchy SATA kablolarına vb. Güvenmemek için kendi sağlama toplamlarını uygular.
Benzer şekilde, RAM'in güvenilirlik sorunları da olabilir ve bu nedenle bu sorunu çözmek için ECC RAM'e sahibiz.
Benim sorum şu : Linux takas dosyasını iki diskli bir konfigürasyonda sürücü yazılımı tarafından yakalanmayan sessiz yolsuzluktan / bit çürümesinden korumanın standart yolu nedir (yani ana hat çekirdek sürücülerini kullanarak)? Bana öyle geliyor ki, burada uçtan uca korumadan yoksun bir yapılandırma (btrfs tarafından sağlananlar gibi) ECC RAM'in getirdiği huzuru bir şekilde olumsuz yönde etkiliyor. Yine de iyi bir yol düşünemiyorum:
- btrfs takas dosyalarını desteklemez. Bir btrfs dosyasından bir döngü cihazı ayarlayabilir ve bunun üzerinde bir takas yapabilirsiniz. Ama bunun sorunları var:
- Rastgele yazma işlemleri iyi sonuç vermez: https://btrfs.wiki.kernel.org/index.php/Gotchas#Fragmentation
- Yazarken kopyalamayı devre dışı bırakma önerisi de sağlama toplamını devre dışı bırakır - böylece bu egzersizin tüm noktasını yener. Varsayımları, veri dosyasının kendi iç korumalarına sahip olduğudur.
- Linux'ta ZFS, ZVOL'yi takas olarak kullanmasına izin veriyor, ki sanırım işe yarayabilir: http://zfsonlinux.org/faq.html#CanIUseaZVOLforSwap - ancak, okumamdan , ZFS normalde bellekte talep ediyor ve takasta çalışıyor -sadece uygulama anlamaya bazı çalışma gibi geliyor. Bence bu benim ilk tercihim değil. Neden sadece güvenilir bir takasın olması için bazı ağaç dışı çekirdek modülünü kullanmak zorundasınız - bu gün ve çağda bunu en modern Linux dağıtımları / çekirdekleri ile başarmanın bir yolu var mı?
- Aslında bir Linux çekirdek posta listesinde bellek yöneticisinin kendisinde sağlama toplamlarını etkinleştirmek için yamalar içeren bir iş parçacığı vardı, tam olarak bu soruda tartıştığım nedenlerden dolayı: http://thread.gmane.org/gmane.linux.kernel/989246 - ne yazık ki, anlayabildiğim kadarıyla, yama öldü ve bana bilinmeyen nedenlerden ötürü asla yukarı akış yapmadı. Çok kötü, hoş bir özellik gibi geldi. Öte yandan, bir RAID-1'i takas ederseniz - bozulma sağlama toplamının onarım yeteneğinin ötesindeyse, bellek yöneticisinin panik yapmadan önce veya başka bir şeyden önce diğer sürücüden okumaya çalışmasını istersiniz. muhtemelen bir bellek yöneticisinin yapması gerekenin kapsamı dışındadır.
Özetle:
- RAM, hataları düzeltmek için ECC'ye sahiptir
- Kalıcı depolama alanındaki dosyalarda hataları düzeltmek için btrfs vardır
- Takas mı ??? <--- bu benim sorum