[〜#〜] btrfs [〜#〜]でNo space left
に直面しています。
私がすでに試したこと:
btrfs filesystem resize max /mnt/hdd
btrfs balance start /mnt/hdd -dlimit=<param>
何も役に立ちませんでした。これ以上何ができますか?
だから私が直面しているのは(buntu 18.04.1 LTS):
BTRFS: error (device sda) in __btrfs_inc_extent_ref:2268: errno=-28 No space left
BTRFS info (device sda): forced readonly
ただし、十分なスペースがあります。
$ Sudo btrfs fi show /mnt/hdd
Label: none uuid: 262a8d86-279a-4f6b-8968-32e200c32255
Total devices 1 FS bytes used 1.68TiB
devid 1 size 7.28TiB used 1.70TiB path /dev/sda
ただし、このコマンドはデータ部分のスペースが不足していますか?を報告しています。
$ btrfs fi df /mnt/hdd
Data, single: total=1.47TiB, used=1.46TiB
System, single: total=4.00MiB, used=224.00KiB
Metadata, single: total=236.01GiB, used=222.76GiB
GlobalReserve, single: total=512.00MiB, used=495.75MiB
また:
$ Sudo btrfs fi usage /mnt/hdd
Overall:
Device size: 7.28TiB
Device allocated: 1.70TiB
Device unallocated: 5.58TiB
Device missing: 0.00B
Used: 1.68TiB
Free (estimated): 5.58TiB (min: 5.58TiB)
Data ratio: 1.00
Metadata ratio: 1.00
Global reserve: 512.00MiB (used: 495.75MiB)
Data,single: Size:1.47TiB, Used:1.46TiB
/dev/sda 1.47TiB
Metadata,single: Size:236.01GiB, Used:222.76GiB
/dev/sda 236.01GiB
System,single: Size:4.00MiB, Used:224.00KiB
/dev/sda 4.00MiB
Unallocated:
/dev/sda 5.58TiB
デバイスはほとんど割り当てられていません。これは、サイズ変更/リバランスで修正できます。しかし、それはすでに機能していなかったので、途中で「何か奇妙なもの」があります。 dmesg
からのBTRFS関連メッセージの出力は、理由を特定するのに役立つ場合があります。
オフにしてからもう一度オンにしてみましたか?真剣に、しかし、再マウントはほとんどのBTRFSの奇妙さを修正します。まだマウントしていない場合は、マウントを解除する前にデータをバックアップしてください。
それとは別に、チェックを行うことができます。これはスクラブとは異なり、BTRFSがオフラインのときにバッキングブロックデバイスに対して実行されます。これは大量のRAMを消費し、完了するまでに時間がかかります。これは構造を検証し、(-repairオプションを使用して)指示されない限り、それ自体で修復することはありません。何が問題なのかを出力し、それを修正するものを理解するまで、修復するように指示しないでください(たとえば、物理ドライブの障害が検出されない場合、修復を行うとファイルシステムがほぼ確実に破棄されます)。
したがって、オフラインチェックを発行できます。
btrfs check -p /dev/sda
また、BTRFSチェックで問題が発生した場合は、バッキングデバイスをチェックする必要があります(SMARTデータを読み取る、長いテストを実行するなど)。これはsmartctl -a /dev/sda
とそれぞれsmartctl -t long /dev/sda
。これは、これが実際のドライブを含むベアメタルノードであると想定しています。VMの場合は、BTRFSで損傷が見られるかどうかを下から上に確認し始めます。