Proxmox ja PCI passthrough

Liittynyt
02.12.2020
Viestejä
33
Vuosia käyttämättömänä olleesta vanhasta tehomyllystä tarkoitus pystyttää kodin keskuspalvelin.

Prossu: AMD Threadripper 1950X
Emolevy: MSI X399 Gaming Pro Carbon AC
Muisti: 64GB
Levynä: 1TB M.2 paikassa ja 6kpl WD RED 3TB levyjä

Valitsin Proxmoxin virtualisointi alustaksi koska sillä kohtuu helppo pyörittää erilaisia kokeiluja. Aluksi ainakin ajettelin ajaa tuolla TrueNAS ja Jellyfin kokonaisuuksia.

Proxmoxin asentaminen oli helppoa mutta TrueNAS:sia kun aloin asennella törmäsin muutamaan asiaan jotka pysäyttivät kokeiluni toistaiseksi. TrueNAS itse mainitsee virtualisointiohjeissaan, että olisi parasta antaa sille suora pääsy varsinaisiin levyihin eli tapauksessasi noihin SATA-levyihin jotka kiinni nyt suoraan emolevyn SATA-porteissa. Yleisesti puhutaan PCI passthrough termistä eli joku laite on suoraan virtuaalikoneen hallinnassa.

Wiki Proxmox PCI Passthrough

Tämä vielä onnistuisi kohtuu helposti jos SATA-ohjain oli yksistään PCI-väylässä mutta näin ei todellakaan emolevylläni vaan samassa väylässä useita laitteita. Ainoaksi vaihtoehdoksi jäi kokeilla tuossa wikissä mainittua Alex Williamsonin ACS korjausta josta sanotaan ettei se ole riskitöntä.

Tuossa yllä mainitusta heräsikin kysymys jota näyttäisi moni muukin miettineen, pitäisikö ostaa erillinen SATA-ohjain kortti PCI-väylään jolloin mahdollisesti se oli yksistään väylässä ja koko ohjaimen voisi välittää suoraan TrueNASsille.

Onko jollain täällä vastaavia kokemuksia aiheesta ja jos niin miten ratkaisit asian?
 
Eikö pelkkä SATA-ohjain ole valittavissa jos lisäät VM:lle PCI-laitteen? Eli tähän tapaan (Valitse Raw Device ja sen alta tuo SATA-ohjain):
1767689060234.png


Valitse myös All Function ja PCI-Express kohtaan rasti.

IOMMU vaan pitää olla sitten käytössä.
 
Lisäsin siis Proxmoxin kernelin parametriksi
Bash:
amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction vfio-pci.ids=1022:43b6

Niin nyt
Bash:
lspci -k | grep -A 3 01:00.1
01:00.1 SATA controller: Advanced Micro Devices, Inc. [AMD] X399 Series Chipset SATA Controller (rev 02)
    DeviceName: Promontory SATA
    Subsystem: ASMedia Technology Inc. Device 1062
    Kernel driver in use: vfio-pci

Nyt siis käytössä tuo ACS-korjaus mihin viittasin tuossa aloituksessani. Muistaakseni ilman tuota tuo SATA-ohjain oli samassa IOMMU-ryhmässä(12) useiden muiden laitteiden kanssa, nyt se on omanaan ryhmässä 13.

Screenshot from 2026-01-06 11-51-08.png


Kyllä TrueNAS näkee SATA-levyt tällä tavalla.

Viittasin tuolla riskillä Wikin lauseeseen
"Should that not work, you can try using Alex Williamson's ACS override patch. However, this should be seen as a last option and is not without risks"

Onko miten turvallista/riskitöntä käyttää tuota? Ilmeisesti moni käyttää eikä ole ollut ongelmia.
 
Lisään vielä, että jos olisi erillinen PCI-väylään tuleva ohjainkortti tuota "keinotekoista" ACS overrideä ei tarvittaisi koska ohjainkortti olisi todennäköisesti jo lähtökohtaisesti omana IOMMU-ryhmänään vai käsitänkö jotain väärin?
 
Valitse myös All Function ja PCI-Express kohtaan rasti.

IOMMU vaan pitää olla sitten käytössä.
Jos valitsen listasta SATA-ohjaimeni (0000:01:00.1 IOMMU 13) ja sen jälkeen valitsen All Function vaihtuu Device: kohtaan 0000:01:00.0 eli IOMMU 12.

