Btrfs는 여러 장치에 파일을 균등하게 배포합니다.

Btrfs는 여러 장치에 파일을 균등하게 배포합니다.

메타데이터 RAID1과 데이터 RAID0이 포함된 두 장치에 걸쳐 있는 btrfs 볼륨이 있습니다. 드라이브에 오류가 발생하면 기본 스트라이프 크기인 64KB를 초과하는 거의 모든 파일이 손상됩니다. 이 파티션은 성능이 중요하지는 않지만 공간을 절약해야 하기 때문에 파일 시스템을 재조정하여 디스크 간에 파일을 균등하게 분배하는 것을 고려했지만 비슷한 것은 존재하지 않는 것 같습니다. 궁극적인 목표는 드라이브에 장애가 발생하더라도 일부 파일을 계속 읽을 수 있도록 하는 것입니다.

AFAIK는 "단일"/선형 데이터 할당을 사용하여 드라이브를 하나씩 채웁니다.

예:

두 개의 128KB 파일(file0, file1)을 두 개의 장치(dev0, dev1)에 씁니다.

RAID0:

  • 파일 0/블록 0(64KB): dev0
  • 파일 0/블록 1(64KB): dev1
  • 파일 1/블록 0(64KB): dev0
  • 파일 1/블록 1(64KB): dev1

선의:

  • 파일 0(128KB): dev0
  • 파일 1(128KB): dev0

배포 파일:

  • 파일 0(128KB): dev0
  • 파일 1(128KB): dev1

비슷한 것을 달성하는 방법을 아는 사람이 있습니까? 아니면 btrfs-devs가 계획한 것인지 아는 사람이 있습니까?

편집: RAIDesque 사고의 범위를 좁히려면 "파일별 'RAID 0' 스트라이프"보다 "여러 장치에 파일을 균등하게 배포"라고 부르는 것이 더 좋습니다. "파일별 장치 전환"을 의미하는 것이 아니라 동일하기 때문입니다. "장치 채우기"로(예: dev0에 1G, dev1에 2개의 512MB)

답변1

휴고 밀스 제공답변btrfs 메일링 리스트에서:

기본적으로 "단일" 모드는 1GiB 블록을 할당하는데, 이는 내 사용 사례에 충분합니다.

관련 정보