Btrfs가 모든 것을하게하십시오.
우선 Btrfs에는 madm보다 똑똑한 자체 통합 미러링 코드가 있습니다.
물론 madm raid10에서 미러링 된 디스크 쌍으로 디스크에 오류가 발생하면 불량 디스크를 교체하고 수명을 다할 수 있습니다 (심지어 복잡한 쉘 명령 집합 후에도). 문제는 디스크가 좀 더 부드럽게 실패하는 경우입니다. 몇 개의 블록이 불량 블록에 대한 적절한 오류 코드를 제공하는 대신 잘못된 비트를 돌려 주면 데이터를 읽을 때 무작위로 불량 데이터를 얻게됩니다. Btrfs는 그보다 더 똑똑합니다. 모든 데이터 비트를 체크섬합니다. 솔직히 말해서 "모든 BTree 노드"또는 "모든 블록"이라고 말하는 것이 더 정확한지는 모르겠지만 요점은 미러 배열에서 일부 데이터를 읽을 때 체크섬을 다시 확인하기 전에 체크섬을 확인한다는 것입니다. 유저 랜드 프로세스. 체크섬이 일치하지 않으면 먼저 배열의 다른 미러를 확인하고 올바른 체크섬을 제공하면
Btrfs 위키는 구체적으로 귀하의 질문을 언급합니다 :
Btrfs가 미러링을 위해 장치 매퍼 또는 MD에 의존하는 경우 미러 사본을 확인하여 체크섬 오류를 해결할 수 없습니다 . 하위 계층은 파일 시스템 블록의 체크섬 또는 세분성을 모르므로 반환하는 데이터를 확인할 수 없습니다.
마지막으로 이러한 실질적인 이점이 없어도 제거되거나 추가 된 Btrfs 장치를 처리하기위한 명령 줄 워크 플로는 매우 간단합니다. 저하 된 마운트-그런 다음 수정-파일 시스템 셸 명령을 제대로 얻을 수 있는지 확실하지 않지만 Btrfs의 경우 여러 장치 페이지에 다음 과 같이 매우 명확하게 문서화 되어 있습니다.
mount -o degraded /dev/sdb /mnt
btrfs device delete missing /mnt
이 시점에서 남은 디스크에 충분한 공간이 있으면 언제든지 디스크를 사용하여 btrfs rebalance
수행 할 수 있습니다 . 당신은 절대적으로 madm과 관련이 있기 때문에 거울을 교체 할 필요가 없습니다! 교체하고 싶다면 btrfs device add
먼저 할 수 있습니다 .