Btrfs의 경우 단일 파티션에서 DUP =3 또는 >3으로 변환하는 방법은 무엇입니까?

Btrfs의 경우 단일 파티션에서 DUP =3 또는 >3으로 변환하는 방법은 무엇입니까?

질문은 다음을 가리킨다:

  • Debian 기반 Linux, 커널 >=5.1
  • 단 하나의 하드 드라이브 또는 SSD와 단 하나의 Btrfs 파티션만 있는 시스템에도 명시적으로 적용됩니다.

가능한 구현에 대한 팁: "단일 장치에서 데이터 및 메타데이터에 DUP를 사용할 수 있습니까? 그렇다면 데이터 복사본을 2개 이상 지정할 수 있습니까?"

Btrfs에서 지원되는 최소 구성 파일에 대한 정보:

DUP=1에 대한 구성 예:.

단일 하드 디스크와 단일 파티션이 있는 기존 시스템의 메타데이터를 DUP=2에서 DUP=1로 변환합니다.

btrfs balance start -mconvert=single / # convert metadata
btrfs balance start -dconvert=single / # convert data

DUP=2에 대한 구성 예:.

단일 하드 디스크와 단일 파티션이 있는 기존 시스템의 메타데이터를 DUP=1에서 DUP=2로 변환합니다.

btrfs balance start -mconvert=dup / # convert metadata
btrfs balance start -dconvert=dup / # convert data

다음과 같이 여러 하드 드라이브나 여러 파티션이 필요한 솔루션은 필요하지 않습니다.

다음과 같이 중복성이 없는 "싱글"을 데이터 및 메타데이터 중복성이 있는 RAID1로 변환합니다.

btrfs balance start -mconvert=raid1 /

중복 없이 "싱글"을 RAID1c3 또는 RAID1c4로 변환

...

답변1

DUP=3Btrfs는 현재 구성 파일 을 제공하지 않습니다 DUP>3. 지원되는 프로필이 나열되어 있습니다.여기

의심할 바 없이 DUP의 공간 효율성은 50%이다. 그러면 DUP3이 없습니다(33% 효율성을 의미).

가장 가까운 DUP3은 RAID1c3이지만 3개의 다른 블록 장치가 필요합니다.

(링크된 페이지를 신뢰하지 않는 경우 사용하세요 man mkfs.btrfs).

답변2

디스크를 다시 분할할 수 없는 경우 단일 파티션에서 동일한 크기의 블록 장치 3개를 가져와 btrfs 및 구성 파일과 함께 사용할 수 있는 다양한 옵션이 있습니다 raid1c3. 옵션:

  • LVM: 현재 파티션을 새 LVM 볼륨 그룹의 유일한 PV로 만들고 여기에 동일한 크기의 볼륨 3개를 생성합니다. 이러한 볼륨을 사용하여 구성 파일로 raid1c3새 btrfs 파일 시스템을 만듭니다.

  • mdadm: 예를 들어 , 또는 모드 및 옵션을 사용하여 파티션에서 mdadm 장치를 생성한 /dev/md0다음 장치를 분할하고 , 및 와 같은 중첩된 파티션에서 btrfs 파일 시스템을 생성합니다.linearraid0raid1-n 1 --force/dev/md0p1/dev/md0p2/dev/md0p3

  • bcache: 파티션을 백업 장치로 사용하여 bcache 장치를 만들고(캐시 없이 실행해도 됨) bcache 장치에 파티션을 만듭니다. 예를 들어 /dev/bcache0p1, (파티션 장치 파일이 나타나도록 하려면) 새 파티션에 btrfs 파일 시스템을 만듭니다. , 나는 마지막으로 이 작업을 시도할 때 명령을 실행해야 하며 다음 재부팅 시 자동으로 나타나야 합니다./dev/bcache0p2/dev/bcache0p3

백업이 권장되며, mdadm 및 bcache 옵션을 사용하려면 데이터를 다른 곳에 임시로 저장해야 할 수 있습니다. 즉, mdadm 또는 bcache 장치를 생성하면 파괴됩니다. LVM 옵션의 경우 현재 btrfs 파일 시스템을 축소하고 "manual lvmify" 답변을 따를 수 있습니다.https://superuser.com/questions/493481/fastest-way-to-convert-an-ext4-formatted-disk-to-lvm-with-ext4-on-it파티션을 논리 볼륨으로 변환합니다. (허용되는 답변은 축소 단계를 포함하는 도구를 사용하지만 목적에 맞게 크기를 충분히 작게 설정합니다.)

파티션이 내부 중복 제거 기능이 있는 SSD에 있는 경우 SSD가 각 복사본에 대해 서로 다른 데이터를 확인하고 각 복사본을 별도로 저장하도록 강제로 LUKS 계층을 추가해야 할 수 있습니다. 그러나 각 복제본을 작성하는 데 걸리는 시간은 복제본이 동일한 스토리지 블록에 저장된다는 것을 의미할 수 있으며 모든 복제본이 동시에 실패할 확률은 예상보다 높을 수 있습니다.

위 제안을 조정하여 raid1c43개가 아닌 4개의 장치를 생성하세요.

관련 정보