GNU/Linux >> Znalost Linux >  >> Linux

Určete, který host běží na XEN:HVM nebo PV host

Rychlá poznámka, ve skutečnosti existují 3 režimy, ne dva, pokud jde o používané ovladače:

  • HVM:neupravené jádro a ovladače využívající softwarově emulovaná zařízení
  • PV-HVM:neupravené jádro s paravirtualizovanými (specifickými pro Xen) diskovými a síťovými ovladači
  • PV:upravené jádro a ovladače

Pro Xen guest/DomU můžete udělat velmi základní uname a lsmod s grep pro seznam používaných modulů:

uname -a
lsmod | grep xen

Pokud uname -a vypíše jádro s řetězcem "xen", pak máte upravené jádro a je to pravděpodobně PV host a uvidíte výstup z lsmod příkaz k potvrzení. Pokud máte výstup z grep na lsmod ale žádné známky upraveného jádra, pak jste PV-HVM. Bez jakékoli známky obou, je to přímý HVM.

Poznámka:Obecně můžete udělat více s virtuálními počítači, které mají nainstalované nástroje PV, takže to může být docela zřejmý ukazatel, ale můžete předstírat přítomnost nástrojů PV, abyste umožnili pozastavení/obnovení atd., takže se na to obecně nemůžete spolehnout. .


Existuje lepší alternativa k analýze uname -a výstup z domény hosta. Měli byste raději zkontrolovat profil virtuálního počítače v samotném hypervizoru.

XL

S aktuálním Sada nástrojů XenLight pro samostatné instalace Xen, toho lze dosáhnout spuštěním xl list --long příkaz:

# xl list
Name                   ID   Mem VCPUs      State   Time(s)
My-Virtual-Machine     42  1024     1     -b----    9001.0

# xl list -l 42
    or
# xl list --long My-Virtual-Machine

[
    {
        "domid": 6,
        "config": {
            "c_info": {
                "name": "My-Virtual-Machine",
                "uuid": "12345678-abcd-1234-abcd-12345678abcd",
                "type": "pv",
                ...
            },
            ...
        }
    }
]

Všimněte si type položka v c_info sekce — pokud se rovná "pv" , to znamená paravirtuální.

XM

Se starším samostatná instalace Xen pomocí tradičního xm management toolstack, věci byly podobné:

# xm list --long My-Virtual-Machine
(domain
    (domid 42)
    (name My-Virtual-Machine)
    (image
        (linux
            (kernel ...)
            ...
        )
    )
    ...
)

Všimněte si (linux) prvek v (image) sekce — odpovídá builder konfigurační direktiva, kde „linux“ znamená „paravirtuální“ (spíše než skutečné jádro), zatímco „hvm“ znamená „plná virtualizace“.

XE

S XenServerem nebo XCP zařízením můžete použít xe vm-list params=all příkaz nebo něco podobného.

virsh

Může existovat (nebo existoval) nějaký způsob, jak získat tyto informace z libvirt toolstack, ale mně neznámý.

Všimněte si, že počínaje Xen 4.5 má paravirtuální režim na x86-64 dvě varianty:

  • klasická paravirtualizace (PV), který spoléhá na hostující systémy, které mají být přepsány z použití kruhu 0 směrem k kruhu 1; protože AMD zahodilo ring 1 a ring 2 v x86-64, Xen se musel vrátit k softwarové správě, která je ještě pomalejší než HVM;
  • hardwarově podporovaná paravirtualizace (PVH), — nezaměňovat s plně virtualizovanými s paravirtuálními ovladači (PV-on-HVM), — který se spoléhá na hardwarovou asistenci při zpracování privilegovaných instrukcí a tabulek stránek paměti, ale pro vše ostatní používá tradiční PV techniky, takže není emulován žádný hardware a je dosaženo téměř nativního výkonu, jak tomu bylo v dobrém stavu staré x86–32krát.

Chcete-li zkontrolovat, zda hostitel běží s povoleným PVH, můžete použít xl info (ačkoli tato metoda není o nic lepší než kontrola grub.cfg ):

# xl info | grep xen_commandline
xen_commandline        : pvh=1 loglvl=all guest_loglvl=all console=com1,vga
                         ^^^^^

Chcete-li zkontrolovat, zda konkrétní host běží v režimu PVH (pvh=1 v konfiguračním souboru), znovu vyhledejte xl list -l :

            "c_info":{
                "name": "My-Virtual-Machine",
                "type": "pv",
                "pvh": "True",
                ...
            },

Z pohledu administrativy by se však PVH neměla lišit od PV.


Linux
  1. Jak zjistit, který proces vytváří soubor?

  2. Získat čas uživatele a jádra běžícího procesu?

  3. Linux – Jak zjistit, který modul poškozuje jádro?

  1. Linux – Jak zjistit, která Linuxová distribuce běží?

  2. Spustit skript pokaždé, když je nainstalováno nové jádro?

  3. Jak zjistit, který proces zapisuje na disk v Linuxu

  1. Jak zjistím, ve kterém jádru CPU běží vlákno?

  2. Jak zjistím, která distribuce Linuxu běží?

  3. Vzhledem k výjimce ATA jádra, jak určit, který fyzický disk je ovlivněn?