Kernel 6.8.12-3

garfield2008

Member
Sep 12, 2022
66
5
13
Laut Changelog:

proxmox-kernel-6.8 (6.8.12-3) bookworm; urgency=medium
* fix #5430: cherry-pick fix for ocfs2 io_uring rw issues

anscheinent doch nicht gefixt.
Die Meldungen auf der Serverkonsole beim Start einer VM sind zwar verschwunden aber im Log sieht es so aus:
Nov 05 10:56:30 rz-pve11 kernel: (kvm,11968,33) cfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
Nov 05 10:56:30 rz-pve11 kernel: ocfs2_dio_end_io: 11 callbacks suppressed
Nov 05 10:56:31 rz-pve11 kernel: (kvm,11968,35) cfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
Nov 05 10:56:32 rz-pve11 kernel: (kvm,11968,35) cfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
Und natürlich geht es immer noch nicht mit "io'_uring".
 
Es waren zwei Probleme vorhanden:
  • Fehler beim Start einer VM mit einer ISO-Datei im CD-Rom, welches auf einer OCFS2-Partition liegt
  • Fehler beim Start einer VM mit einer Disk (QCOW), welche auf einer OCFS2-Partition liegt

Ich kann bestätigen, dass das erste Problem mit diesem Patch behoben wurde.
Das zweite Problem ist weiterhin vorhanden.
 
Und hier die Fehler aus dem Kernel-Log:

Code:
[  507.651747] (kvm,19020,12):ocfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
[  507.651768] (kvm,19020,12):ocfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
[  507.656365] (kvm,19020,12):ocfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
[  507.657111] (kvm,19020,12):ocfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
[  507.657127] (kvm,19020,12):ocfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
[  507.657612] (kvm,19020,12):ocfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
[  507.657627] (kvm,19020,12):ocfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
[  507.663289] (kvm,19020,12):ocfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
[  507.663305] (kvm,19020,12):ocfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
[  507.663524] (kvm,19020,12):ocfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
 
Und hier die Fehler aus dem Kernel-Log:

Code:
[  507.651747] (kvm,19020,12):ocfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
[  507.651768] (kvm,19020,12):ocfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
[  507.656365] (kvm,19020,12):ocfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
[  507.657111] (kvm,19020,12):ocfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
[  507.657127] (kvm,19020,12):ocfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
[  507.657612] (kvm,19020,12):ocfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
[  507.657627] (kvm,19020,12):ocfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
[  507.663289] (kvm,19020,12):ocfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
[  507.663305] (kvm,19020,12):ocfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
[  507.663524] (kvm,19020,12):ocfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
ok, schade. Das ist genau der Fehler, den ich vorher schon reproduzieren konnte.
 
ocfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
Diese Fehlernachricht wird ausgegeben, wenn bei einem Direct I/O auf einem ocfs2 filesystem auf dem Kernel block layer ein I/O-Fehler auftritt (-EIO == -5) [0]. Ich konnte diesen Fehler jedoch sowohl mit der Kernel-Version 6.8.12-2, als auch der gepatchten Kernel-Version 6.8.12-3 nicht reproduzieren.

Ich habe dafür wie ein OCFS2 filesystem wie hier [1] beschrieben aufgesetzt und eine VM mit allen Drives auf diesem als qcow2 erstellt. Für die Drive-Optionen aio=io_uring und sowohl cache=directsync, cache=writeback als auch "no cache", konnte ich die VM sowohl starten, aber konnte mit dem folgenden Kommando den oben genannten Fehler auf diesem ocfs2-Dateisystem nicht auslösen.

Bash:
fio --name=write_4m --sync=1 --direct=1 --time_based --iodepth=1 --runtime=600 --bs=4m --rw=randwrite --size=100M --filename=/root/foobar --ioengine libaio

Es wäre zur Reproduktion des Problems noch hilfreich zu wissen:
  • Auf welcher Hardware wird das OCFS2-Dateisystem betrieben?
  • Wie wird das OCFS2 gemounted?
  • Welche VM Config haben die betroffenen VMs?
  • Gibt es im Journal/dmesg weitere Messages, die die Ursache weiter einschränken könnten?
[0]
ocfs2_dio_end_io: https://elixir.bootlin.com/linux/v6.8.12/source/fs/ocfs2/aops.c#L2421
ocfs2_direct_IO: https://elixir.bootlin.com/linux/v6.8.12/source/fs/ocfs2/aops.c#L2462
dio_complete: https://elixir.bootlin.com/linux/v6.8.12/source/fs/direct-io.c#L282
dio_bio_complete: https://elixir.bootlin.com/linux/v6.8.12/source/fs/direct-io.c#L508

