Sejumlah kecil cerita latar:
Saya memiliki sistem file media kecil, tempat saya menyimpan berbagai film dan acara TV yang digunakan untuk pengaturan HTPC saya. Ini pada awalnya diatur, menggunakan btrfs
, pada drive eksternal 1TB WD.
Kemudian, saya memutuskan untuk membeli drive lain, untuk memberikan kemampuan mirroring RAID1 filesystem ini. Drive ini adalah Seagate Barracuda (2TB, BARRACUDA 7200.14 FAMILY). Sayangnya, ini bukan pilihan drive yang baik. Drive mulai mengembangkan sejumlah besar kesalahan baca segera, meskipun BTRFS mampu memperbaikinya.
Baru-baru ini, jumlah kesalahan baca dari drive ini telah meningkat, dengan kondisinya terus memburuk. BTRFS sekarang mulai macet:
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
Saya ingin menghapus drive yang rusak dari array RAID1, kembali ke redundansi pada satu drive. Sayangnya, sepertinya tidak ada dokumentasi tentang bagaimana melakukan ini.
Saya menyadari bahwa seseorang dapat menjalankan yang berikut:
sudo btrfs balance start -dconvert=single /media
untuk mengubah profil data ke single
mode, tapi saya tidak yakin hanya DI MANA data akan ditempatkan. Karena salah satu drive gagal, saya ingin dapat memastikan bahwa BTRFS tidak patuh menghapus semua data pada drive yang baik, dan menempatkan satu salinan pada drive yang buruk - sebagai gantinya, saya ingin hanya bertindak seolah-olah drive lain tidak pernah ada (seperti di, konversikan kembali ke pengaturan lama saya)
Ini tidak berfungsi:
$ sudo btrfs device delete /dev/sda3 /media
ERROR: error removing device '/dev/sda3': unable to go below two devices on raid1
Apa yang harus saya lakukan? Bantuan akan sangat dihargai.
TL; DR: dimulai dengan 1 drive di BTRFS single
, menambahkan drive lain, membuatnya RAID1
, drive lain sekarang sedang error, bagaimana cara kembali ke hanya satu drive (KHUSUS yang dikenal baik) dengan single
?
dconvert=single
untuk satu potong hanya melakukan apa yang saya takutkan dan menghapus salinan yang dikenal baik. :(