USB Disk Probleme

Dunuin

Distinguished Member
Jun 30, 2020
14,793
4,627
258
Germany
Moin,

Ich habe hier gerade physische 9 Laufwerke angeschlossen welche ich per virtio SCSI (mit qm set) an eine Debian VM durchreiche. 3 davon sind per SATA abgeschlossen und laufen problemlos, 6 sind per USB abgebunden. 3 von den USB Laufwerken machen mir aber Probleme, unabhängig davon welchen USB-Port (USB3.0 und 2.0) ich nutze oder ob ich ein USB-Hub dazwischen habe oder nicht.

Problem 1:
Eine USB-Festplatte erzeugt alle 10-20 Minuten in der Debian VM Soft Lockups der CPU wenn man auf diese zugreift.
Im Syslog des Gastes sehe ich dann soetwas:
Code:
May 12 02:31:54 Chia kernel: [10861.487243] rcu: INFO: rcu_sched self-detected stall on CPU
May 12 02:31:54 Chia kernel: [10861.487322] rcu:        4-....: (5249 ticks this GP) idle=0be/1/0x4000000000000002 softirq=656356/656356 fqs=2314
May 12 02:31:54 Chia kernel: [10861.487325] rcu:         (t=5250 jiffies g=1173345 q=18718)
May 12 02:31:54 Chia kernel: [10861.487330] NMI backtrace for cpu 4
May 12 02:31:54 Chia kernel: [10861.487396] CPU: 4 PID: 107 Comm: kswapd0 Tainted: G             L    4.19.0-16-amd64 #1 Debian 4.19.181-1
May 12 02:31:54 Chia kernel: [10861.487397] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014
May 12 02:31:54 Chia kernel: [10861.487399] Call Trace:
May 12 02:31:54 Chia kernel: [10861.487492]  <IRQ>
May 12 02:31:54 Chia kernel: [10861.487638]  dump_stack+0x66/0x81
May 12 02:31:54 Chia kernel: [10861.487696]  nmi_cpu_backtrace.cold.4+0x13/0x50
May 12 02:31:54 Chia kernel: [10861.487805]  ? lapic_can_unplug_cpu+0x80/0x80
May 12 02:31:54 Chia kernel: [10861.487881]  nmi_trigger_cpumask_backtrace+0xf9/0x100
May 12 02:31:54 Chia kernel: [10861.487927]  rcu_dump_cpu_stacks+0x9b/0xcb
May 12 02:31:54 Chia kernel: [10861.487961]  rcu_check_callbacks.cold.81+0x1db/0x335
May 12 02:31:54 Chia kernel: [10861.488020]  ? tick_sched_do_timer+0x60/0x60
May 12 02:31:54 Chia kernel: [10861.488038]  update_process_times+0x28/0x60
May 12 02:31:54 Chia kernel: [10861.488082]  tick_sched_handle+0x22/0x60
May 12 02:31:54 Chia kernel: [10861.488111]  tick_sched_timer+0x37/0x70
May 12 02:31:54 Chia kernel: [10861.488114]  __hrtimer_run_queues+0x100/0x280
May 12 02:31:54 Chia kernel: [10861.488117]  hrtimer_interrupt+0x100/0x210
May 12 02:31:54 Chia kernel: [10861.488133]  smp_apic_timer_interrupt+0x6a/0x140
May 12 02:31:54 Chia kernel: [10861.488197]  apic_timer_interrupt+0xf/0x20
May 12 02:31:54 Chia kernel: [10861.488199]  </IRQ>
May 12 02:31:54 Chia kernel: [10861.488202] RIP: 0010:smp_call_function_many+0x1fb/0x250
May 12 02:31:54 Chia kernel: [10861.488206] Code: de 5d 00 3b 05 4a 2d 02 01 0f 83 8c fe ff ff 48 63 d0 48 8b 0b 48 03 0c d5 20 f7 ae 9a 8b 51 18 83 e2 01 74 0a f3 90 8b 51 18 <83> e2 01 75 f6 eb c8 48 c7 c2 20 df d2 9a 4c 89 fe 89 df e8 fd de
May 12 02:31:54 Chia kernel: [10861.488207] RSP: 0000:ffff97310396bb08 EFLAGS: 00000202 ORIG_RAX: ffffffffffffff13
May 12 02:31:54 Chia kernel: [10861.488210] RAX: 000000000000000d RBX: ffff893162923100 RCX: ffff893162b672a0
May 12 02:31:54 Chia kernel: [10861.488211] RDX: 0000000000000003 RSI: 0000000000000000 RDI: ffff893162923108
May 12 02:31:54 Chia kernel: [10861.488213] RBP: ffff893162923108 R08: 0000000000000200 R09: 0000000000001fef
May 12 02:31:54 Chia kernel: [10861.488214] R10: 0000000000000000 R11: 0000000000000008 R12: ffffffff99c62a50
May 12 02:31:54 Chia kernel: [10861.488215] R13: 0000000000000000 R14: 0000000000000001 R15: 0000000000000200
May 12 02:31:54 Chia kernel: [10861.488260]  ? __cpa_flush_range+0x30/0x30
May 12 02:31:54 Chia kernel: [10861.488308]  ? smp_call_function_many+0x1d4/0x250
May 12 02:31:54 Chia kernel: [10861.488310]  ? __cpa_flush_range+0x30/0x30
May 12 02:31:54 Chia kernel: [10861.488312]  on_each_cpu+0x28/0x60
May 12 02:31:54 Chia kernel: [10861.488342]  change_page_attr_set_clr+0x1c9/0x420
May 12 02:31:54 Chia kernel: [10861.488375]  set_pages_array_wb+0x26/0x70
May 12 02:31:54 Chia kernel: [10861.488437]  ttm_pages_put+0x84/0x90 [ttm]
May 12 02:31:54 Chia kernel: [10861.488484]  ttm_page_pool_free+0x146/0x1a0 [ttm]
May 12 02:31:54 Chia kernel: [10861.488490]  ttm_pool_shrink_scan+0xbc/0x100 [ttm]
May 12 02:31:54 Chia kernel: [10861.488595]  do_shrink_slab+0x125/0x270
May 12 02:31:54 Chia kernel: [10861.488644]  shrink_slab+0xac/0x2b0
May 12 02:31:54 Chia kernel: [10861.488676]  shrink_node+0xe8/0x460
May 12 02:31:54 Chia kernel: [10861.488679]  kswapd+0x3cd/0x6c0
May 12 02:31:54 Chia kernel: [10861.488711]  ? mem_cgroup_shrink_node+0x170/0x170
May 12 02:31:54 Chia kernel: [10861.488744]  kthread+0x112/0x130
May 12 02:31:54 Chia kernel: [10861.488789]  ? kthread_bind+0x30/0x30
May 12 02:31:54 Chia kernel: [10861.488792]  ret_from_fork+0x35/0x40
May 12 02:31:54 Chia kernel: [10861.488833] Sending NMI from CPU 4 to CPUs 13:
May 12 02:31:54 Chia kernel: [10869.861744] NMI backtrace for cpu 13
May 12 02:31:54 Chia kernel: [10869.861745] CPU: 13 PID: 0 Comm: swapper/13 Tainted: G             L    4.19.0-16-amd64 #1 Debian 4.19.181-1
May 12 02:31:54 Chia kernel: [10869.861757] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014
May 12 02:31:54 Chia kernel: [10869.861757] RIP: 0010:uhci_get_current_frame_number.part.21+0xd/0x30 [uhci_hcd]
May 12 02:31:54 Chia kernel: [10869.861758] Code: c2 c3 b8 e0 ff ff ff c3 b8 b9 ff ff ff c3 b8 b5 ff ff ff c3 b8 c1 ff ff ff c3 0f 1f 00 0f 1f 44 00 00 8b 47 08 8d 50 06 66 ed <8b> 97 c0 00 00 00 29 d0 25 ff 03 00 00 01 d0 89 87 c0 00 00 00 c3
May 12 02:31:54 Chia kernel: [10869.861759] RSP: 0018:ffff893162b43dd0 EFLAGS: 00000046
May 12 02:31:54 Chia kernel: [10869.861760] RAX: 000000000000019d RBX: ffff893155d32000 RCX: 0000000000000000
May 12 02:31:54 Chia kernel: [10869.861761] RDX: 000000000000f086 RSI: ffff893162b43e92 RDI: ffff893155d32238
May 12 02:31:54 Chia kernel: [10869.861761] RBP: ffff893155d322c8 R08: ffff893162b5a830 R09: 0000000000000000
May 12 02:31:54 Chia kernel: [10869.861762] R10: ffff893162b43ef8 R11: 0000000000000004 R12: ffff893155d32238
May 12 02:31:54 Chia kernel: [10869.861762] R13: 0000000000000202 R14: ffff893155d32238 R15: 0000000000000000
May 12 02:31:54 Chia kernel: [10869.861763] FS:  0000000000000000(0000) GS:ffff893162b40000(0000) knlGS:0000000000000000
May 12 02:31:54 Chia kernel: [10869.861763] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 12 02:31:54 Chia kernel: [10869.861764] CR2: 00003a79b2658000 CR3: 000000030a00a001 CR4: 0000000000360ee0
May 12 02:31:54 Chia kernel: [10869.861764] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
May 12 02:31:54 Chia kernel: [10869.861765] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
May 12 02:31:54 Chia kernel: [10869.861765] Call Trace:
May 12 02:31:54 Chia kernel: [10869.861766]  <IRQ>
May 12 02:31:54 Chia kernel: [10869.861766]  uhci_scan_schedule.part.36+0x59/0xb20 [uhci_hcd]
May 12 02:31:54 Chia kernel: [10869.861766]  ? cpumask_next+0x16/0x20
May 12 02:31:54 Chia kernel: [10869.861767]  ? get_nohz_timer_target+0x9f/0x170
May 12 02:31:54 Chia kernel: [10869.861767]  ? __internal_add_timer+0x1a/0x50
May 12 02:31:54 Chia kernel: [10869.861768]  uhci_hub_status_data+0x43/0x220 [uhci_hcd]
May 12 02:31:54 Chia kernel: [10869.861768]  ? usb_hcd_poll_rh_status+0x1a0/0x1a0 [usbcore]
May 12 02:31:54 Chia kernel: [10869.861769]  usb_hcd_poll_rh_status+0x5a/0x1a0 [usbcore]
May 12 02:31:54 Chia kernel: [10869.861769]  ? tick_sched_do_timer+0x60/0x60
May 12 02:31:54 Chia kernel: [10869.861770]  ? usb_hcd_poll_rh_status+0x1a0/0x1a0 [usbcore]
May 12 02:31:54 Chia kernel: [10869.861770]  call_timer_fn+0x2b/0x130
May 12 02:31:54 Chia kernel: [10869.861770]  run_timer_softirq+0x1c7/0x3e0
May 12 02:31:54 Chia kernel: [10869.861771]  ? tick_sched_timer+0x37/0x70
May 12 02:31:54 Chia kernel: [10869.861771]  ? kvm_clock_get_cycles+0xd/0x10
May 12 02:31:54 Chia kernel: [10869.861772]  ? ktime_get+0x3a/0xa0
May 12 02:31:54 Chia kernel: [10869.861772]  __do_softirq+0xde/0x2d8
May 12 02:31:54 Chia kernel: [10869.861772]  irq_exit+0xba/0xc0
May 12 02:31:54 Chia kernel: [10869.861773]  smp_apic_timer_interrupt+0x74/0x140
May 12 02:31:54 Chia kernel: [10869.861773]  apic_timer_interrupt+0xf/0x20
May 12 02:31:54 Chia kernel: [10869.861773]  </IRQ>
May 12 02:31:54 Chia kernel: [10869.861774] RIP: 0010:native_safe_halt+0xe/0x10
May 12 02:31:54 Chia kernel: [10869.861775] Code: ff ff 7f c3 65 48 8b 04 25 40 5c 01 00 f0 80 48 02 20 48 8b 00 a8 08 75 c4 eb 80 90 e9 07 00 00 00 0f 00 2d f6 2f 4d 00 fb f4 <c3> 90 e9 07 00 00 00 0f 00 2d e6 2f 4d 00 f4 c3 90 90 0f 1f 44 00
May 12 02:31:54 Chia kernel: [10869.861775] RSP: 0018:ffff9731031f7ea8 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff13
May 12 02:31:54 Chia kernel: [10869.861777] RAX: ffffffff9a334aa0 RBX: 000000000000000d RCX: ffffffff9ac4f290
May 12 02:31:54 Chia kernel: [10869.861777] RDX: 0000000000a05ba6 RSI: ffffffff9ac4aef8 RDI: 0000000000000087
May 12 02:31:54 Chia kernel: [10869.861778] RBP: 000000000000000d R08: 00000a5c78f1c637 R09: 000009dbc2479d1c
May 12 02:31:54 Chia kernel: [10869.861778] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
May 12 02:31:54 Chia kernel: [10869.861779] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
May 12 02:31:54 Chia kernel: [10869.861780]  ? __sched_text_end+0x7/0x7
May 12 02:31:54 Chia kernel: [10869.861780]  default_idle+0x1c/0x140
May 12 02:31:54 Chia kernel: [10869.861780]  do_idle+0x1e3/0x270
May 12 02:31:54 Chia kernel: [10869.861781]  cpu_startup_entry+0x6f/0x80
May 12 02:31:54 Chia kernel: [10869.861781]  start_secondary+0x1a4/0x200
May 12 02:31:54 Chia kernel: [10869.861782]  secondary_startup_64+0xa4/0xb0

