BTRFS: bir birimi silme


11

Bir hafta önce, ben bir btrfs bu komutla iki flaş sürücüler (32 GB her) kullanarak havuzda oluşturuldu: /sbin/mkfs.btrfs -d single /dev/sda /dev/sdb. Sonra ben bölümleri kullanmış gerektiğini fark /dev/sda1ve /dev/sdb1yerine disklerin, /dev/sdave /dev/sdbben kullanarak hacimleri yeniden yüzden /dev/sd[ab]1.

Benim sorunum şu anda iki cildim var:

$ 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

İkinci cildi silmek için farklı seçenekler denedim (c145879a3d6a ile biten uuid), yani: btrfs delete cihazı kullanarak. Sonra mkfs.btrfs, tüm baskıyı sıfırdan yeniden oluşturmak için cihazları söktü ve fdisk, ancak ne yaparsam yapayım, btrfs fi showher iki cildi de gösteriyor. Bu birimleri sistemimden nasıl tamamen kaldırabilir ve her şeyi sıfırdan nasıl başlatabilirim? Ne yaptığım önemli değil, birimler kaldırılamaz, yani:

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

Ben burada koşuyorum çekirdek 3.12.21 + btrfs v0.19

Yanıtlar:


8

BTRFS kullanarak kendime benzer sorunlarla karşılaştım.

İlk şeyler - tereyağı bir bölümde olmak zorunda değildir, bu yüzden / dev / sdb1'de olmasını istediğiniz bir tür sebep olmadıkça, tam olarak yaptığım şeyi yaptınız ve aynı soruna rastladınız.

Etrafı kazıp düzeltmek için temiz bir çözüm bulmaya çalıştıktan sonra, silme en iyi seçeneğinizdir - sözde yeni sürümler tüm izleri kaldırabilir. Ancak, bununla karşılaştığımda, tüm cihazıma sıfırlar yazmak için dd'yi kullandım, şöyle:

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

Bu 9000 kiloluk bir çözüm gorili, ancak parmak sürücülerinizi yeni bir duruma geri getirecek.

SSD Uyarısı: Bu, bir SSD'nin (üreticiye bağlı olarak) performansı için zararlı olabilir ve gerçekten sadece parmak sürüşlerinde yapılmalıdır. SSD'ler için daha hızlı / daha güvenli / daha iyi olabilecek bazı alternatifler (blkdiscard) sunan bu soruya bakın . Bu soru aynı zamanda sıfırlama olmadan (güvenli silme özelliği) bunun eşdeğerini yapabilen bazı iyi cevaplara sahiptir.


Teşekkürler Nextraztus! Bu sorunu çözmüş görünüyor! Şimdi onları sıfırdan yeniden oluşturacağım. Umarım bu gelecekteki btrfs sürümlerinde giderilmiştir.
limaunion

3

Resmi btrfs wiki'dewipefs -t btrfs /dev/sda1 /dev/sdb1 önerildiği gibi tercih ederim . Mkfs-option açıklamasında biraz gizli:

-f --force Mevcut bir dosya sistemi algılandığında blok cihazların üzerine zorla yaz. Varsayılan olarak, mkfs.btrfs aygıtlarda bilinen herhangi bir dosya sistemini kontrol etmek için libblkid kullanır. Alternatif olarak, aygıtları temizlemek için silme yardımcı programını kullanabilirsiniz.


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

benim için çalıştı. Boş --allolmak için eklemek zorunda kaldım sudo btrfs fi show.

-a, --all

Mevcut tüm imzaları silin. Silinen imzalar kümesi -t seçeneği ile kısıtlanabilir.

Array / Btrfs ile oluşturuldu sudo mkfs.btrfs --label btrfs_6TB_RAID1 --metadata raid1 --data raid1 /dev/sda /dev/sdb --force

Silme belgelerine bakın


-fSilecekleri benim için çalışmaya zorlamak için bayrak eklemek zorunda kaldım .
ergohack

0

Alternatif olarak, btrfs bilgilerini silmek için cryptsetup kullanabilirsiniz:

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

Benim için çalıştı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.