Onko tämä juuri se rajoitus joka tulee kun käytetään ACS Overrideä? Ilman tuotahan SATA-ohjain oli juuri ryhmässä 12.
 
Noniin, olisi pitänyt lukea aloitus hieman paremmin ja miettiä omaa vastausta. Jos tuossa on emon puolelta ACS rikki ja joutuu käyttämään tuota overridea, niin erillinen kortti saattaisi toimia omassa IOMMU-ryhmässä. Ei tarvitsisi sitten tosiaan käyttää overridea. Tokihan senkin voi ensin varmuudeksi testata jollain toisella kortilla käymällä PCIe-paikat läpi.
Mitä kaikkea tuossa samassa IOMMU-ryhmässä on tuon emon SATA-ohjaimen kanssa ilman ACS:ää? Onko sellaisia laitteita, että tuon koko ryhmän voisi laittaa passthroughna Truenassille? Meinaan vaan, että jos sieltä tulee samalla vaikka USB-ohjain mukaan, niin onko tuosta toisaalta haittaa?

All Functions rasti ottaa sen PCI-laitteen kaikki funktiot mukaan, joka on se viimeinen pisteen jälkeen tuleva osa. Eli tapauksessasi tosiaan sitten tulee myös tuo xHCI-ohjain mukaan kun muuten osoite on kummassakin sama. Tuo ei liity ACS.
 
Yritin löytää Biossista tuohon liittyviä asetuksia mutta en löydä mitään. Onko tuota edes mahdollista tuolla emolevyllä, ei tietoa.
Olisi siellä ainakin USB-ohjain samassa ja muutakin SATA-ohjaimen kanssa.
 
Yritin löytää Biossista tuohon liittyviä asetuksia mutta en löydä mitään. Onko tuota edes mahdollista tuolla emolevyllä, ei tietoa.
Olisi siellä ainakin USB-ohjain samassa ja muutakin SATA-ohjaimen kanssa.
 
Tuolla lankulla ei taida olla erillistä ACS-asetusta biosissa. Jos nyt oikein tavasin ohjekirjaa niin sieltä löytyy vain SVM Mode ja IOMMU Mode -asetukset OC -> CPU Features alta. Jos kuitenkin löydät tuon alta myös kohdan AMD CBS, niin kurkkaa sekin läpi.
Oliko tuossa muuten uusin bios sisällä?
 
Onko TrueNAS ehdoton? Itselläni on Proxmoxin hostilla zfs, ja siitä datasetit jaettu mount pointeilla yhteen tai useampaan konttiin (samanaikaisesti). Esim samballe on oma kontti. Pomminvarma.
 
Koodi:
mp0: /bigboi/media,mp=/bigboi/media
Tältä näyttää usean kontin (mm. Plex) konffi, yksi rivi lisätty. Em. hakemiston käyttäjä/ryhmäoikeus (joko saa lopettaa nämä suomennokset :D) on 101000:101000 eli se näkyy kontin sisällä 1000 uid/gid (ensimmäinen ns. normaali käyttäjä joka luodaan), tällöin kaikki toimii kuten pitää.
Se on siis yksittäinen dataset jonka sisällä on kansiorakenne.

Jos haluaa jakaa usean datasetin ("tiedostojärjestelmän"), pitää ne lisätä jokainen erikseen omalle mpN: rivilleen, TAI käyttää tätä (esim itsellä samba-verkkojakokontissa):
Koodi:
lxc.mount.entry: /bigboi/homes/ bigboi/homes none rbind,create=dir,optional 0 0
Esim /bigboi/homes/bindi (joka on dataset, ei kansio) tulee myös mountatuksi siis konttiin. Mutta huomionarvoista on että hard linkit eivät toimi tiedostojärjestelmien(=datasettien) välillä, jos tuota Plex ja siihen liittyvää ohjelmistoa miettii. Siksi yksi iso dataset, eikä jaoteltu pienempiin.
 
Viimeksi muokattu:

Statistiikka

Viestiketjuista
296 921
Viestejä
5 063 381
Jäsenet
81 240
Uusin jäsen
Pollberg

Hinta.fi

Back
Ylös Bottom