Debian 11 中缩小 RAID1 后磁盘使用空间为负

Debian 11 中缩小 RAID1 后磁盘使用空间为负

我调整了由两个磁盘 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 

然后,下次挂载文件系统时,将重新计算并填写“开销块”的正确值。

之后,正确数量的磁盘空间将再次可用。

相关内容