세 개의 nvme 드라이브에서 raid0과 함께 btrfs를 사용하고 싶습니다. 이러한 파일에는 운영 체제와 대부분의 응용 프로그램 파일이 포함되어야 하며 중요한 사용자 파일은 네트워크 드라이브나 별도의 디스크에 저장됩니다.
실제 데이터를 스트라이핑하는 경우 mkfs.btrfs -m을 사용하여 메타데이터를 복사하는 이유는 무엇입니까? 드라이브 중 하나에 오류가 발생하면 모든 것이 손실됩니다. 그렇죠? 반면에 성능에 영향을 미칠 것으로 예상해야 합니까? 내 목표는 내가 적극적으로 처리하는 비필수 데이터에 대해 최대 처리량을 달성하는 것입니다.
답변1
즉, 선택하는 블록 프로필은 파일 시스템 대상에 따라 달라집니다.
메타데이터 블록은 비회전 장치(예: SSD)를 제외하고 단일 장치 파일 시스템에서도 기본적으로 복제됩니다. 이는 전체 드라이브 오류를 방지하기 위한 것이 아니라 방지하기 위한 것입니다.부분의드라이브 오류. 손상된 데이터 블록은 해당 데이터 블록에 저장된 파일 콘텐츠를 손상시키므로 손상된 메타데이터 블록으로 인해 콘텐츠에 대한 액세스가 차단됩니다. 이로 인해 메타데이터 손상이 전체 파일 시스템에 더 큰 피해를 입힙니다.
스트리핑과 복제 사이의 선택은 처리량과 중복성 사이의 선택입니다. RAID0을 사용하면 한 장치가 한 블록을 쓰는 동안 다른 장치가 다른 블록을 쓸 수 있으므로 처리량이 더 높아집니다. RAID1을 사용하면 두 장치 모두 동일한 블록을 써야 하기 때문에 처리량이 감소합니다.
따라서 최대 처리량(및 최대 BTRFS 디스크 공간 활용도)을 위해 메타데이터 및 데이터 블록에 RAID0을 사용하도록 선택할 수 있습니다.