In der Console des Gastes sehe ich dann Dinge wie "kernel:[438635.409120] watchdog: BUG: soft lockup - CPU#13 stuck for 23s! [gnome-shell:1145]".

Der Host meckern dann auch zur entsprechenden Zeit über die VM:
Code:
May 12 02:30:16 Hypervisor kernel: [11966.778571] usb 3-4: reset SuperSpeed Gen 1 USB device number 5 using xhci_hcd
...
May 12 02:31:30 Hypervisor pvedaemon[6828]: VM 125 qmp command failed - VM 125 qmp command 'query-proxmox-support' failed - got timeout
May 12 02:31:34 Hypervisor pvestatd[4206]: VM 125 qmp command failed - VM 125 qmp command 'query-proxmox-support' failed - unable to connect to VM 125 qmp socket - timeout after 31 retries
May 12 02:31:34 Hypervisor pvedaemon[6828]: VM 125 qmp command failed - VM 125 qmp command 'guest-ping' failed - got timeout
May 12 02:31:34 Hypervisor pvestatd[4206]: status update time (6.759 seconds)
May 12 02:31:45 Hypervisor pvestatd[4206]: VM 125 qmp command failed - VM 125 qmp command 'query-proxmox-support' failed - unable to connect to VM 125 qmp socket - timeout after 31 retries
May 12 02:31:45 Hypervisor pvestatd[4206]: status update time (6.887 seconds)
May 12 02:31:50 Hypervisor pvedaemon[3858]: VM 125 qmp command failed - VM 125 qmp command 'query-proxmox-support' failed - unable to connect to VM 125 qmp socket - timeout after 31 retries
May 12 02:31:53 Hypervisor kernel: [12064.355266] usb 3-4: reset SuperSpeed Gen 1 USB device number 5 using xhci_hcd
May 12 02:31:55 Hypervisor pvestatd[4206]: status update time (6.239 seconds)
...
May 12 02:34:06 Hypervisor kernel: [12196.724093] usb 3-4: reset SuperSpeed Gen 1 USB device number 5 using xhci_hcd

