2つのディスクsda3とsdb3で構成されているext4ソフトウェアRAID1のサイズを変更しました(回復モード、つまりディスクはマウントされていません)。
e2fsck -f /dev/md126
resize2fs /dev/md126 39G
mdadm --grow /dev/md126 --size 40G
mdadm /dev/md126 --fail /dev/sda3
mdadm /dev/md126 --remove /dev/sda3
parted /dev/sda
(parted) print
Number Start End Size Type File system Flags
1 1049kB 537MB 536MB primary linux-swap(v1)
2 537MB 1166MB 629MB primary boot, raid
3 1166MB 1024GB 1023GB primary raid
(parted) resizepart
Partition number? 3
End? 48GB
mdadm /dev/md126 --add /dev/sda3
その後、sdb3に対しても同じプロセスを実行します。
RAIDが正常に再構築され、通常モードで起動できました。
しかし、今では否定的な使用スペースを取得します。
root@server:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/md126 23G -13G 34G - /mnt/md126
詳細はこちら:
root@server:~# tune2fs -l /dev/md126
Filesystem state: clean
Filesystem OS type: Linux
Block count: 10223616
Reserved block count: 511180
Overhead blocks: 4201607
Free blocks: 9411982
First block: 0
Block size: 4096
Reserved GDT blocks: 1024
Blocks per group: 32768
犯人は、RAIDのサイズ変更後も変更されていない「オーバーヘッドブロック」のようです(まだ同じ数です)。元のsda3およびsdb3パーティションのサイズは952.8Gです。
「否定的な」ディスク使用量が「オーバーヘッドブロック」によって引き起こされると考えるのは正しいですか?第二に、「使用されている」否定的なディスク領域が削除されるように、これらのブロックを減らす方法はありますか?
答え1
ファイルシステムがアンマウントされた状態で、次のコマンドを実行します。
debugfs -w -R "set_super_value overhead_blocks 0" /dev/sdXX
次に、次にファイルシステムをマウントすると、「オーバーヘッドブロック」の正しい値が再計算され、入力されます。
その後、正しい量のディスク容量を再利用できるようになります。