Onboard Sata Controller durchreichen, wo finde ich ihn?

tomtom45

Member
Feb 11, 2024
4
0
6
Hallo, ich habe einen Microserver Gen10Plus (v1) und möchte den Onboard Sata Controller durchreichen an eine VM. Proxmox ist auf einer M.2 installiert welche im PCIe Slot sitzt.

Die Geräte die Proxmox findet sind aber nur folgende:

Code:
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent

permitted by applicable law.

root@pve:~# lspci

00:00.0 Host bridge: Intel Corporation 8th/9th Gen Core Processor Host Bridge/DRAM Registers [Coffee Lake] (rev 07)

00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 07)

00:12.0 Signal processing controller: Intel Corporation Cannon Lake PCH Thermal Controller (rev 10)

00:14.0 USB controller: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller (rev 10)

00:14.2 RAM memory: Intel Corporation Cannon Lake PCH Shared SRAM (rev 10)

00:16.0 Communication controller: Intel Corporation Cannon Lake PCH HECI Controller (rev 10)

00:16.4 Communication controller: Intel Corporation Cannon Lake PCH HECI Controller #2 (rev 10)

00:1b.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #21 (rev f0)

00:1c.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #1 (rev f0)

00:1d.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #9 (rev f0)

00:1d.1 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #10 (rev f0)

00:1d.2 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #11 (rev f0)

00:1d.3 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #12 (rev f0)

00:1f.0 ISA bridge: Intel Corporation C242 Chipset LPC/eSPI Controller (rev 10)

00:1f.5 Serial bus controller: Intel Corporation Cannon Lake PCH SPI Controller (rev 10)

01:00.0 System peripheral: Hewlett-Packard Company Integrated Lights-Out Standard Slave Instrumentation & System Support (rev 07)

01:00.1 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200eH3 (rev 02)

01:00.2 System peripheral: Hewlett-Packard Company Integrated Lights-Out Standard Management Processor Support and Messaging (rev 07)

01:00.4 USB controller: Hewlett-Packard Company iLO5 Virtual USB Controller

02:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)

02:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)

02:00.2 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)

02:00.3 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)

07:00.0 Non-Volatile memory controller: Intel Corporation NVMe Optane Memory Series


Ich hätte erwartet ich finde irgendetwas mit dem Namen "Sata". Versteckt sich das ganze hinter einem dieser Namen?
 
Last edited:
Ja ich überlege ein Nas mit TrueNAS zu virtualisieren möchte aber auf Proxmox nicht verzichten, momentan eigene Hardware dafür.
Ja mit Festplatten dran probiere ich später mal aus, hab sie abgehangen um beim Testen sicherzugehen dass nicht ausversehen dort etwas überschrieben wird.
 
Du kannst ja mal eine EFI-Shell (eventuell extern, wenn keine im BIOS integriert ist) laden und dort mit "pci" schauen, ob ein Gerät angezeigt wird.
Aber seltsam erscheint es natürlich, dass kein offensichtlicher Storage Controller zu finden ist.
 
Last edited:
  • Like
Reactions: Johannes S
Die gängige Methode zum Durchreichen an TrueNAS wäre doch nicht auf Ebene des Controllers, sondern der Platten?
So mit
Code:
qm set <VM-ID> -scsi<n> /dev/disk/by-id/SOME-DISK-ID
 
Nunja, Der einzige Hinweis dort ist das problematische write ordering. Und um das ganz klar zu sagen, das schalte ich auch unter PVE direkt immer ab, indem ich den Schreibpuffer der Platte auf 1 setze, seitdem ich festgestellt habe, dass es unter write pressure keine Garantie für ein echtes Flushing des SATA write buffers gibt.

Ich hatte nämlich genau damit Probleme, es traten immer wieder Pool Fehler auf und im Log konnte ich dann timeouts sehen.

Deshalb läuft bei mir im /etc/rc.local immer:

Code:
# set TLER to 7 seconds
for d in $(ls /dev | grep -E 'sd[a-z]$'); do
    # DO NOT DO THIS with ZFS, as the drives do not come up fast and will be faulted
    #smartctl -s standby,off /dev/$d >/dev/null ;
    #
    # set TLER to 7 seconds
    smartctl -d sat -l scterc,70,70 /dev/$d >/dev/null ;
    echo 1 >/sys/block/${d}/device/queue_depth
done

Will sagen: Für das Problem braucht es nicht mal passthru.
 
Last edited:
  • Like
Reactions: Johannes S