Mám přístup z příkazového řádku k počítači se systémem Linux, který může nebo nemusí být virtualizovaný. Chci zjistit, na jakém typu virtualizační technologie běží, pokud existuje (VMWare, VirtualBox, KVM, OpenVZ, Xen, ). Toto není nepřátelské prostředí:nesnažím se pracovat proti virtuálnímu počítači, který se snaží maskovat, diagnostikuji nefunkční server, o kterém toho vím jen málo.
Přesněji řečeno, pomáhám někomu diagnostikovat problém, nesedím u kormidla. Takže musím předat pokyny jako „zkopíruj-vlož tento příkaz“ a ne „pohrabu se v /proc
někde". V ideálním případě by to bylo něco jako lshw
:snadno instalovatelný (pokud není předinstalovaný) příkaz, který prozkoumá a vytiskne relevantní informace.
Jaký je nejjednodušší způsob, jak určit, jaké virtualizační technologie může být tento systém hostem? Ocenil bych, kdyby návrhy zmiňovaly, které technologie (včetně holého hardwaru) lze přesvědčivě detekovat a které lze definitivně eliminovat. Nejvíce mě zajímá Linux, ale pokud funguje i pro jiné unice, je to fajn.
Přijatá odpověď:
dmidecode -s system-product-name
Testoval jsem na Vmware Workstation, VirtualBox, QEMU s KVM, samostatný QEMU s Ubuntu jako hostujícím OS. Jiní přidali další platformy, které také znají.
Virtualizační technologie
-
Pracovní stanice VMware
[email protected]:~# dmidecode -s system-product-name VMware Virtual Platform
-
VirtualBox
[email protected]:~# dmidecode -s system-product-name VirtualBox
-
Qemu s KVM
[email protected]:~# dmidecode -s system-product-name KVM
-
Qemu (emulované)
[email protected]:~# dmidecode -s system-product-name Bochs
-
Microsoft VirtualPC
[email protected]:~# dmidecode | egrep -i 'manufacturer|product' Manufacturer: Microsoft Corporation Product Name: Virtual Machine
-
Virtuozzo
[email protected]:~# dmidecode /dev/mem: Permission denied
-
Xen
[email protected]:~# dmidecode | grep -i domU Product Name: HVM domU
Na holém kovu to vrátí identifikaci modelu počítače nebo základní desky.
/dev/disk/by-id
Pokud nemáte práva ke spuštění dmidecode
pak můžete použít:
Virtualizační technologie:QEMU
ls -1 /dev/disk/by-id/
Výstup
[[email protected] ~]# ls -1 /dev/disk/by-id/
ata-QEMU_DVD-ROM_QM00003
ata-QEMU_HARDDISK_QM00001
ata-QEMU_HARDDISK_QM00001-part1
ata-QEMU_HARDDISK_QM00002
ata-QEMU_HARDDISK_QM00002-part1
scsi-SATA_QEMU_HARDDISK_QM00001
scsi-SATA_QEMU_HARDDISK_QM00001-part1
scsi-SATA_QEMU_HARDDISK_QM00002
scsi-SATA_QEMU_HARDDISK_QM00002-part1
Odkazy
- Jak zjistit virtualizaci na dmo.ca