Как определить систему виртуализации на хосте
systemd
Команда для проверки (baremetal, scaleway, azure, rootwelt)
# systemd-detect-virt none kvm microsoft xen
virt-what
Есть отдельная утилита virt-what
# yum install vert-what # apt-get install virt-what
Проверка (baremetal, scaleway, azure, rootwelt)
# systemd-detect-virt пустой вывод kvm hyperv xen/xen-domU
dmesg
Copy/paste, источник: https://www.dmo.ca/blog/detecting-virtualization-on-linux/
Актуальность под большим сомнением
- VMWare
# dmesg | grep -i virtual VMware vmxnet virtual NIC driver Vendor: VMware Model: Virtual disk Rev: 1.0 hda: VMware Virtual IDE CDROM Drive, ATAPI CD/DVD-ROM drive
- QEmu or KVM
If the "-cpu host" option has not been used, QEmu and KVM will identify themselves as:
# dmesg | grep -i virtual CPU: AMD QEMU Virtual CPU version 0.9.1 stepping 03
otherwise, the host's CPU information will be used both in dmesg, or in /proc/cpuinfo.
However, you should see something like:
$ dmesg | grep -i virtual [ 0.000000] Booting paravirtualized kernel on KVM
on newer kernels that understand that they're running under paravirtualization.
- Microsoft VirtualPC
# dmesg | grep -i virtual hda: Virtual HD, ATA DISK drive hdc: Virtual CD, ATAPI CD/DVD-ROM drive
- Xen
# dmesg | grep -i xen Xen virtual console successfully installed as tty1
- Virtuozzo
# dmesg (returns no output) # cat /var/log/dmesg (returns no output) # ls -al /proc/vz veinfo veinfo_redir veredir vestat vzaquota vzdata
On longer-running systems, you may need to grep /var/log/dmesg instead.
If that doesn't produce anything useful, try using dmidecode to look at the BIOS information. Frequently, there will be at least one component identifying itself as virtualized:
- VMWare
# dmidecode | egrep -i 'manufacturer|product' Manufacturer: VMware, Inc. Product Name: VMware Virtual Platform
- Microsoft VirtualPC
# dmidecode | egrep -i 'manufacturer|product' Manufacturer: Microsoft Corporation Product Name: Virtual Machine
- QEMU or KVM
# dmidecode | egrep -i 'vendor' Vendor: QEMU
- Virtuozzo
# dmidecode /dev/mem: Permission denied
- Xen
# dmidecode | grep -i domU Product Name: HVM domU
You should just examine the output of dmidecode directly rather than trying to grep as above, in case the output changes. QEMU, for example, doesn't report the vendor in all versions.
Next, check disk devices for identification as virtualized:
- VMWare
# cat /proc/ide/hd*/model VMware Virtual IDE CDROM Drive # cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: VMware Model: Virtual disk Rev: 1.0 Type: Direct-Access ANSI SCSI revision: 02
- Microsoft VirtualPC
# cat /proc/ide/hd*/model Virtual HD Virtual CD
- QEMU, KVM, or Xen
# cat /proc/ide/hd*/model QEMU HARDDISK QEMU DVD-ROM
- Virtuozzo
# ls -al /dev/vzfs b-----x--- 1 root root 0, 19 2009-04-06 15:04 /dev/vzfs
Обсуждение