Назад | Перейти на главную страницу

Потеря данных файловой системы EXT4 под управлением Debian 9 под KVM

Я пытаюсь настроить виртуализацию KVM на хосте CentOS 7.6.1810. Это машина с процессором Xeon E-2176G и двойным SSD-накопителем на 1 ТБ. SSD настроены как программный рейд.

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 имеет загрузочный / корневой раздел и раздел подкачки, дополнительное пространство - это том LVM, созданный поверх тома raid для хранения виртуальных машин.

Вывод 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, которые я создаю сам с помощью ISO-образа сетевой установки от Debian. Кажется, что все идет хорошо, но по мере загрузки машины и увеличения нагрузки ввода-вывода файловая система повреждается.

Я проверяю это, делая:

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

Однако обычно вы думаете об аппаратном сбое:

Я предпочитаю иметь 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.

Надеюсь, у кого-то есть ключ к разгадке!

Ну, в конце концов, я решил это сам, я не знаю, как это связано, но на случай, если кто-то еще столкнется с той же проблемой.

Я изменил свой fstab с:

/dev/vda1         /               ext4    defaults      1   1

кому:

/dev/vda1         /               ext4    defaults      0   1

И почему-то это решило проблему. Я нашел его, попробовав общедоступный шаблон KVM от кого-то еще, у которого не было проблемы и у которого был такой fstab.