交換操作後、btrfsで使用されるサイズは2倍になります。

交換操作後、btrfsで使用されるサイズは2倍になります。

今日はbtrfs RAID1デバイスを交換する必要がありました。作業前のファイルシステムの状態は次のとおりです。

$ btrfs filesystem show /mnt
Label: none  uuid: b19e1a48-a25b-4f63-941d-c009949a5d51
        Total devices 2 FS bytes used 2.11TiB
        devid    1 size 0 used 0 path  MISSING
        devid    2 size 5.46TiB used 2.17TiB path /dev/mapper/datadungeon

それから私は走ったbtrfs replace start -r 1 /dev/mapper/eternalepoch /mnt。間違った部分を読んで-r間違って配置しましたが、マニュアルページには問題ありません。作業を開始した直後のファイルシステムは次のとおりです。

$ btrfs filesystem show /mnt
Label: none  uuid: b19e1a48-a25b-4f63-941d-c009949a5d51
        Total devices 3 FS bytes used 2.11TiB
        devid    0 size 2.73TiB used 2.17TiB path /dev/mapper/eternalepoch
        devid    1 size 0 used 0 path  MISSING
        devid    2 size 5.46TiB used 2.18TiB path /dev/mapper/datadungeon

以下は、作業が完了した後のファイルシステムです(私も作成しましたbtrfs filesystem resize 1:max /mnt)。

$ btrfs filesystem show /mnt
Label: none  uuid: b19e1a48-a25b-4f63-941d-c009949a5d51
        Total devices 2 FS bytes used 2.11TiB
        devid    1 size 5.46TiB used 2.17TiB path /dev/mapper/eternalepoch
        devid    2 size 5.46TiB used 4.35TiB path /dev/mapper/datadungeon

私はdu -schマウントされたデバイス2のルートでこれを実行し-o degraded(対応するドライブの結果を別にしたい)、予想通り2.17TBを得ました。それで、私の質問は、報告されたサイズがなぜ倍増し、どのように戻すことができるのかということです。 ?まるで自分自身を複製したのと同じです。バランス調整が機能していますか、それとも別のデバイスのサイズが倍になりますか?

ベストアンサー1

だから時々確認した結果filesystem usagedevice usage同様の情報を提供filesystem show)2.17TBは実際には非常に小さいデータであることがわかりました。

$ btrfs filesystem usage /mnt
Overall:
    Device size:                  10.92TiB
    Device allocated:              6.52TiB
    Device unallocated:            4.39TiB
    Device missing:                  0.00B
    Device slack:                    0.00B
    Used:                          4.22TiB
    Free (estimated):              4.45TiB      (min: 3.72TiB)
    Free (statfs, df):             1.17TiB
    Data ratio:                       1.50
    Metadata ratio:                   1.50
    Global reserve:              512.00MiB      (used: 0.00B)
    Multiple profiles:                 yes      (data, metadata, system)

Data,single: Size:2.17TiB, Used:256.00KiB (0.00%)
   /dev/mapper/datadungeon         2.17TiB

Data,RAID1: Size:2.17TiB, Used:2.10TiB (97.22%)
   /dev/mapper/eternalepoch        2.17TiB
   /dev/mapper/datadungeon         2.17TiB

Metadata,single: Size:10.00GiB, Used:112.00KiB (0.00%)
   /dev/mapper/datadungeon        10.00GiB

Metadata,RAID1: Size:10.00GiB, Used:3.05GiB (30.50%)
   /dev/mapper/eternalepoch       10.00GiB
   /dev/mapper/datadungeon        10.00GiB

System,single: Size:32.00MiB, Used:240.00KiB (0.73%)
   /dev/mapper/datadungeon        32.00MiB

System,RAID1: Size:32.00MiB, Used:336.00KiB (1.03%)
   /dev/mapper/eternalepoch       32.00MiB
   /dev/mapper/datadungeon        32.00MiB

Unallocated:
   /dev/mapper/eternalepoch        3.28TiB
   /dev/mapper/datadungeon         1.11TiB

それで結局バランスをとることになりましたbtrfs balance start -dprofiles=single,convert=raid1,soft -mprofiles=single,convert=raid1,soft /mnt(この場合はソフトとプロフィール=シングルが重複すると思います)。数分後、次のようになります。

btrfs filesystem show /data
Label: none  uuid: b19e1a48-a25b-4f63-941d-c009949a5d51
        Total devices 2 FS bytes used 2.11TiB
        devid    1 size 5.46TiB used 4.35TiB path /dev/mapper/eternalepoch
        devid    2 size 5.46TiB used 4.35TiB path /dev/mapper/datadungeon

しかし! 、ファイルシステムの使用量は実際には2.10TBです。

Data,RAID1: Size:4.33TiB, Used:2.10TiB (48.61%)
   /dev/mapper/eternalepoch        4.33TiB
   /dev/mapper/datadungeon         4.33TiB

usedしたがって、交換コマンドを実行する前に、一部のデータが最初のディスクに書き込まれ、btrfsは何らかの理由ですぐに2.17TBを割り当てました。これは、btrfs出力の理解不足による問題ではありません。実際には使用されず、割り当てのみです。)

おすすめ記事