BTRFS: एक वॉल्यूम हटाना


11

एक हफ्ते पहले, मैंने इस कमांड के साथ दो फ्लैश ड्राइव (32 जीबी प्रत्येक) का उपयोग करके एक BTRFS पूल बनाया /sbin/mkfs.btrfs -d single /dev/sda /dev/sdb:। तब मुझे एहसास हुआ कि मैं विभाजन का इस्तेमाल किया है चाहिए /dev/sda1और /dev/sdb1, डिस्क के बजाय /dev/sdaऔर /dev/sdb, इसलिए मैं का उपयोग कर संस्करणों निर्मित /dev/sd[ab]1

मेरी समस्या यह है कि अब मेरे पास दो खंड हैं:

$ sudo btrfs fi show
Label: none  uuid: ba0b48ce-c729-4793-bd99-90764888851f
        Total devices 2 FS bytes used 28.00KB
        devid    2 size 29.28GB used 1.01GB path /dev/sdb1
        devid    1 size 28.98GB used 1.03GB path /dev/sda1

Label: none  uuid: 17020004-8832-42fe-8243-c145879a3d6a
        Total devices 2 FS bytes used 288.00KB
        devid    1 size 29.28GB used 1.03GB path /dev/sdb
        devid    2 size 28.98GB used 1.01GB path /dev/sda

मैंने दूसरे वॉल्यूम को हटाने के लिए अलग-अलग विकल्पों को आज़माया है (u14id c145879a3d6a में समाप्त), अर्थात: btrfs डिलीट डिवाइस का उपयोग करना। फिर mkfs.btrfs, उपकरणों को अनमाउंट किया और पूरी तरह से छापे को फिर से बनाने के लिए fdisk भी किया, लेकिन कोई फर्क नहीं पड़ता कि मैं क्या करता हूं, फिर btrfs fi showभी दोनों संस्करणों को दिखाता है। मैं अपने सिस्टम से इन संस्करणों को पूरी तरह से कैसे हटा सकता हूं और सब कुछ खरोंच से शुरू कर सकता हूं? कोई फर्क नहीं पड़ता कि मैं क्या करता हूं

$ sudo btrfs device delete /dev/sda /media/flashdrive/
ERROR: error removing the device '/dev/sda' - Inappropriate ioctl for device

मैं यहां कर्नेल 3.12.21 + btrfs v0.19 चला रहा हूं

जवाबों:


8

मैं BTRFS का उपयोग करके स्वयं ऐसे ही मुद्दों में चला गया हूं।

पहली चीजें पहले - मक्खन को एक विभाजन में होने की आवश्यकता नहीं है, इसलिए जब तक कि किसी प्रकार का असंबद्ध कारण नहीं था कि आप इसे / देव / sdb1 में चाहते थे, आपने बिल्कुल वही किया जो मैंने किया और ठीक उसी समस्या में भाग गया।

चारों ओर खुदाई करने और इसे ठीक करने के लिए एक स्वच्छ समाधान खोजने की कोशिश करने के बाद, wipefs आपका सबसे अच्छा विकल्प है - माना जाता है कि नए संस्करण सभी निशान हटा सकते हैं। हालाँकि, जिस समय मैं इसमें भाग गया, मैंने अपने पूरे डिवाइस में शून्य लिखने के लिए dd का उपयोग करते हुए समाप्त किया, कुछ इस प्रकार है:

dd if=/dev/zero of=/dev/sdX bs=4M

यह समाधान के 9000 पाउंड गोरिल्ला है, लेकिन यह आपके थंबड्राइव को एक ताजा स्थिति में वापस लाएगा।

SSD चेतावनी: यह SSD (निर्माता पर निर्भर करता है) के प्रदर्शन के लिए हानिकारक हो सकता है और वास्तव में केवल थंबड्राइव पर ही किया जाना चाहिए। इस प्रश्न को देखें जो कुछ अन्य विकल्प (ब्लेकडिस्कर्ड) प्रदान करता है जो एसएसडी के लिए तेज / सुरक्षित / बेहतर हो सकता है। इस सवाल के कुछ अच्छे उत्तर भी हैं जो इस के बराबर हो सकते हैं लेकिन बिना शून्य (सुरक्षित मिटा सुविधा)।


धन्यवाद Nextraztus! लगता है कि समस्या हल हो गई है! मैं उन्हें अब खरोंच से फिर से बनाऊंगा। आशा है कि यह भविष्य के btrfs संस्करणों में तय किया गया है।
limaunion

3

wipefs -t btrfs /dev/sda1 /dev/sdb1जैसा कि मैंने आधिकारिक btrfs विकि में सुझाया था । यह mkfs- विकल्प के विवरण में थोड़ा छिपा हुआ है:

-f --force जब एक मौजूदा फाइल सिस्टम का पता चलता है, तो ब्लॉक डिवाइसेस को जबरन अधिलेखित कर देता है। डिफ़ॉल्ट रूप से, mkfs.btrfs उपकरणों पर किसी भी ज्ञात फाइल सिस्टम के लिए जांच करने के लिए libblkid का उपयोग करेगा। वैकल्पिक रूप से आप उपकरणों को खाली करने के लिए wipefs उपयोगिता का उपयोग कर सकते हैं।


3
sudo wipefs --all -t btrfs /dev/sda /dev/sdb

मेरे लिए काम किया। मुझे खाली --allहोने के लिए जोड़ना था sudo btrfs fi show

-ए, --all

सभी उपलब्ध हस्ताक्षर मिटा दें। मिटाए गए हस्ताक्षरों के सेट को -t विकल्प के साथ प्रतिबंधित किया जा सकता है।

Array / Btrfs के साथ बनाया गया था sudo mkfs.btrfs --label btrfs_6TB_RAID1 --metadata raid1 --data raid1 /dev/sda /dev/sdb --force

Wipefs प्रलेखन देखें


मुझे -fमेरे लिए काम करने के लिए वाइप्स को मजबूर करने के लिए झंडा जोड़ना पड़ा ।
ergohack

0

एक विकल्प के रूप में आप btrfs informations को पोंछने के लिए cryptsetup का उपयोग कर सकते हैं:

cryptsetup -c aes-cbc-essiv:sha256 -y -s 256 luksFormat /dev/sdXY

मेरे लिए काम किया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.