Ik draai al een tijdje naar alle tevredenheid FreeBSD via ZFSguru. Leuk, instap ligt wat lager door de webinterface die CiPHER en Jason geschreven hebben, en ik heb voorlopig een oer-veilige NAS/SAN.
Maar! Doordat ik virtualiseer kan ik virtuele netwerkadapters toevoegen. Je kan onder ESXi een E1000-adapter toevoegen, wat niet meer is dan een geëmuleerde Intel E1000 adapter, kost wat processing power en het grootste nadeel is dat die E1000 gelimiteerd is tot 1Gbit. De VMXNET3 adapter daarentegen
zit op 10GBit
. Omdat mijn ZFS machine ook als SAN (via NFS) fungeert voor ESXi zelf (ja ik weet het, ESXi virtualiseert een FreeBSD machine die op zijn beurt storage presenteert aan ESXi) had ik graag die 10Gbit werkend gekregen, en daar wringt het schoentje:
Vanaf het moment dat ik die adapter toevoeg loopt de console van mijn VM vol met:
Niet zo leuk, want voor wat ik ervan begrepen heb wilt dat zeggen dat een device, zijnde virtueel of fysiek (kom ik later op terug) gigantisch vaak de CPU zit te porren "Ey! Ik wil aandacht, joehoe!" waardoor de CPU zegt: "Euh gast, fuck off, je gaat de strafbank op, je valt me te vaak lastig".
Men moet weten dat er één speciaal ding is aan die VM (en daar ligt volgens mij een stukje van het probleem) en dat is dat deze VM via VT-d een IBM M1015 gepassthroughed heeft gekregen vanuit ESXi... Basically houdt dat in dat alleen die VM exclusief toegang heeft tot dat PCIe-device.
Wat heb ik opgezocht: dat je met bepaalde commando's een lijstje kan krijgen van welk apparaat op welke IRQ hangt. Omdat ik begrepen dat interrupt storms vooral voorkomen wanneer twee devices om de een of andere gekke manier op hetzelfde lijntje terecht komen en dus over dezelfde lijn de CPU zitten te porren... Daardoor denkt die dat er van één bepaald apparaat teveel IRQ's komen, dus wordt dat apparaat even geparkeerd (althans zo heb ik het begrepen).
Uit mijn vmstat -i komt volgend:

Ik begrijp daaruit dat op irq18 maar één apparaat zit: mps0 (ik ben er nog niet uit wat die apparaat naam is, maar ik gok op mijn M1015 controller), maar van waar komen die IRQ storms dan en vooral: hoe los ik dit op?
Maar! Doordat ik virtualiseer kan ik virtuele netwerkadapters toevoegen. Je kan onder ESXi een E1000-adapter toevoegen, wat niet meer is dan een geëmuleerde Intel E1000 adapter, kost wat processing power en het grootste nadeel is dat die E1000 gelimiteerd is tot 1Gbit. De VMXNET3 adapter daarentegen
Vanaf het moment dat ik die adapter toevoeg loopt de console van mijn VM vol met:
interrupt storm detected on "irq18:"; throttling intterupt source
Niet zo leuk, want voor wat ik ervan begrepen heb wilt dat zeggen dat een device, zijnde virtueel of fysiek (kom ik later op terug) gigantisch vaak de CPU zit te porren "Ey! Ik wil aandacht, joehoe!" waardoor de CPU zegt: "Euh gast, fuck off, je gaat de strafbank op, je valt me te vaak lastig".
Men moet weten dat er één speciaal ding is aan die VM (en daar ligt volgens mij een stukje van het probleem) en dat is dat deze VM via VT-d een IBM M1015 gepassthroughed heeft gekregen vanuit ESXi... Basically houdt dat in dat alleen die VM exclusief toegang heeft tot dat PCIe-device.
Wat heb ik opgezocht: dat je met bepaalde commando's een lijstje kan krijgen van welk apparaat op welke IRQ hangt. Omdat ik begrepen dat interrupt storms vooral voorkomen wanneer twee devices om de een of andere gekke manier op hetzelfde lijntje terecht komen en dus over dezelfde lijn de CPU zitten te porren... Daardoor denkt die dat er van één bepaald apparaat teveel IRQ's komen, dus wordt dat apparaat even geparkeerd (althans zo heb ik het begrepen).
Uit mijn vmstat -i komt volgend:

Ik begrijp daaruit dat op irq18 maar één apparaat zit: mps0 (ik ben er nog niet uit wat die apparaat naam is, maar ik gok op mijn M1015 controller), maar van waar komen die IRQ storms dan en vooral: hoe los ik dit op?