新しいデバイスにスペースを割り当てるためにbtrfsをどのように取得しますか?

新しいデバイスにスペースを割り当てるためにbtrfsをどのように取得しますか?

btrfsファイルシステムがあり、出力は次のとおりですbtrfs fi usage /mnt

Overall:
    Device size:          60.00GiB
    Device allocated:         40.00GiB
    Device unallocated:       20.00GiB
    Device missing:          0.00B
    Used:             38.03GiB
    Free (estimated):         10.00GiB  (min: 10.00GiB)
    Data ratio:               2.00
    Metadata ratio:           2.00
    Global reserve:       22.00MiB  (used: 0.00B)

Data,RAID1: Size:18.99GiB, Used:18.99GiB
   /dev/sdb   18.99GiB
   /dev/sdc   18.99GiB

Metadata,RAID1: Size:1.00GiB, Used:22.11MiB
   /dev/sdb    1.00GiB
   /dev/sdc    1.00GiB

System,RAID1: Size:8.00MiB, Used:16.00KiB
   /dev/sdb    8.00MiB
   /dev/sdc    8.00MiB

Unallocated:
   /dev/sdb    1.00MiB
   /dev/sdc    1.00MiB
   /dev/sdd   20.00GiB

ご覧のとおり、割り当てられたすべてのデータブロックが完全にいっぱいです。btrfs balance start /mnt失敗:

ERROR: error during balancing '/mnt': No space left on device
There may be more info in syslog - try dmesg | tail

これはいいえコピーこの問題これはメタデータブロックがいっぱいになることに関連しています。私の質問は、btrfsにいくつかのブロックを割り当てさせる方法です。/dev/sdd

ベストアンサー1

raid1プロファイルを使用するファイルシステムがあるようです。つまり、BTRFSが新しいブロックを割り当てることができるように、4番目のデバイスを一時的に追加する必要があります。

各プロファイルにはブロック割り当てに必要な最小数のデバイスがあり、空き領域があるデバイスが多い場合は新しいブロックを割り当てることができません。最小値は raid1 と raid0 の場合 2、raid10 の場合 4、raid5 および raid6 の場合はそれぞれ 3 と 4 です。 RAMが多く、電力が安定している場合、クイックオプションは、ファイルシステムに一時的に2〜4 GBのRAMディスクを追加し、フルバランスを実行してから、ファイルシステムからRAMディスクを削除することです。 USBフラッシュドライブも動作しますが、安定性の問題が発生する可能性があります。

またはあなた可能-mconvert=single, -dconvert=single, -f開始残高を使用してしばらく実行してから終了し、再実行残高を使用すると、追加の機器を追加せずにこの機能を達成できますが、-mconvert=raid1 -dconvert=raid1一部のデータは一時的に危険にさらされます。

おすすめ記事