Một lượng nhỏ tiền đề:
Tôi có một hệ thống tập tin đa phương tiện nhỏ, trên đó tôi lưu trữ nhiều bộ phim và chương trình TV khác nhau được sử dụng cho thiết lập HTPC của tôi. Điều này ban đầu được thiết lập, sử dụng btrfs
, trên ổ đĩa ngoài WD 1TB.
Sau đó, tôi quyết định mua một ổ đĩa khác, để cung cấp khả năng phản chiếu RAID1 cho hệ thống tập tin này. Ổ đĩa này là Seagate Barracuda (2TB, BARRACUDA 7200,14 GIA ĐÌNH). Thật không may, đây không phải là một lựa chọn tốt cho ổ đĩa. Ổ đĩa đã bắt đầu phát triển một lượng lớn lỗi đọc trong thời gian ngắn, mặc dù BTRFS đã có thể sửa chúng.
Gần đây, số lượng lỗi đọc từ ổ đĩa này đã tăng đột biến, với tình trạng của nó ngày càng tồi tệ. BTRFS hiện đang bắt đầu sụp đổ:
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
Tôi muốn xóa ổ đĩa bị lỗi khỏi mảng RAID1, trở lại không có dự phòng trên một ổ đĩa. Thật không may, dường như thiếu tài liệu về cách làm điều này.
Tôi biết rằng người ta có thể chạy như sau:
sudo btrfs balance start -dconvert=single /media
để chuyển đổi cấu hình dữ liệu sang single
chế độ, nhưng tôi không chắc chắn chỉ là nơi dữ liệu sẽ được đặt. Vì một trong các ổ đĩa bị lỗi, tôi muốn có thể đảm bảo rằng BTRFS không xóa hết dữ liệu trên ổ đĩa tốt và đặt một bản sao vào ổ đĩa xấu - thay vào đó, tôi chỉ muốn hành động như thể ổ đĩa khác không bao giờ tồn tại (như trong, chuyển đổi trở lại thiết lập cũ của tôi)
Điều này không hoạt động:
$ sudo btrfs device delete /dev/sda3 /media
ERROR: error removing device '/dev/sda3': unable to go below two devices on raid1
Tôi phải làm gì đây? Trợ giúp sẽ được đánh giá cao.
TL; DR: bắt đầu với 1 ổ đĩa trong BTRFS single
, đã thêm một ổ đĩa khác, khiến nó RAID1
, ổ đĩa khác hiện đang bị lỗi, làm cách nào để tôi quay lại chỉ một ổ đĩa (ĐẶC BIỆT là ổ đĩa tốt đã biết) với single
?
dconvert=single
cho một đoạn chỉ làm những gì tôi sợ và xóa bản sao tốt đã biết. :(