BTRFS: การลบโวลุ่ม


11

สัปดาห์ที่ผ่านมาฉันสร้าง BTRFS สระใช้สองแฟลชไดรฟ์ (32 GB แต่ละคน) /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

ฉันได้ลองตัวเลือกที่แตกต่างกันเพื่อที่จะลบไดรฟ์ที่สอง (uuid ที่ลงท้ายด้วย 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

สิ่งแรกสิ่งแรก - เนยไม่จำเป็นต้องอยู่ในพาร์ติชันดังนั้นถ้าไม่มีเหตุผลบางอย่างที่คุณต้องการใน / dev / sdb1 คุณทำสิ่งที่ฉันทำและพบปัญหาเดียวกันทั้งหมด

หลังจากขุดไปรอบ ๆ และพยายามหาทางแก้ไขที่สะอาดเพื่อแก้ไขมัน wipefs เป็นตัวเลือกที่ดีที่สุดของคุณ - เวอร์ชั่นใหม่ที่คาดคะเนสามารถลบร่องรอยทั้งหมดได้ อย่างไรก็ตามในเวลาที่ฉันพบสิ่งนี้ฉันลงเอยด้วยการใช้ dd เพื่อเขียนเลขศูนย์ลงในอุปกรณ์ทั้งหมดของฉันมีลักษณะดังนี้:

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

มันคือลิงกอริลลาของการแก้ปัญหา 9000 ปอนด์ แต่มันจะทำให้ thumbdrives ของคุณกลับสู่สถานะใหม่

คำเตือน SSD: สิ่งนี้อาจเป็นอันตรายต่อประสิทธิภาพของ SSD (ขึ้นอยู่กับผู้ผลิต) และควรจะทำเฉพาะใน thumbdrives เท่านั้น ดูคำถามนี้ซึ่งเสนอทางเลือกอื่น ๆ (blkdiscard) ที่อาจเร็วกว่า / ปลอดภัยกว่า / ดีกว่าสำหรับ SSD คำถามนี้ยังมีคำตอบที่ดีที่อาจทำ equiv นี้ แต่ไม่มี zeroing (คุณลักษณะการลบที่ปลอดภัย)


ขอบคุณ Nextraztus! ที่ดูเหมือนว่าจะมีการแก้ไขปัญหา! ฉันจะสร้างพวกเขาใหม่ตั้งแต่เริ่มต้น หวังว่านี่จะได้รับการแก้ไขในเวอร์ชัน btrfs ในอนาคต
limaunion

3

ฉัน prefere wipefs -t btrfs /dev/sda1 /dev/sdb1ตามที่แนะนำในbtrfs อย่างเป็นทางการวิกิพีเดีย มันค่อนข้างซ่อนอยู่ในคำอธิบายของ mkfs-option:

-f --force บังคับให้เขียนทับอุปกรณ์บล็อกเมื่อตรวจพบระบบไฟล์ที่มีอยู่ โดยค่าเริ่มต้น mkfs.btrfs จะใช้ libblkid เพื่อตรวจสอบระบบไฟล์ใด ๆ ที่รู้จักบนอุปกรณ์ หรือคุณสามารถใช้ยูทิลิตี wipefs เพื่อล้างอุปกรณ์


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

ทำงานให้ฉัน ฉันต้องเพิ่ม--allให้sudo btrfs fi showว่างเปล่า

-, - ทั้งหมด

ลบลายเซ็นที่มีอยู่ทั้งหมด ชุดของลายเซ็นที่ถูกลบสามารถถูก จำกัด ด้วยตัวเลือก -t

Array / Btrfs ถูกสร้างขึ้นด้วย sudo mkfs.btrfs --label btrfs_6TB_RAID1 --metadata raid1 --data raid1 /dev/sda /dev/sdb --force

ดูเอกสาร wipefs


ฉันต้องเพิ่ม-fธงเพื่อบังคับให้ wipefs ทำงานให้ฉัน
ergohack

0

คุณสามารถใช้ cryptsetup เพื่อล้างข้อมูล btrfs:

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

ทำงานให้ฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.