![RAID-1에서 장애가 발생한 Btrfs 드라이브를 실시간으로 교체할 수 있습니까?](https://rvso.com/image/1388783/RAID-1%EC%97%90%EC%84%9C%20%EC%9E%A5%EC%95%A0%EA%B0%80%20%EB%B0%9C%EC%83%9D%ED%95%9C%20Btrfs%20%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%A5%BC%20%EC%8B%A4%EC%8B%9C%EA%B0%84%EC%9C%BC%EB%A1%9C%20%EA%B5%90%EC%B2%B4%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
파일 시스템을 결정하려고 하는데 가동 중지 시간 없이 btrfs RAID에서 고장난 드라이브를 교체할 수 있는지 알고 싶습니다.
다음 명령을 사용하여 새로운 btrfs 파일 시스템을 생성한다고 가정합니다.
mkfs.btrfs -d raid1 /dev/sdb /dev/sdc
이제 어느 날
/dev/sdc
실패했다고 가정해 보겠습니다. 두 가지 가능성이 있습니다. 점진적으로 실패하여 SMART 오류가 표시될 수 있습니다. 이 상황에서는 를 사용하여 새 장치를 추가한btrfs device add /dev/sde /mnt; btrfs filesystem balance /mnt
다음 를 사용하여 이전 장치를 제거 할 수 있습니다btrfs device delete /dev/sdc /mnt
.하지만 갑자기 실패하면 읽을 수 없게 됩니다... 웹 검색에 따르면 이 상황에서는 먼저 파일 시스템을 마운트 해제하고 성능 저하 모드로 마운트하고 새 장치를 추가한 다음 누락된 장치를 제거해야 합니다.
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
추가되었습니다. 최신 커널을 실행하고 있다면 원하는 기능을 제공할 것입니다.