btrfs checkあなたが何をしているのか本当に知らない限り、使用しないでください!ファイルシステムが破損する可能性があります!

btrfs checkあなたが何をしているのか本当に知らない限り、使用しないでください!ファイルシステムが破損する可能性があります!

Btrfsファイルシステムを使用して、3TB USB外付けハードドライブ(WD MyBook)にデータを書き込んでいた間、誤ってドライブの電源モジュールの電源を切った。

奇妙な点 - 書き込み操作が続くようです(すぐにI / Oエラーが発生すると予想しました)。プロセスを手動で終了rsyncし、ファイルシステムを再マウントしてみました。

ノード/dev/sdfはまだ存在しますが、インストールできません。

私は成功partprobeせずにこれを試しましたbtrfs device scan

再起動後にファイルシステムを再マウントできません。私はドライブで1つを実行し、btrfs rescue chunk-recover -v約14時間後に次のことを見つけました。

(A long list of good chunks)
Chunk: start = 1992919351296, len = 1073741824, type = 1, num_stripes = 1
      Stripes list:
      [ 0] Stripe: devid = 1, offset = 1975739482112
      No block group.
      Device extent list:
          [ 0]Device extent: devid = 1, start = 1975739482112, len = 1073741824, chunk offset = 1992919351296
  Chunk: start = 1993993093120, len = 1073741824, type = 1, num_stripes = 1
      Stripes list:
      [ 0] Stripe: devid = 1, offset = 1976813223936
      No block group.
      Device extent list:
          [ 0]Device extent: devid = 1, start = 1976813223936, len = 1073741824, chunk offset = 1993993093120
Unrecoverable Chunks:
  Chunk: start = 1995066834944, len = 1073741824, type = 1, num_stripes = 1
      Stripes list:
      [ 0] Stripe: devid = 1, offset = 1977886965760
      No block group.
      No device extent.
  Chunk: start = 1996140576768, len = 1073741824, type = 1, num_stripes = 1
      Stripes list:
      [ 0] Stripe: devid = 1, offset = 1978960707584
      No block group.
      No device extent.
  Chunk: start = 1997214318592, len = 1073741824, type = 1, num_stripes = 1
      Stripes list:
      [ 0] Stripe: devid = 1, offset = 1980034449408
      No block group.
      No device extent.
  Chunk: start = 1998288060416, len = 1073741824, type = 1, num_stripes = 1
      Stripes list:
      [ 0] Stripe: devid = 1, offset = 1981108191232
      No block group.
      No device extent.
  Chunk: start = 1361559158784, len = 1073741824, type = 1, num_stripes = 0
      Stripes list:
      Block Group: start = 1361559158784, len = 1073741824, flag = 1
      No device extent.

Total Chunks:           1850
  Recoverable:          1845
  Unrecoverable:        5

Orphan Block Groups:

Orphan Device Extents:

parent transid verify failed on 1634923266048 wanted 1530 found 1532
parent transid verify failed on 1634923266048 wanted 1530 found 1532
Ignoring transid failure
Couldn't setup extent tree
open with broken chunk error
Chunk tree recovery failed

一連の長いブロックの後、一部のブロックを回復することはできません。それはどういう意味ですか?

スクラブ、確認、--init-extent-tree、ログなしなど、可能なすべてのbtrfsコマンドを試しましたが、次の操作は行われませんでした。

# btrfs check -p /dev/sdc
Opening filesystem to check...
parent transid verify failed on 1634923266048 wanted 1530 found 1532
parent transid verify failed on 1634923266048 wanted 1530 found 1532
Ignoring transid failure
Couldn't setup extent tree
ERROR: cannot open file system

予期しない停電によってBtrfsファイルシステムが完全に破壊された可能性はありますか?

このイベントの詳細については、ここで確認できます。 https://forum.manjaro.org/t/unfixable-btrfs-filesystem-after-a-power-failure/80994

ベストアンサー1

btrfs checkあなたが何をしているのか本当に知らない限り、使用しないでください!ファイルシステムが破損する可能性があります!

私はBtrfsメーリングリストに連絡し、どんな用途でもbtrfs check --repairファイルシステムの破損が増加する可能性があることを知りました。

れんが造りのファイルシステムにつながったマイナーな問題の後、そのコマンドを愚かに使用したようです。

ヘルプを読むために実行すると、次の警告が表示されます。

# btrfs check
btrfs check: too few arguments
usage: btrfs check [options] <device>

    Check structural integrity of a filesystem (unmounted).

    Check structural integrity of an unmounted filesystem. Verify internal
    trees' consistency and item connectivity. In the repair mode try to
    fix the problems found. 
    WARNING: the repair mode is considered dangerous and should not be used
             without prior analysis of problems found on the filesystem.

追加情報: https://btrfs.wiki.kernel.org/index.php/Btrfsck

おすすめ記事