Linux 6.2, Btrfs'de RAID5 ve RAID6'ya yönelik iyileştirmeler içerecektir

Linux Kernel

Linux Kernel

Geçenlerde ortaya çıktı ki Linux 6.2 çekirdeğine dahil edilmek üzere Btrfs'de iyileştirmeler önerildi RAID 5/6 uygulamasındaki yazma deliği sorununu düzeltmek için.

Sorunun özü, kayıt sırasında bir çökme meydana gelirse, başlangıçta hangi RAID aygıtlarının hangi bloğa doğru yazıldığını ve hangisinde kaydın tamamlanmadığını anlamanın imkansız olmasıdır.

Bu durumda bir RAID'i yeniden oluşturmaya çalışırsanız, RAID bloklarının durumu senkronize olmadığı için abone olunan bloklara karşılık gelen bloklar bozulabilir. Bu sorun, bu etkiyle mücadele etmek için özel önlemlerin alınmadığı tüm RAID1/5/6 dizilerinde ortaya çıkar.

Btrfs'deki RAID1 gibi bir RAID uygulamasında bu sorun çözülür her iki kopyada sağlama toplamları kullanılarak, bir uyumsuzluk varsa, veriler basitçe ikinci kopyadan geri yüklenir. Bu yaklaşım, herhangi bir cihaz tamamen arızalanmak yerine hatalı veri vermeye başlarsa da işe yarar.

Sin ambargo, RAID5/6 durumunda, dosya sistemi sağlama toplamlarını saklamaz eşlik blokları için - normal bir durumda, blokların doğruluğu, hepsinin bir sağlama toplamı ile donatılmasıyla kontrol edilir ve eşlik bloğu verilerden yeniden oluşturulabilir. Ancak, kısmi kayıt söz konusu olduğunda, bu yaklaşım bazı durumlarda işe yaramayabilir. Bu durumda, diziyi geri yüklerken, bu mümkündür eksik kayıtta kalan bloklar yanlış geri yüklenir.

btrfs söz konusu olduğunda, oluşan yazma şeritten daha küçükse bu sorun daha alakalıdır. Bu durumda, dosya sistemi okuma-değiştirme-yazma (RMW) işlemi gerçekleştirmelidir.

Devam eden yazma bloklarıyla karşılaşırsa, RMW işlemi, sağlama toplamlarından bağımsız olarak tespit edilemeyecek bozulmalara neden olabilir. Geliştiriciler, RMW işleminin bu işlemi gerçekleştirmeden önce blokların sağlama toplamını doğruladığı ve gerekirse veri kurtarmanın da yazdıktan sonra bir sağlama toplamı doğrulaması yaptığı değişiklikler yaptı.

Ne yazık ki, eksik bir saçağın (RMW) yazıldığı bir durumda bu, sağlama toplamlarını hesaplamak için ek yük oluşturur, ancak güvenilirliği önemli ölçüde artırır. RAID6 için böyle bir mantık henüz hazır değil,

Ek olarak, geliştiricilerin RAID5/6 kullanımına ilişkin önerileri not edebiliriz; bunun özü, Btrfs'de meta verileri ve verileri depolama profilinin farklı olabilmesidir. Bu durumda, meta veriler için RAID1 (yansıtma) veya hatta RAID1C3 (3 kopya) profilini ve veriler için RAID5 veya RAID6'yı kullanabilirsiniz.

Bu, bir yandan güvenilir meta veri koruması ve "yazma deliği" olmamasını ve diğer yandan RAID5/6'ya özgü daha verimli alan kullanımını sağlar. Bu, meta veri bozulmasını önler ve veri bozulması düzeltilebilir.

ayrıca Çekirdek 6.2'deki Btrfs üzerindeki SSD'ler için, la "atma" işleminin eşzamansız yürütülmesi (artık fiziksel olarak depolanamayan serbest blokları işaretleyin) varsayılan olarak açık olacaktır.

Bunun avantajı mod yüksek performanstır Atma işlemlerinin bir kuyrukta verimli bir şekilde gruplandırılması ve kuyruğun bir arka plan işleyicisi tarafından sonradan işlenmesi nedeniyle, bloklar serbest bırakıldıkça normal FS işlemleri senkronize "atma" durumunda olduğu gibi yavaşlamaz ve SSD daha iyi hale getirebilir kararlar. Öte yandan, ek taramaya gerek kalmadan ve işlemleri yavaşlatmadan FS'deki mevcut tüm bloklar silineceğinden, artık fstrim gibi yardımcı programları kullanmanıza gerek kalmayacak.

Son olarak, bu konuda daha fazla bilgi edinmek istiyorsanız, ayrıntılara şuradan bakabilirsiniz: aşağıdaki bağlantı.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.