Hello guys,
at the moment I am virtualizing my openmediavault to a kvm. My hardware specs:
Mainboard: Supermicro X11SSH-CTF
CPU: Intel Xeon E3-1240Lv5 4x 2.10GHz So.1151 TRAY
RAM: 64GB DDR4 ECC UDIMM
Onboard-SAS-Controller: LSI SAS3008 PCI-Express (with 8x4TB WD Red in a Eaid-Z2)
On the host I am Running Proxmox 4.2 with kernel 4.4.19-1-pve.
So I want to passthrough my onboard "LSI SAS-Controller" and did it the way it is written in the following article:
https://pve.proxmox.com/wiki/Pci_passthrough
In detail I did the following:
While booting the kvm, I saw the following. lspci showed the sas-controller, but in openmediavault3 I was not able to import the pool.
My syslog was full of scsi and mpt3sas messages: http://pastebin.com/TnTcpEVc
After that I googled around and found the info, that I can use another parameter. So I changed the configuration to the following:
But with this parameter I didn't see the sas-controller with lspci anymore.
So I decided to try the following configuration:
With this configuration it was possible to see the sas-controller with lspci and to import the zfs-pool to openmediavault.
This is great!
Why do I have to configure the controller without the parameter "pcie=1"?
If I understand your wiki-article right, this parameter should be used for pci-express devices. The onboard-sas-controller uses pci-express.
What limitations can be expected with my configuration?
Sometimes I see the follwoing message in /var/log/messages. http://pastebin.com/QyEPTnG8
What do you think about this?
When I boot the kvm I see the following fault-state:
You also see this message in the actual syslog: http://pastebin.com/TW93MwS8
Now syslog looks ok all in all in my opinion, except this one fault_state. All other messages in the syslog kvm relating to mpt3sas look like on the bare metal. Great!
By the way, my steps 7,8, 9and 10 are not documented in the wiki-article. Are these steps relevant to do or not?
Thanks in advance for your help!
Greetings Hoppel
at the moment I am virtualizing my openmediavault to a kvm. My hardware specs:
Mainboard: Supermicro X11SSH-CTF
CPU: Intel Xeon E3-1240Lv5 4x 2.10GHz So.1151 TRAY
RAM: 64GB DDR4 ECC UDIMM
Onboard-SAS-Controller: LSI SAS3008 PCI-Express (with 8x4TB WD Red in a Eaid-Z2)
On the host I am Running Proxmox 4.2 with kernel 4.4.19-1-pve.
So I want to passthrough my onboard "LSI SAS-Controller" and did it the way it is written in the following article:
https://pve.proxmox.com/wiki/Pci_passthrough
In detail I did the following:
- Changed to: GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on" in "/etc/default/grub", executed "update-grub" and rebooted
- added the vfio-modules (vfio, vfio_iommu_type1, vfio_pci and vfio_virqfd) to "etc/modules"
- built the kvm with openmediavault3 (debian jessie 8.6) and installed the pve kernel in the kvm, so both systems (proxmox-host and omv-guest) use the same kernel
- "dmesg | grep ecap" shows "ecap f050da", the last character is an a, interrupt remapping is supported
- checked the iommu isolation with "find /sys/kernel/iommu_groups/ -type l", iommu_groups are there
- located my sas-controller with lspci, the address is: "01:00.0"
- blacklisted the sas-module on the proxmox-host with "echo 'blacklist mpt3sas' >> /etc/modprobe.d/mpt3sas.conf"
- depmodded "depmod -aeF /boot/System.map-4.4.19-1-pve"
- updated initramfs with "update-initramfs -k all -u"
- rebooted, checked the "mpt3sas" module with lsmod, it's not loaded anymore
- configured my "/etc/pve/qemu-server/vmid.conf" in different ways because I had problems to import my zfs pool to openmediavault3:
Code:
machine: q35
hostpci0: 01:00.0,pcie=1
While booting the kvm, I saw the following. lspci showed the sas-controller, but in openmediavault3 I was not able to import the pool.
My syslog was full of scsi and mpt3sas messages: http://pastebin.com/TnTcpEVc
After that I googled around and found the info, that I can use another parameter. So I changed the configuration to the following:
Code:
machine: q35
hostpci0: 01:00.0,pcie=1,driver=virtio
But with this parameter I didn't see the sas-controller with lspci anymore.
So I decided to try the following configuration:
Code:
machine: q35
hostpci0: 01:00.0
With this configuration it was possible to see the sas-controller with lspci and to import the zfs-pool to openmediavault.
Code:
root@omv:~# lspci
00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller
00:01.0 VGA compatible controller: Cirrus Logic GD 5446
00:1a.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03)
00:1a.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03)
00:1a.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 0 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 0 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 0 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 0 (rev 02)
00:1d.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92)
00:1f.0 ISA bridge: Intel Corporation 82801IB (ICH9) LPC Interface Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (rev 02)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02)
05:01.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
05:02.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
05:03.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
06:03.0 Unclassified device [00ff]: Red Hat, Inc Virtio memory balloon
06:05.0 SCSI storage controller: Red Hat, Inc Virtio SCSI
06:0c.0 SCSI storage controller: Red Hat, Inc Virtio block device
06:10.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS3008 PCI-Express Fusion-MPT SAS-3 (rev 02)
06:12.0 Ethernet controller: Red Hat, Inc Virtio network device
This is great!
Why do I have to configure the controller without the parameter "pcie=1"?
If I understand your wiki-article right, this parameter should be used for pci-express devices. The onboard-sas-controller uses pci-express.
What limitations can be expected with my configuration?
Sometimes I see the follwoing message in /var/log/messages. http://pastebin.com/QyEPTnG8
Code:
Oct 1 03:00:11 omv kernel: [ 2.408262] virtio-pci 0000:06:03.0: virtio_pci: leaving for legacy driver
What do you think about this?
When I boot the kvm I see the following fault-state:
You also see this message in the actual syslog: http://pastebin.com/TW93MwS8
Now syslog looks ok all in all in my opinion, except this one fault_state. All other messages in the syslog kvm relating to mpt3sas look like on the bare metal. Great!
By the way, my steps 7,8, 9and 10 are not documented in the wiki-article. Are these steps relevant to do or not?
Thanks in advance for your help!
Greetings Hoppel
Last edited: