BTRFS:ボリュームの削除


11

1週間前、次のコマンドで2つのフラッシュドライブ(それぞれ32 GB)を使用してBTRFSプールを作成しました/sbin/mkfs.btrfs -d single /dev/sda /dev/sdb。それから私は、私はパーティションを使用している必要があることを認識/dev/sda1して/dev/sdb1、代わりにディスクの/dev/sda/dev/sdb、私が使用して、ボリュームを再作成して、/dev/sd[ab]1

私の問題は、現在2つのボリュームがあることです。

$ 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

2番目のボリューム(c145879a3d6aで終わるuuid)を削除するためにさまざまなオプションを試しました。つまり、btrfs delete deviceを使用しました。次に、mkfs.btrfsで、デバイスとfdiskをアンマウントして、RAID全体を最初から再作成しますが、何をしても、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ポンドのゴリラのソリューションですが、サムドライブを新鮮な状態に戻します。

SSD警告:これはSSDのパフォーマンスに悪影響を及ぼす可能性があり(メーカーによって異なります)、実際にはサムドライブでのみ行う必要があります。SSDの方が高速/安全/優れている可能性のある他の代替手段(blkdiscard)を提供するこの質問を参照してください。この質問には、これと同等ですが、ゼロ化(セキュア消去機能)を行わない可能性のある良い答えもあります。


Nextraztusに感謝します!これで問題は解決したようです!今からゼロから再作成します。これが将来のbtrfsバージョンで修正されることを願っています。
リマユニオン14年

3

公式のbtrfs wikiでwipefs -t btrfs /dev/sda1 /dev/sdb1示唆されているように私は好む。mkfs-optionの説明には少し隠されています。

-f --force 既存のファイルシステムが検出された場合、ブロックデバイスを強制的に上書きします。デフォルトでは、mkfs.btrfsはlibblkidを使用して、デバイス上の既知のファイルシステムをチェックします。または、wipefsユーティリティを使用してデバイスをクリアできます。


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

私のために働いた。空にする--allには追加する必要sudo btrfs fi showがありました。

-a、-all

使用可能なすべての署名を消去します。消去された署名のセットは、-tオプションで制限できます。

配列/ Btrfsが作成されました sudo mkfs.btrfs --label btrfs_6TB_RAID1 --metadata raid1 --data raid1 /dev/sda /dev/sdb --force

ワイプのドキュメントを参照してください


-fフラグを追加して、wipefsを強制的に機能させる必要がありました。
エルゴハック

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.