Das andere Problem sind zwei USB-HDDs die alle paar Tage mal nicht mehr vom Host erkannt werden. Wenn ich da auf dem Host "lsblk -o +MODEL,SERIAL,WWN | grep sd" aufrufe, dann fehlen diese einfach und folglich macht die VM dann auch Probleme wenn diese auf die Laufwerke zugreifen will. In dem Fall muss ich dann die entsprechenden Partitionen im Gast unmounten, über die Proxmox GUI die USB-Platten "detachen", dann die USB-Disks aus den USB-Ports ziehen und wieder reinstecken. Dann werden die USB-HDDs wieder von lsblk erkannt und ich kann sie per "qm set 125 -scsi7 /dev/disk/by-id/ata-ST3000DM001-9YN166_XXXXXX,backup=0,cache='none',iothread=1" wieder in die VM bringen. Danach kann ich im Gast "mount -a" aufrufen und alles geht wieder.

Mainboard ist ein Supermicro X10SRM-F und der USB-Controller sollte von dem Intel C612 Chipsatz kommen.

Hat da vielleicht jemand einen Tipp was das Problem sein könnte?

Achso, und ist es normal, dass da mit Durchreichen über "qm set" die Partitionen nicht erkannt werden? Das fand ich etwas merkwürdig. Vielleicht habe ich da ja etwas falsch gemacht?
Wenn ich die USB-HDDs auf dem Host selbst mit fdisk partitionieren und formatiere, dann zeigt mir lsblk auf dem Host auch korrekt die Partitionen an. Reiche ich dann über "qm set" die HDD in die VM durch, dann wird im Gast nur die HDD aber ohne Partitionen erkannt.
Wenn ich die USB-HDDs unpartitioniert per "qm set" durchreiche und dann im Gast per fdisk partitioniere und formatiere, dann zeigt mir der Gast korrekt die Partition an aber der Host kann keine Partition finden.

