mdadm raid10의 맨 위에있는 Btrfs 또는 베어 디바이스의 경우 btrfs raid10?


9

에 의해 관리되는 RAID10이 mdadm있고 그 위에 EXT4 파일 시스템이 있습니다. 그러나 BTRFS를 좋아하고 EXT4 파일 시스템을 BTRFS로 변환하고 싶지만 성능과 유지 관리 성을 생각하고있었습니다. BTRFS의 예에서는 mdadm으로 할 수있는 것처럼 다른 디스크를 어레이에서 제거 / 추가 할 때 상태를 쉽게 확인할 수 없습니다. ).

따라서 경험상 더 나은 선택은 무엇입니까?

  1. 단순히 EXT4 파일 시스템을 변환하고 mdadm이 RAID10을 관리하게하려면?

  2. mdadm을 제거하고 BTRFS가 모든 작업을 수행하도록하려면?

답변:


11

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먼저 할 수 있습니다 .


3

BTRFS는 아직 실험 중이므로 충돌이 발생하면 "관심있는"기능을 사용할 수 있습니다. 실제로 btrfs를 실행하고 싶다면 / 직접 실행하는 것보다 소프트웨어 공격대에서 실행하는 것이 훨씬 안전합니다. btrfs가 성숙하여 프로덕션에 들어가면 더 이상 사실이 아닐 수 있습니다.


약 1 년 전에 VM에서 btrfs 설정을 실험했습니다. rebalance 명령을 사용하여 커널 (!)을 일관되게 잠글 수있었습니다. 시간이 흐르고 희망적으로 이것이 수정되었습니다.
Avery Payne
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.