질문은 다음을 가리킨다:
- 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=3
Btrfs는 현재 구성 파일 을 제공하지 않습니다 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 파일 시스템을 생성합니다.linear
raid0
raid1
-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 계층을 추가해야 할 수 있습니다. 그러나 각 복제본을 작성하는 데 걸리는 시간은 복제본이 동일한 스토리지 블록에 저장된다는 것을 의미할 수 있으며 모든 복제본이 동시에 실패할 확률은 예상보다 높을 수 있습니다.
위 제안을 조정하여 raid1c4
3개가 아닌 4개의 장치를 생성하세요.