Noch ein paar Infos:

Formatiert sind die USB-Laufwerke alle mit GPT und ext4. Eingebunden über fstab mit UUIDs und "noatime,nodiratime" als Optionen.
Gast ist ein Debian Buster mit der Standard-Desktopumgebung.

Proxmox ist über die No-Subscription-Repo aktuell gehalten.

cat /etc/pve/qemu-server/125.conf
Code:
agent: 1
balloon: 0
boot: order=scsi0;ide2;net0
cores: 14
cpu: host
ide2: none,media=cdrom
memory: 29696
name: Chia
net0: virtio=XX:XX:XX:XX:XX:XX,bridge=vmbr42,firewall=1
net1: virtio=XX:XX:XX:XX:XX:XX,bridge=vmbr45,firewall=1
net2: virtio=XX:XX:XX:XX:XX:XX,bridge=vmbr43,firewall=1
numa: 0
ostype: l26
scsi0: VMpool7_VM:vm-125-disk-0,discard=on,iothread=1,size=100G
scsi1: VMpool7_VM:vm-125-disk-1,size=4G
scsi10: /dev/disk/by-id/usb-SABRENT_SABRENT_000000123AD2-0:0,backup=0,cache=none,size=468851544K
scsi2: /dev/disk/by-id/ata-HGST_HUS726020ALE610_K5HB5DKD,backup=0,cache=writeback,iothread=1,size=1953514584K
scsi3: /dev/disk/by-id/ata-ST3000DM001-9YN166_Z1F26WCW,backup=0,cache=writeback,iothread=1,size=2930266584K
scsi4: /dev/disk/by-id/ata-ST3000DM001-9YN166_Z1F22N6R,backup=0,cache=writeback,iothread=1,size=2930266584K
scsi5: /dev/disk/by-id/usb-BUFFALO_HD-PCTU3_JB2H00510-0:0,backup=0,cache=none,iothread=1,size=976762584K
scsi6: /dev/disk/by-id/usb-WD_Elements_1042_57584231454131464B574C33-0:0,backup=0,cache=none,iothread=1,size=953867M
scsi7: /dev/disk/by-id/ata-ST3000DM001-9YN166_Z1F1G0X4,backup=0,cache=none,iothread=1,size=2930266584K
scsi8: /dev/disk/by-id/ata-ST3000DM001-9YN166_Z1F20W88,backup=0,cache=none,iothread=1,size=2930266584K
scsi9: /dev/disk/by-id/usb-Intenso_External_USB_3.0_201206190317-0:0,backup=0,cache=none,size=3815447M
scsihw: virtio-scsi-single
smbios1: uuid=a0d84037-7f0d-4afe-b68e-0f3b0bc6c406
sockets: 1
vmgenid: d84b81ae-2826-4ab5-95e7-beb64083b59d
vmstatestorage: VMpool7_VMSS

[PENDING]
delete: balloon
 
Last edited:
Hey,

sehe ich es richtig, dass du die USB-Festplatten als disk devices durchreichst ?
Ich könnte mir vorstellen, dass es hier durch Probleme gibt.
Der Host (Proxmox Server) handelt selbst Power Saving, USB Reset, etc. und der Guest dann nur die Disk.
Sprich, Informationen zum Status der Platte bzw. dem USB Gerät kommen am Guest nicht an.

Mein Vorschlag wäre, entweder mal den kompletten USB-Port an die Maschine durchzureichen oder direkt den gesamten USB Controller.

Zur zweiten Frage bezüglich "qm set":

Achtest du darauf, dass die ID sich wirklich auf die gesamte Platte bezieht oder hast du eventuell versehentlich eine einzelne Partition weitergereicht ?
Bzw. zu dem von dir beschriebenen Verhalten (fdisk on host, host - ok, guest - failed | fdisk on guest, host - failed, guest - ok):

Sind das eventuell USB-Festplatten mit eingebauter Hardwareverschlüsselung, die eventuell nur an dem jeweiligen Gerät dann funktionieren ?
 

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!