abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 16:55 | Komunita

    Ve Würzburgu dnes začala konference vývojářů a uživatelů desktopového prostředí KDE Akademy 2024. Sledovat lze také online (YouTube, Mastodon, 𝕏, …)

    Ladislav Hagara | Komentářů: 0
    dnes 16:44 | Nová verze

    Byla vydána nová major verze 14 svobodného systému pro řízení přístupu k síti (NAC) PacketFence (Wikipedie). Přehled novinek v oznámení o vydání. Pro uživatele předchozích verzí jsou k dispozici poznámky k aktualizaci.

    Ladislav Hagara | Komentářů: 0
    dnes 02:33 | Zajímavý článek

    Jak nahrávat zvuk z webového prohlížeče na Linuxu s PipeWire pomocí Nahrávání zvuku (Sound Recorder) a Helvum případně qpwgraph, článek na webu Libre Arts.

    Ladislav Hagara | Komentářů: 0
    včera 22:11 | Komunita

    Vývoj webového serveru a reverzní proxy nginx byl přesunut z Mercurial na GitHub.

    Ladislav Hagara | Komentářů: 1
    včera 17:44 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.9.

    Ladislav Hagara | Komentářů: 2
    včera 17:22 | Bezpečnostní upozornění

    České bezpečnostní instituce, jmenovitě Vojenské zpravodajství (VZ) a Bezpečnostní informační služba (BIS), ve spolupráci s americkou Agenturou pro kybernetickou a infrastrukturní bezpečnost (CISA), Federálním úřadem pro vyšetřování (FBI), Národní bezpečností agenturou (NSA) a dalšími mezinárodními partnery ze Spojeného království, Austrálie, Kanady, Německa, Nizozemska, Estonska, Ukrajiny a Lotyšska vydaly upozornění (

    … více »
    Ladislav Hagara | Komentářů: 15
    včera 03:00 | Nová verze

    Byla vydána (𝕏) srpnová aktualizace aneb nová verze 1.93 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.93 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 02:00 | IT novinky

    Společnost Laravel stojící za stejnojmenným open source PHP frameworkem získala investici 57 milionů dolarů od společnosti Accel. Především na Laravel Cloud.

    Ladislav Hagara | Komentářů: 2
    včera 01:00 | Nová verze

    Byla vydána verze 1.81.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Řešena je také zranitelnost CVE-2024-43402. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    5.9. 17:11 | Nová verze

    Vládní CERT vydal (𝕏) novou verzi nástroje maldump. Ten slouží k extrakci souborů z karantén různých antivirových programů. A to jak z živého systému, tak z obrazu disku.

    Ladislav Hagara | Komentářů: 8
    Rozcestník

    Dotaz: Zkušenosti s VFIO Virtual Function I/O (qemu/kvm)

    7.6.2014 02:34 Lazar
    Zkušenosti s VFIO Virtual Function I/O (qemu/kvm)
    Přečteno: 486×

    VFIO .. Způsob zpřístupnění fyzického HW v GuestOSu (QEMU/KVM) s využitím IOMMU/VT-d.

    https://www.kernel.org/doc/Documentation/vfio.txt

    https://bbs.archlinux.org/viewtopic.php?id=162768

    Vycházeje z tohoto návodu, podařilo se mi GuestOSu (sorry za Windows) zpřístupnit jak 2.GK(PCIe ATI), tak například SCSI řadič (PCI Adaptec). Použita distribuce Kubuntu 14.04x64 s vanilla jádrem 3.14.4.

    http://www.monitos.cz/tmp/x3430_vfio_pci_scsi.png

    PCI strom (lspci -k) vypadá takto:
    -+-[0000:ff]-+-00.0
     |           +-00.1
     |           +-02.0
     |           +-02.1
     |           +-03.0
     |           +-03.1
     |           +-03.2
     |           +-03.4
     |           +-04.0
     |           +-04.1
     |           +-04.2
     |           +-04.3
     |           +-05.0
     |           +-05.1
     |           +-05.2
     |           \-05.3
     \-[0000:00]-+-00.0
                 +-03.0-[01-05]----00.0-[02-05]--+-00.0-[03]----00.0
                 |                               +-02.0-[04]--+-00.0
                 |                               |            \-00.1
                 |                               \-03.0-[05]----00.0
                 +-08.0
                 +-08.1
                 +-08.2
                 +-08.3
                 +-10.0
                 +-10.1
                 +-1a.0
                 +-1b.0
                 +-1c.0-[06]----00.0
                 +-1c.1-[07]----00.0
                 +-1c.2-[08]----00.0
                 +-1c.3-[09]--+-00.0
                 |            \-00.1
                 +-1c.6-[0a]--+-00.0
                 |            \-00.1
                 +-1d.0
                 +-1e.0-[0b]--
                 +-1f.0
                 +-1f.2
                 \-1f.3
    

    Kombinované SATA/IDE řadiče JMicron jsou připojeny na 09:00.0,09:00.1 (druhý 0a:00.0,0a:00.1). Při snaze o zpřístupnění v GuestOSu jednoho z integrovaných SATA/IDE řadičů JMicron JB36x na MB, základní deska MSI Big Bang Trinergy MSI-7580 (MB:P55/NF200-based + CPU:X3430 jich obsahuje několik, se mi objevilo hlášení.

    group 6 is not viable, please ensure all devices within the iommu_group

    Problém asi spočívá v omezené granulaci IOMMU, takže bylo nutné přiřadit všechny členy iommu groupy 1c.0 až 1c.6 (pravděpodobně jde o sdílení společných zdrojů .. IRQ?). Po tomto opatření již většina zařízení byla v GuestOSu dostupná. Vzhledem k tomu, že celkem šlo o 2xNIC,1xFireWire,1xSATA/IDE JMB36x (druhy radic ovladač neinicializoval), nezbylo slovy klasika: "Již nikoho kdo by se na živý obraz díval.". HostOSu jsem musel přidat USB WLAN, aby měl aspoň nějakou síťovou konektivitu. ;-)

    http://www.monitos.cz/tmp/x3430_vfio_group.png

    Neberte založené téma prosím jako problém/dotaz, ale spíše jako snahu o oživení debaty k této zajímavé problematice.

    Odpovědi

    7.6.2014 17:49 Lazar
    Rozbalit Rozbalit vše Re: Zkušenosti s VFIO Virtual Function I/O (qemu/kvm)
    Doplnění:

    Na denním světle vypadá osazení trochu jinak. Externí řadiče jsou celkem ctyři dle geografie MB by se nabízelo JBM363(obsluha IDE?), 2x JMB322(2x 2 SATA RAID porty?) a JBM362(2x eSATA?).
    09:00.0 SATA controller [0106]: JMicron Technology Corp. JMB363 SATA/IDE Controller [197b:2363] (rev 03)
    09:00.1 IDE interface [0101]: JMicron Technology Corp. JMB363 SATA/IDE Controller [197b:2363] (rev 03)
    0a:00.0 SATA controller [0106]: JMicron Technology Corp. JMB363 SATA/IDE Controller [197b:2363] (rev 03)
    0a:00.1 IDE interface [0101]: JMicron Technology Corp. JMB363 SATA/IDE Controller [197b:2363] (rev 03)
    
    Lspci vzhledem k shodným vendor:device hodnotám v identifikaci moc nepomůže.

    Nakonec se podařilo v GuestOSu fyzicky zpřístupnit: samostatný HDD na eSATA, samostatný HDD na jednom z RAID řadičů, RAID1 na druhém RAID řadiči, DVD IDE byla si v GuestOS viditelná, ale nefungovala (ovladač IDE řadiče chybu nehlásil).

    http://www.monitos.cz/tmp/x3430_vfio_group_attach_hdds.png

    Z v úvodu zmíněného návodu zbývá k dořešení rest s propagací/využitím BIOSu VGA pro přidelenou GK, tj. zpřístupnění obrazu již po zapnutí virtuálního stroje.
    15.6.2014 19:11 Lazar
    Rozbalit Rozbalit vše Re: Zkušenosti s VFIO Virtual Function I/O (qemu/kvm)
    Hodnota 10ec:8168 v parametru pci-stub.ids v GRUBu zabere nejen na integrované Realtek Gigabit NICy, ale i na ten umístěný do PCIe 1x.

    K zajištění jeho funkcionality v HostOSu stačilo (snad správně?) do rc.local přidat unbind pci-stub a modprobe r8169.
    echo -n "10ec 8168" > /sys/bus/pci/drivers/pci-stub/new_id
    echo -n 0000:0a:00.0 > /sys/bus/pci/drivers/pci-stub/unbind
    modprobe r8169
    
    
    ....
    
    root@kubuntu:~# lspci -k |grep 8111 -A 2
    06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 03)
            Subsystem: Micro-Star International Co., Ltd. [MSI] Device 7580
            Kernel driver in use: pci-stub
    07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 03)
            Subsystem: Micro-Star International Co., Ltd. [MSI] Device 7580
            Kernel driver in use: pci-stub
    --
    0a:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
            Subsystem: Realtek Semiconductor Co., Ltd. Device 0123
            Kernel driver in use: r8169
    
    16.6.2014 22:53 Lazar
    Rozbalit Rozbalit vše Re: Zkušenosti s VFIO Virtual Function I/O (qemu/kvm)
    Ukazalo se, ze dotycny PCIe 1x slot patri do iommu group 6 (rada zarizeni sdilena GuestOSu), takze pro HostOS je "ztracen". Pro HostOS vyclenena PCI RT8139, ktera je samostatne (s PCI bridgem?) v iommu group 8.

    Nevite nekdo o nejake Live distribuci se zapnutou podporou IOMMU/VT-d v kernelu, po prvotni overeni dostupnosti (vypis dmesg s klicovymi slovy) teto technologie na dane kombinaci MB/CPU?

    root@kubuntu:~# ls -la /sys/kernel/iommu_groups/*/devices/
    /sys/kernel/iommu_groups/0/devices/:
    total 0
    drwxr-xr-x 2 root root 0 čen 16 22:12 .
    drwxr-xr-x 3 root root 0 čen 16 22:12 ..
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:00:00.0 -> ../../../../devices/pci0000:00/0000:00:00.0
    
    /sys/kernel/iommu_groups/10/devices/:
    total 0
    drwxr-xr-x 2 root root 0 čen 16 22:12 .
    drwxr-xr-x 3 root root 0 čen 16 22:12 ..
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:01:00.0 -> ../../../../devices/pci0000:00/0000:00:03.0/0000:01:00.0
    
    /sys/kernel/iommu_groups/11/devices/:
    total 0
    drwxr-xr-x 2 root root 0 čen 16 22:12 .
    drwxr-xr-x 3 root root 0 čen 16 22:12 ..
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:02:00.0 -> ../../../../devices/pci0000:00/0000:00:03.0/0000:01:00.0/0000:02:00.0
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:03:00.0 -> ../../../../devices/pci0000:00/0000:00:03.0/0000:01:00.0/0000:02:00.0/0000:03:00.0
    
    /sys/kernel/iommu_groups/12/devices/:
    total 0
    drwxr-xr-x 2 root root 0 čen 16 22:12 .
    drwxr-xr-x 3 root root 0 čen 16 22:12 ..
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:02:02.0 -> ../../../../devices/pci0000:00/0000:00:03.0/0000:01:00.0/0000:02:02.0
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:04:00.0 -> ../../../../devices/pci0000:00/0000:00:03.0/0000:01:00.0/0000:02:02.0/0000:04:00.0
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:04:00.1 -> ../../../../devices/pci0000:00/0000:00:03.0/0000:01:00.0/0000:02:02.0/0000:04:00.1
    
    /sys/kernel/iommu_groups/13/devices/:
    total 0
    drwxr-xr-x 2 root root 0 čen 16 22:12 .
    drwxr-xr-x 3 root root 0 čen 16 22:12 ..
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:02:03.0 -> ../../../../devices/pci0000:00/0000:00:03.0/0000:01:00.0/0000:02:03.0
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:05:00.0 -> ../../../../devices/pci0000:00/0000:00:03.0/0000:01:00.0/0000:02:03.0/0000:05:00.0
    
    /sys/kernel/iommu_groups/14/devices/:
    total 0
    drwxr-xr-x 2 root root 0 čen 16 22:12 .
    drwxr-xr-x 3 root root 0 čen 16 22:12 ..
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:ff:00.0 -> ../../../../devices/pci0000:ff/0000:ff:00.0
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:ff:00.1 -> ../../../../devices/pci0000:ff/0000:ff:00.1
    
    /sys/kernel/iommu_groups/15/devices/:
    total 0
    drwxr-xr-x 2 root root 0 čen 16 22:12 .
    drwxr-xr-x 3 root root 0 čen 16 22:12 ..
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:ff:02.0 -> ../../../../devices/pci0000:ff/0000:ff:02.0
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:ff:02.1 -> ../../../../devices/pci0000:ff/0000:ff:02.1
    
    /sys/kernel/iommu_groups/16/devices/:
    total 0
    drwxr-xr-x 2 root root 0 čen 16 22:12 .
    drwxr-xr-x 3 root root 0 čen 16 22:12 ..
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:ff:03.0 -> ../../../../devices/pci0000:ff/0000:ff:03.0
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:ff:03.1 -> ../../../../devices/pci0000:ff/0000:ff:03.1
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:ff:03.2 -> ../../../../devices/pci0000:ff/0000:ff:03.2
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:ff:03.4 -> ../../../../devices/pci0000:ff/0000:ff:03.4
    
    /sys/kernel/iommu_groups/17/devices/:
    total 0
    drwxr-xr-x 2 root root 0 čen 16 22:12 .
    drwxr-xr-x 3 root root 0 čen 16 22:12 ..
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:ff:04.0 -> ../../../../devices/pci0000:ff/0000:ff:04.0
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:ff:04.1 -> ../../../../devices/pci0000:ff/0000:ff:04.1
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:ff:04.2 -> ../../../../devices/pci0000:ff/0000:ff:04.2
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:ff:04.3 -> ../../../../devices/pci0000:ff/0000:ff:04.3
    
    /sys/kernel/iommu_groups/18/devices/:
    total 0
    drwxr-xr-x 2 root root 0 čen 16 22:12 .
    drwxr-xr-x 3 root root 0 čen 16 22:12 ..
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:ff:05.0 -> ../../../../devices/pci0000:ff/0000:ff:05.0
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:ff:05.1 -> ../../../../devices/pci0000:ff/0000:ff:05.1
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:ff:05.2 -> ../../../../devices/pci0000:ff/0000:ff:05.2
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:ff:05.3 -> ../../../../devices/pci0000:ff/0000:ff:05.3
    
    /sys/kernel/iommu_groups/1/devices/:
    total 0
    drwxr-xr-x 2 root root 0 čen 16 22:12 .
    drwxr-xr-x 3 root root 0 čen 16 22:12 ..
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:00:03.0 -> ../../../../devices/pci0000:00/0000:00:03.0
    
    /sys/kernel/iommu_groups/2/devices/:
    total 0
    drwxr-xr-x 2 root root 0 čen 16 22:12 .
    drwxr-xr-x 3 root root 0 čen 16 22:12 ..
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:00:08.0 -> ../../../../devices/pci0000:00/0000:00:08.0
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:00:08.1 -> ../../../../devices/pci0000:00/0000:00:08.1
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:00:08.2 -> ../../../../devices/pci0000:00/0000:00:08.2
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:00:08.3 -> ../../../../devices/pci0000:00/0000:00:08.3
    
    /sys/kernel/iommu_groups/3/devices/:
    total 0
    drwxr-xr-x 2 root root 0 čen 16 22:12 .
    drwxr-xr-x 3 root root 0 čen 16 22:12 ..
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:00:10.0 -> ../../../../devices/pci0000:00/0000:00:10.0
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:00:10.1 -> ../../../../devices/pci0000:00/0000:00:10.1
    
    /sys/kernel/iommu_groups/4/devices/:
    total 0
    drwxr-xr-x 2 root root 0 čen 16 22:12 .
    drwxr-xr-x 3 root root 0 čen 16 22:12 ..
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:00:1a.0 -> ../../../../devices/pci0000:00/0000:00:1a.0
    
    /sys/kernel/iommu_groups/5/devices/:
    total 0
    drwxr-xr-x 2 root root 0 čen 16 22:12 .
    drwxr-xr-x 3 root root 0 čen 16 22:12 ..
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:00:1b.0 -> ../../../../devices/pci0000:00/0000:00:1b.0
    
    /sys/kernel/iommu_groups/6/devices/:
    total 0
    drwxr-xr-x 2 root root 0 čen 16 22:12 .
    drwxr-xr-x 3 root root 0 čen 16 22:12 ..
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:00:1c.0 -> ../../../../devices/pci0000:00/0000:00:1c.0
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:00:1c.1 -> ../../../../devices/pci0000:00/0000:00:1c.1
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:00:1c.2 -> ../../../../devices/pci0000:00/0000:00:1c.2
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:00:1c.3 -> ../../../../devices/pci0000:00/0000:00:1c.3
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:00:1c.5 -> ../../../../devices/pci0000:00/0000:00:1c.5
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:00:1c.6 -> ../../../../devices/pci0000:00/0000:00:1c.6
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:06:00.0 -> ../../../../devices/pci0000:00/0000:00:1c.0/0000:06:00.0
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:07:00.0 -> ../../../../devices/pci0000:00/0000:00:1c.1/0000:07:00.0
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:08:00.0 -> ../../../../devices/pci0000:00/0000:00:1c.2/0000:08:00.0
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:09:00.0 -> ../../../../devices/pci0000:00/0000:00:1c.3/0000:09:00.0
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:09:00.1 -> ../../../../devices/pci0000:00/0000:00:1c.3/0000:09:00.1
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:0a:00.0 -> ../../../../devices/pci0000:00/0000:00:1c.5/0000:0a:00.0
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:0b:00.0 -> ../../../../devices/pci0000:00/0000:00:1c.6/0000:0b:00.0
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:0b:00.1 -> ../../../../devices/pci0000:00/0000:00:1c.6/0000:0b:00.1
    
    /sys/kernel/iommu_groups/7/devices/:
    total 0
    drwxr-xr-x 2 root root 0 čen 16 22:12 .
    drwxr-xr-x 3 root root 0 čen 16 22:12 ..
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:00:1d.0 -> ../../../../devices/pci0000:00/0000:00:1d.0
    
    /sys/kernel/iommu_groups/8/devices/:
    total 0
    drwxr-xr-x 2 root root 0 čen 16 22:12 .
    drwxr-xr-x 3 root root 0 čen 16 22:12 ..
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:00:1e.0 -> ../../../../devices/pci0000:00/0000:00:1e.0
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:0c:01.0 -> ../../../../devices/pci0000:00/0000:00:1e.0/0000:0c:01.0
    
    /sys/kernel/iommu_groups/9/devices/:
    total 0
    drwxr-xr-x 2 root root 0 čen 16 22:12 .
    drwxr-xr-x 3 root root 0 čen 16 22:12 ..
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:00:1f.0 -> ../../../../devices/pci0000:00/0000:00:1f.0
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:00:1f.2 -> ../../../../devices/pci0000:00/0000:00:1f.2
    lrwxrwxrwx 1 root root 0 čen 16 22:12 0000:00:1f.3 -> ../../../../devices/pci0000:00/0000:00:1f.3
    

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.