Sto lavorando con un host Xen che è installato XenServer da Citrix da qualcuno. Ha già installato molti host CentOS 5.2 sull'host. Mi chiedo come controllare quegli ospiti per sapere che sono tipi PV o HVM?
Sto lavorando con un host Xen che è installato XenServer da Citrix da qualcuno. Ha già installato molti host CentOS 5.2 sull'host. Mi chiedo come controllare quegli ospiti per sapere che sono tipi PV o HVM?
Risposte:
Una breve nota, in realtà ci sono 3 modalità, non due quando si tratta dei driver in uso:
Per un guest Xen / DomU puoi fare un semplice uname
e lsmod
con un grep per elencare i moduli in uso:
uname -a
lsmod | grep xen
Se uname -a
elenca un kernel con la stringa "xen", allora hai un kernel modificato ed è probabilmente un guest PV, e vedrai l'output del lsmod
comando per confermarlo. Se hai l'output dal grep attivo lsmod
ma nessun segno di un kernel modificato, allora sei PV-HVM. Senza alcun segno di nessuno dei due, è un HVM dritto.
Nota: in genere è possibile fare di più con le macchine virtuali in cui sono installati gli strumenti fotovoltaici, quindi può essere un puntatore abbastanza ovvio, tuttavia è possibile falsificare la presenza degli strumenti fotovoltaici per consentire la sospensione / ripresa ecc., Quindi non si può fare affidamento su quello in generale .
Esiste un'alternativa migliore all'analisi uname -a
dell'output all'interno del dominio guest. Dovresti piuttosto controllare il profilo VM nell'hypervisor stesso.
Con l'attuale toolstack XenLight per installazioni Xen autonome, questo potrebbe essere ottenuto eseguendo il xl list --long
comando:
# 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",
...
},
...
}
}
]
Nota l' type
elemento nella c_info
sezione: se è uguale "pv"
, ciò significa paravirtuale.
Con un'installazione Xen autonoma precedente che utilizzava il tradizionale xm
toolstack di gestione, le cose erano simili:
# xm list --long My-Virtual-Machine
(domain
(domid 42)
(name My-Virtual-Machine)
(image
(linux
(kernel ...)
...
)
)
...
)
Nota l' (linux)
elemento nella (image)
sezione - corrisponde alla builder
direttiva di configurazione, dove "linux" significa "paravirtual" (piuttosto che il kernel attuale), mentre "hvm" sta per "virtualizzazione completa".
Con XenServer o l' appliance XCP è possibile utilizzare il xe vm-list params=all
comando o qualcosa di simile.
Potrebbe esserci (o essere stato) un modo per ottenere queste informazioni dal toolstack di libvirt , ma per me sconosciuto.
Nota che, a partire da Xen 4.5, la modalità paravirtuale su x86-64 ha due gusti:
Per verificare se l'host funziona con PVH abilitato, è possibile utilizzare xl info
(sebbene questo metodo non sia migliore dell'ispezione di grub.cfg ):
# xl info | grep xen_commandline
xen_commandline : pvh=1 loglvl=all guest_loglvl=all console=com1,vga
^^^^^
Per verificare se un determinato guest è in esecuzione in modalità PVH ( pvh=1
nel file di configurazione), consultare nuovamente xl list -l
:
"c_info":{
"name": "My-Virtual-Machine",
"type": "pv",
"pvh": "True",
...
},
Tuttavia, dal punto di vista amministrativo, il PVH non dovrebbe essere diverso dal PV.
xm
comando ma xl
che ha un output diverso. Qualche idea su come ottenere le informazioni su 4.4.1 XEN. Grazie.
xl
, e tuttavia non ho alcun riferimento a xen nel nome del kernel o nei moduli del kernel.