बैकस्टोरी की एक छोटी राशि:
मेरे पास एक छोटा मीडिया फाइल सिस्टम है, जिस पर मैं अपने एचटीपीसी सेटअप के लिए उपयोग की जाने वाली विभिन्न फिल्मों और टीवी शो को स्टोर करता हूं। यह मूल रूप से btrfs
1TB WD बाहरी ड्राइव पर , उपयोग करके स्थापित किया गया था ।
बाद में, मैंने एक और ड्राइव खरीदने का फैसला किया, इस फाइलसिस्टम RAID1 मिररिंग क्षमताओं को देने के लिए। यह ड्राइव सीगेट बाराकुडा (2TB, BARRACUDA 7200.14 परिवार) है। दुर्भाग्य से, यह ड्राइव का एक अच्छा विकल्प नहीं था। ड्राइव ने शीघ्र ही बड़ी मात्रा में पढ़ने की त्रुटियों को विकसित करना शुरू कर दिया, हालांकि 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
एक चंक के लिए केवल वही होता है जो मुझे डर था और ज्ञात अच्छी प्रतिलिपि को हटा देता है। :(