RAID-1'deki başarısız bir Btrfs sürücüsü canlı olarak değiştirilebilir mi?


15

Bir dosya sistemi üzerinde karar vermeye çalışıyorum ve arıza olmadan btrfs RAID başarısız bir sürücüyü değiştirmek mümkün olup olmadığını bilmek istiyorum.

  1. Komutu kullanarak yeni bir btrfs dosya sistemi oluşturduğumu varsayalım

    mkfs.btrfs -d raid1 /dev/sdb /dev/sdc
    
  2. Şimdi bir gün /dev/sdcbaşarısız olduğunu varsayalım . İki olasılık vardır: SMART hataları göstererek kademeli olarak başarısız olabilir - bu durumda yeni bir cihaz ekleyebilir btrfs device add /dev/sde /mnt; btrfs filesystem balance /mntve sonra eski olanı kaldırabilirim btrfs device delete /dev/sdc /mnt.

  3. Ancak aniden başarısız olursa okunamaz hale gelir ... Bir web araması bu durumda önce dosya sistemini çıkarmam, bozulmuş moda monte etmem, yeni bir cihaz eklemem, sonra eksik cihazı kaldırmam gerektiğini söylüyor.

    umount /mnt
    mount -o degraded /dev/sdb /mnt
    btrfs device add /dev/sdf /mnt 
    btrfs device delete missing /mnt
    

Çıkarılması açık bir şekilde yıkıcı bir işlemdir, bu nedenle kesinti süresi olacaktır - dosya sistemini kullanan tüm uygulamalar bir G / Ç hatası alır. Ancak btrfs'deki bu tür "öğreticiler", btrfs'nin ağır gelişme altında olduğunu düşünerek modası geçmiş görünüyor.

Soru: btrfs'nin mevcut durumu göz önüne alındığında, bunu çevrimiçi olarak, yani bağlantıyı kesmeden yapmak mümkün mü?

Değilse, bu ihtiyacı karşılayabilecek sadece yazılım içeren bir çözüm var mı?


1
Bir sürücü alev alırsa, sisteminizin geri kalanı da muhtemelen yanıyor
Journeyman Geek

1
@JourneymanGeek Funny you .. :) Sadece felaket, ani ve öngörülemeyen bir başarısızlık demek istediğimi açıkça belirtmek istedim - sürücü çalışmayı durduruyor. Bu oldukça nadirdir, sabit disk genellikle yavaş yavaş başarısız olur ve etkili izleme ile bu gerçekleşmeden önce onları değiştirebilirsiniz, ama ne olursa olsun ...
imkansız 15

2
Linux'ta 3.8 btrfs replace mountpoint old_disk new_diskeklendi.
Brian

@Brian woow ... Cevap bu. Ben "btrfs yerine" için googled ve bu lwn.net/Articles/524589 geldi . Öyle _exactly_ ı aradığı şeyi. Kabul edebilmem için lütfen cevap olarak gönderin.
NothingsImpossible

Yanıtlar:


11

Linux 3.8'de btrfs replace mountpoint old_disk new_diskeklendi. Yeni bir çekirdek çalıştırıyorsanız, aradığınız işlevselliği sağlayacaktır.


4
Bu şimdi olurdu btrfs replace start /dev/old /dev/new /mountpoint( başlangıç eklendi). Ayrıca bkz man btrfs-replace.
basic6

1

küçük düzeltme, geçerli sözdizimi:

btrfs başlat başlat OLDDEV NEWDEV DAĞ NOKTASI

sonra arka planlar.

Durumu şununla kontrol edebilirsiniz:

btrfs durum değiştirme MOUNTPOINT

bu size değiştirme işleminin sürekli güncellenen durumunu gösterir.


1
Bu asıl sorunun cevabı değil . Bir yazardan eleştiri veya açıklama istemek için gönderilerinin altına bir yorum bırakın - her zaman kendi yayınlarınıza yorum yapabilirsiniz ve yeterli bir üne sahip olduğunuzda herhangi bir yazı hakkında yorum yapabilirsiniz .
DavidPostill
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.