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추가되었습니다. 최신 커널을 실행하고 있다면 원하는 기능을 제공할 것입니다.

관련 정보