소량의 배경 이야기 :
HTPC 설정에 사용되는 다양한 영화 및 TV 쇼를 저장하는 소형 미디어 파일 시스템이 있습니다. 이것은 원래 btrfs
1TB WD 외장 드라이브 에서를 사용하여 설정되었습니다 .
나중에이 파일 시스템에 RAID1 미러링 기능을 제공하기 위해 다른 드라이브를 구입하기로 결정했습니다. 이 드라이브는 Seagate Barracuda (2TB, BARRACUDA 7200.14 FAMILY)입니다. 불행히도, 이것은 드라이브의 좋은 선택이 아니 었습니다. BTRFS가이를 수정할 수 있었지만 드라이브가 대량의 읽기 오류를 곧 개발하기 시작했습니다.
최근이 드라이브의 읽기 오류 양이 급증하면서 상태가 꾸준히 악화되고 있습니다. BTRFS가 이제 중단되기 시작했습니다.
kernel: RSP: 0018:ffff88005f0e7cc0 EFLAGS: 00010282
kernel: RIP: 0010:[<ffffffffa0081736>] [<ffffffffa0081736>] btrfs_check_repairable+0xf6/0x100 [btrfs]
kernel: task: ffff88001b5c4740 ti: ffff88005f0e4000 task.ti: ffff88005f0e4000
kernel: Workqueue: btrfs-endio btrfs_endio_helper [btrfs]
kernel: CPU: 1 PID: 3136 Comm: kworker/u8:3 Tainted: G O 4.5.3-1-ARCH #1
kernel: invalid opcode: 0000 [#1] PREEMPT SMP
kernel: kernel BUG at fs/btrfs/extent_io.c:2309!
kernel: ------------[ cut here ]------------
kernel: BTRFS info (device sdc1): csum failed ino 73072 extent 1531717287936 csum 3335082470 wanted 3200325796 mirror 0
kernel: ata3: EH complete
kernel: BTRFS error (device sdc1): bdev /dev/sda3 errs: wr 0, rd 18, flush 0, corrupt 0, gen 0
kernel: blk_update_request: I/O error, dev sda, sector 2991635296
RAID1 어레이에서 결함이있는 드라이브를 제거하고 단일 드라이브에서 중복성이없는 상태로 돌아가고 싶습니다. 불행히도이를 수행하는 방법에 대한 문서가 부족한 것 같습니다.
나는 다음을 실행할 수 있다는 것을 알고 있습니다.
sudo btrfs balance start -dconvert=single /media
데이터 프로파일을 single
모드 로 변환 하지만 데이터가 어디에 배치 될지 확신 할 수 없습니다. 드라이브 중 하나가 고장 나서 BTRFS가 올바른 드라이브의 모든 데이터를 제대로 지우지 않고 불량 드라이브에 단일 사본을 배치하지 않도록하고 싶습니다. 대신 간단히 다른 드라이브가 존재하지 않는 것처럼 작동합니다 (과 같이 이전 설정으로 다시 변환)
작동하지 않습니다.
$ sudo btrfs device delete /dev/sda3 /media
ERROR: error removing device '/dev/sda3': unable to go below two devices on raid1
어떻게해야합니까? 도움을 주시면 감사하겠습니다.
TL : DR : BTRFS에서 1 개의 드라이브로 시작하여 single
다른 드라이브를 추가하여 다른 드라이브가 오류를 일으켰 습니다 RAID1
. 다른 드라이브가 오류가 발생했습니다 single
.
dconvert=single
한 덩어리에 대해 시도하면 내가 두려워하는 것으로 알려진 알려진 사본을 삭제합니다. :(