在KVM下运行Debian 9的EXT4文件系统数据丢失

时间:2019-06-24 14:04:56

标签: debian kvm ext4

我正在尝试在CentOS 7.6.1810主机上设置KVM虚拟化。这是一台具有Xeon E-2176G CPU和一个双1 TB SSD驱动器的计算机。将SSD配置为软件RAID。

Personalities : [raid1]
md126 : active raid1 sdb3[0] sda3[1]
      828441920 blocks super 1.2 [2/2] [UU]
      bitmap: 0/7 pages [0KB], 65536KB chunk

md127 : active raid1 sdb1[1] sda1[0]
      104856576 blocks super 1.2 [2/2] [UU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

SSD具有引导/根目录和交换分区,额外的空间是在RAID卷之上创建的LVM卷,用于虚拟机存储。

Fdisk输出:

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   209848319   104923136   fd  Linux raid autodetect
/dev/sda2       209848320   218236927     4194304   82  Linux swap / Solaris
/dev/sda3       218236928  1875385007   828574040   fd  Linux raid autodetect

vgdisplay输出:

 --- Volume group ---
  VG Name               vps
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  95
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               790.00 GiB
  PE Size               128.00 MiB
  Total PE              6320
  Alloc PE / Size       0 / 0
  Free  PE / Size       6320 / 790.00 GiB
  VG UUID               4jp2up-3ZDd-5zVb-2ZvC-SvC5-qwte-iXmSTt

我正在使用SolusVM部署KVM模板,这些模板是我使用Debian的net install ISO创建的。一切似乎都进行得很好,但是随着计算机的启动和I / O负载的增加,文件系统已损坏。

我通过以下方法对此进行了测试:

dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync

然后中止命令,日志文件/ dmesg显示此内容。

[   77.921283] EXT4-fs error (device vda1): ext4_validate_block_bitmap:386: comm kworker/u2:1: bg 11: bad block bitmap checksum
[   77.968478] EXT4-fs (vda1): Delayed block allocation failed for inode 524302 at logical offset 165888 with max blocks 2048 with error 74
[   77.968573] EXT4-fs (vda1): This should not happen!! Data will be lost

[   77.970041] EXT4-fs error (device vda1): ext4_validate_block_bitmap:386: comm kworker/u2:1: bg 12: bad block bitmap checksum
[   77.971194] EXT4-fs error (device vda1): ext4_validate_block_bitmap:386: comm kworker/u2:1: bg 13: bad block bitmap checksum
[   77.972094] EXT4-fs error (device vda1): ext4_validate_block_bitmap:386: comm kworker/u2:1: bg 14: bad block bitmap checksum
[   78.342607] EXT4-fs error (device vda1): ext4_validate_block_bitmap:386: comm dd: bg 18: bad block bitmap checksum
[   78.490468] EXT4-fs (vda1): Delayed block allocation failed for inode 524302 at logical offset 231424 with max blocks 2048 with error 74
[   78.490563] EXT4-fs (vda1): This should not happen!! Data will be lost

现在,通常情况下,您会想到硬件故障:

  • 我有3个类似的主机,所有品牌的硬件都完全相同。
  • 只有Debian 9才有问题,CentOS作为EXT4上的来宾VM可以。
  • 将Debian 9切换到EXT3而不是EXT4即可解决此问题。
  • 这仅在I / O负载沉重的情况下发生。

我更喜欢EXT4。知道是什么原因造成的吗?我看。在内核中使用最新的Debian 9.9:

Linux debian9 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1+deb9u3 (2019-06-16) x86_64 GNU/Linux

我已经为此工作了5天,但似乎找不到解决方案。我只发现了这个:

https://access.redhat.com/articles/41313

但是我不确定它能否描述我的问题,但是选项3对我来说似乎是一种解决方法。我的磁盘被指定了并且我定义了。不要使用AIO = native。

希望有人有线索!

0 个答案:

没有答案