BTRFSがRAID1モードで新しいデバイスを追加しました。削除する方法は?

BTRFSがRAID1モードで新しいデバイスを追加しました。削除する方法は?

ディスク容量が足りず、いつものように古いスナップショットをクリーンアップしました。今回は、数GBのスペースdf -h /と一緒に「利用可能なスペースなし」がついて1つを実行することにしました。btrfs fi df /btrfs balance

btrfs balance「スペース不足」エラーのため失敗しました。オンラインで検索した結果、次のページにリンクしました。このブログ投稿btrfs balanceコンパクトサポートデバイス(USBフラッシュドライブを含む)を一時的に追加し、完了したら削除してこの問題を解決することをお勧めします。

私のrootfsにペンドライブを追加しました。

btrfs dev add /dev/sdc1 /

エラーは表示されず、空き容量がありました。実行しbtrfs balanceて完了したら、USBスティックを取り外してみました。

sudo btrfs dev del /dev/sdc1 /
ERROR: error removing device '/dev/sdc1': unable to go below two devices on raid1

BTRFSは、RAID1プロファイルのドライブを使用してメタデータとシステムデータを保存することを決定します。

$ sudo btrfs fi usage / 
Overall:
    Device size:         864.53GiB
    Device allocated:        857.05GiB
    Device unallocated:        7.48GiB
    Device missing:          0.00B
    Used:            830.28GiB
    Free (estimated):         24.93GiB  (min: 21.23GiB)
    Data ratio:               1.00
    Metadata ratio:           2.00
    Global reserve:      512.00MiB  (used: 0.00B)

Data,single: Size:828.01GiB, Used:810.56GiB
   /dev/mapper/masa-root     828.01GiB

Data,RAID1: Size:2.02GiB, Used:2.01GiB
   /dev/mapper/masa-root       2.02GiB
   /dev/sdc1       2.02GiB

Data,DUP: Size:2.00GiB, Used:1.94GiB
   /dev/sdc1       4.00GiB

Metadata,RAID1: Size:2.97GiB, Used:131.61MiB
   /dev/mapper/masa-root       2.97GiB
   /dev/sdc1       2.97GiB

Metadata,DUP: Size:7.50GiB, Used:5.78GiB
   /dev/mapper/masa-root      15.01GiB

System,RAID1: Size:32.00MiB, Used:128.00KiB
   /dev/mapper/masa-root      32.00MiB
   /dev/sdc1      32.00MiB

Unallocated:
   /dev/mapper/masa-root       1.97GiB
   /dev/sdc1       5.51GiB

この一時デバイスを正しく削除する方法は?

答え1

からman btrfs device

デバイスを削除

デバイスの削除はプロファイル制約を満たす必要があります。それ以外の場合、コマンドは失敗します。たとえば、

$ btrfs device remove /dev/sda /mnt
  ERROR: error removing device '/dev/sda': unable to go below two devices on raid1

この場合、デバイスを削除するには設定ファイルを変換する必要があります。

$ btrfs balance start -mconvert=dup -dconvert=single /mnt
$ btrfs device remove /dev/sda /mnt

関連情報