RAID-1 中故障的 Btrfs 硬碟可以即時更換嗎?

RAID-1 中故障的 Btrfs 硬碟可以即時更換嗎?

我正在嘗試決定檔案系統,並想知道是否可以在不停機的情況下更換 btrfs RAID 中發生故障的磁碟機。

  1. 假設我使用命令建立一個新的 btrfs 檔案系統

    mkfs.btrfs -d raid1 /dev/sdb /dev/sdc
    
  2. 現在假設有一天/dev/sdc失敗了。有兩種可能性:它可能會逐漸失敗,顯示 SMART 錯誤 - 在這種情況下,我可以使用 新增設備btrfs device add /dev/sde /mnt; btrfs filesystem balance /mnt,然後使用 刪除舊設備btrfs device delete /dev/sdc /mnt

  3. 但如果它突然失敗,變得不可讀......網絡搜索表明在這種情況下我必須首先卸載文件系統,以降級模式安裝,添加新設備,然後刪除丟失的設備。

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

卸載顯然是一種破壞性操作,因此會出現停機 - 任何使用該檔案系統的應用程式都會出現 I/O 錯誤。但考慮到 Btrfs 正在大力開發,這些關於 Btrfs 的「教學」看起來已經過時了。

問題是:考慮到 btrfs 的當前狀態,是否可以在線上執行此操作,即無需卸載?

如果沒有,是否有一個純軟體解決方案可以滿足此需求?

答案1

在Linux 3.8中,btrfs replace mountpoint old_disk new_disk被加入。如果您正在運行最新的內核,它將提供您正在尋找的功能。

相關內容