내 작업의 대부분은 lvm을 사용하여 raid1 mdadm을 btrfs 시스템으로 변환하는 것이었습니다. 관련된 두 개의 디스크/파티션은 /dev/sdb
및 에 있습니다 /dev/sdc
.
원래 구성에서는 두 디스크 모두 3개의 파티션이 있었고 장치는 /dev/md1
및 으로 구성되었습니다. 변환 과정은 다음과 같습니다/dev/sdb3
/dev/sdc3
- 실패 후 /dev/sdb3 삭제
- fdisk를 사용하여 /dev/sdb를 4개의 파티션으로 다시 분할했습니다. 커널을 새 파티션 레이아웃에 동기화할 수 없어서 재부팅했습니다.
- 1.7TB 크기의 btrfs 파일 시스템을 생성했습니다
/dev/sdb4
(여기에도 있지만/dev/sdb2
중요하지 않음) /mnt/sdb4
내 (현재 성능이 저하된) RAID 장치의 각 논리 볼륨에 해당하는 생성된 하위 볼륨에 마운트 지점을 생성했습니다 . 그 중 하나(vbox
)는 가상박스 이미지를 저장하는 방법이라 이렇게 해봤습니다.chattr +C /mnt/sdb4/vbox
- 사용자 rsync는 RAID 장치의 각 논리 볼륨을 btrfs의 해당 하위 볼륨에 복사합니다. 완료될 때마다 RAID 볼륨을 마운트 해제하고
/etc/fstab
btrfs 하위 볼륨을 사용하여 마운트되도록 조정한 다음 마운트합니다. 이 작업이 완료되면 모든 것이 제대로 작동하는지 확인하기 위해 재부팅했습니다. - 그런 다음 RAID 어레이에서 모든 논리 볼륨을 제거하고 마지막으로 볼륨 그룹을 제거한 다음 RAID 장치를 중지하고 제거했습니다. 다시 재부팅
- 내가 만든 별도의 btrfs 파일 시스템 에서 4개의 파티션
fdisk
으로 다시 파티션하기 위해/dev/sdc
/dev/sdb
/dev/sdc2
/dev/sdb4
(subvol=/)을 설치/mnt/sdb4
한 후 다음 명령을 실행했습니다.btrfs device add -f /dev/sdc4 /mnt/sdb4
- 마지막으로 이 명령을 실행했지만
btrfs balance start -dconvert=raid1 -mconvert=raid1 /mnt/sdb4
"오류: '/mnt/sdb4' 균형 조정 중 오류 발생: 장치에 남은 공간이 없습니다. syslog에 추가 정보가 있을 수 있습니다. dmesg | tail을 시도하세요."라는 메시지가 표시되면서 실패했습니다.
제안된 대로 시스템 로그를 보려고 했지만
[ 634.536221] BTRFS info (device sdb4): disk added /dev/sdc4 [ 671.472167] BTRFS info (device sdb4): relocating block group 12582912 flags 1 [ 671.934540] BTRFS info (device sdb4): found 946 extents [ 672.622029] BTRFS info (device sdb4): found 946 extents [ 672.913928] BTRFS info (device sdb4): 379 enospc errors during balance
결과가 도움이 되지 않았습니다 btrfs fi show
.
``` 태그: 'raid' uuid: c3356f85-4b40-409d-a775-72e9c6735ed8 총 장치 수 2 FS 바이트 사용 377.08GiB devid 1 크기 1.71TiB 사용 379.02GiB 경로 /dev/sdb4 devid 2 크기 1.00KiB 사용 0.00B path/ 개발/sdc4
태그: 'debianb' uuid: 94a949e0-b815-4dce-812d-7000f4654a10 총 장치 수 1 FS 바이트 사용 285.25MiB devid 1 크기 100.00GiB 사용 3.02GiB 경로 /dev/sdb2
태그: 'debianc' uuid: 02ed1d78-8501-4940-ac61-fa9dcf084b56 총 장치 1 FS 사용된 바이트 112.00KiB devid 1 크기 100.00GiB 사용됨 2.02GiB 경로 /dev/sdc2 ````
이는 공간이 충분하다는 것을 나타냅니다.
난 이 모든 걸 하고 있어debian stretch
그렇다면 장치에 남은 공간이 없다고 보고하는 이유는 무엇이며 이 파일 시스템을 raid1로 올바르게 변환하려면 어떻게 해야 합니까?
답변1
내 잘못인 것 같아. /dev/sdc
네 번째 파티션의 길이가 0이 되도록 파티셔닝을 엉망으로 만들었습니다 .