단일 장치 btrfs 파일 시스템을 만들었습니다. btrfs 위키 기사에 따르면여러 장치 사용, 다음을 사용하여 RAID1으로 변환할 수 있어야 합니다.
btrfs balance start -dconvert=raid1 -mconvert=raid1 /path
Linux 3.16에서 시작했는데 실패했습니다(커널 패닉). Linux 4.0으로 업그레이드하고 파일 시스템을 마운트한 후 계속해서 완료하세요. 하지만 메타데이터나 시스템(기반 btrfs fi df
)이 아닌 데이터만 다루고 있습니다. 나는 git에서 최신 btrfs-progs를 얻었고(이전 버전으로 인한 것이 아닌지 확인하기 위해) 다음을 수행했습니다.
Watt:/home/anthony/src/btrfs-progs# ./btrfs balance start -v -mconvert=raid1 /path
Dumping filters: flags 0x6, state 0x0, force is off
METADATA (flags 0x100): converting, target=16, soft is off
SYSTEM (flags 0x100): converting, target=16, soft is off
Done, had to relocate 6 out of 1411 chunks
그러나 분명히 그것은 실제로 그것을 반영하지 않습니다. 지금 나 한테있어:
Watt:/home/anthony/src/btrfs-progs# ./btrfs fi usage /path
Overall:
Device size: 7.28TiB
Device allocated: 2.75TiB
Device unallocated: 4.53TiB
Device missing: 0.00B
Used: 2.74TiB
Free (estimated): 2.26TiB (min: 2.26TiB)
Data ratio: 2.00
Metadata ratio: 2.00
Global reserve: 512.00MiB (used: 0.00B)
Data,RAID1: Size:1.37TiB, Used:1.37TiB
/dev/mapper/luks-562e4e2f-2894-415a-aaf1-7c94a11c33b9 1.37TiB
/dev/mapper/luks-ec97c1ad-21d8-41bb-9072-e5a74f68e416 1.37TiB
Metadata,DUP: Size:2.50GiB, Used:1.58GiB
/dev/mapper/luks-562e4e2f-2894-415a-aaf1-7c94a11c33b9 5.00GiB
System,DUP: Size:32.00MiB, Used:224.00KiB
/dev/mapper/luks-562e4e2f-2894-415a-aaf1-7c94a11c33b9 64.00MiB
Unallocated:
/dev/mapper/luks-562e4e2f-2894-415a-aaf1-7c94a11c33b9 3.17TiB
/dev/mapper/luks-ec97c1ad-21d8-41bb-9072-e5a74f68e416 1.36TiB
다시 전체 밸런싱을 시도했지만( -dconvert=raid1
및 을 모두 사용하여 -mconvert=raid1
) 그것도 작동하지 않았습니다.
참고: 더 큰 디스크(56…b9)는 제가 추가했습니다.
메타데이터와 시스템 이미지를 얻는 방법은 무엇입니까?
답변1
이는 밸런싱 시 전환 필터가 작동하지 않게 만드는 커널 4.0의 회귀입니다. 모든 전환이 영향을 받는 것처럼 보입니다(단지 단일->raid1 또는 raid1->raid5가 아님). 최근 보기메일링 리스트 스레드, 현재 공식적인 수정 사항은 없습니다. 커널을 패치하려는 경우 간단한 패치를 임시 수정으로 사용할 수 있습니다.
이는 v4.0의 알려진 버그입니다. 회귀를 일으킨 커밋을 되돌리기 위해 패치[1]를 보냈지만 응답을 받지 못했습니다. 해당 방법을 적용하거나 2f0810880f08("btrfs: 블록 그룹 ro 설정 시 블록 할당 시도 제거됨")을 복원하여 문제를 일시적으로 해결할 수 있습니다.