[1] http://gurubert.de/ocfs2_io_uring.html
 
Last edited:
Hardware:
HP Proliant G9
Open-vswitch
QLogic 8GB FC Adapter
8 Wege Multipath
Strorage HP EVA P6500 Vollausbau 42HE (ja ich weis, das Teil ist uralt und EOL)

OCFS2 nach der Anleitung von Heinlein Support.

OCFS2 per FSTAB gemounted
LABEL=FCOCFS2001 /mnt/pve/san01 ocfs2 _netdev,defaults 0 0
LABEL=FCOCFS2002 /mnt/pve/san02 ocfs2 _netdev,defaults 0 0
LABEL=FCOCFS2009 /mnt/pve/san09 ocfs2 _netdev,defaults 0 0

getestete VM Konfig

bios: ovmf
boot: order=scsi0;net0
cores: 4
cpu: x86-64-v2-AES
efidisk0: san02-vdisk2002:114/vm-114-disk-0.qcow2,efitype=4m,pre-enrolled-keys=1,size=528K
machine: pc-q35-9.0
memory: 4096
meta: creation-qemu=8.0.2,ctime=1702048936
name: TEST
net0: virtio=D2:46:58:ED:35:FE,bridge=vmbr1,firewall=1,tag=200
numa: 0
ostype: win10
scsi0: san02-vdisk2002:114/vm-114-disk-1.qcow2,iothread=1,size=32G
scsihw: virtio-scsi-single
smbios1: uuid=82d1180d-88eb-4eda-8b3b-e732f34414ef
sockets: 1
vga: virtio
agent: 1
balloon: 0
bios: ovmf
boot: order=scsi0;scsi1
cores: 4
cpu: x86-64-v2-AES
efidisk0: san02-vdisk2002:117/vm-117-disk-0.qcow2,efitype=4m,pre-enrolled-keys=1,size=528K
machine: pc-q35-8.0
memory: 4096
meta: creation-qemu=6.2.0,ctime=1654780865
name: RECOVER
net0: virtio=FA:04:CA:6B:09:29,bridge=vmbr1,firewall=1,tag=200
numa: 0
ostype: win10
scsi0: san02-vdisk2002:117/vm-117-disk-1.qcow2,iothread=1,size=40G
scsihw: virtio-scsi-single
smbios1: uuid=09f8a0aa-6e95-48bb-b555-b02e1b486bab
sockets: 1
startup: order=12
tablet: 1
vga: virtio

Fehlermeldungen
Nov 05 10:56:30 rz-pve11 kernel: (kvm,11968,33) cfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
Nov 05 10:56:30 rz-pve11 kernel: ocfs2_dio_end_io: 11 callbacks suppressed
Nov 05 10:56:31 rz-pve11 kernel: (kvm,11968,35) cfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
Nov 05 10:56:32 rz-pve11 kernel: (kvm,11968,35) cfs2_dio_end_io:2421 ERROR: Direct IO failed, bytes = -5
 
Ich konnte es auf einem HPE MSA 2052 mit 2 Servern, je 2 Verbindungen mit multipath reproduzieren. Allerdings konnte ich den neuen Kernel noch nicht testen.
 
Mal Off Topic, bei dem Strom was die EVA durchballert und den Klimakosten, kannst du dir doch nach ein bis zwei Jahren einen neuen Server leisten. ;)
 
Mal Off Topic, bei dem Strom was die EVA durchballert und den Klimakosten, kannst du dir doch nach ein bis zwei Jahren einen neuen Server leisten. ;)
So Es ist eine EVA P. Der Stromverbrauch ist nicht größer wie bei einer aktuellen MSA. Die Hard Disk Shelfs sind die gleichen wie bei der MSA. Schade ist nur, das das Teil keine Platten größer 900GB 10k/15k unterstützt.
 
Last edited:
Danke für das schnelle Feedback @devaux und @spacefreak! Ich konnte den Fehler nun reproduzieren und melde mich, wenn eine Lösung in Sicht ist. Ich würde die Diskussion zu diesem Thread hauptsächlich auf den älteren Thread [0] und den Bug Report [1] verschieben, sodass mehr Personen (in Englisch) darüber informiert sind.

Edit: Gerade bemerkt, danke auch an @garfield2008 für die Meldung und Informationen!

[0] https://forum.proxmox.com/threads/140273/
[1] https://bugzilla.proxmox.com/show_bug.cgi?id=5430
 
Last edited:
  • Like
Reactions: devaux

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!