При работе некоторых систем в виртуальной среде часто можно столкнутся с ограничениями процессора, памяти или ввода-вывода, вызванными работой в ограниченной виртуальной среде. Когда это происходит, очень важно знать работает ли система в виртуальной среде и какой именно.
Использование systemd
В большинстве дистрибутивов входит инструмент systemd-detect-virt
1 | systemd-detect-virt |
- none - система визуализации не используется
- kvm - используется визуализация на базе kvm
- microsoft - используется визуализация HyperV
- xen - используется визуализация xen
Использование утилиты virt-what
virt-what - это сценарий оболочки, который можно использовать для определения того, запущена ли программа на виртуальной машине. Программа выводит список "фактов" о виртуальной машине, полученных с помощью эвристики. На каждую строку выводится один факт. Если ничего не выводится и скрипт завершается с кодом 0 (нет ошибки), то это может означать либо то, что программа запущена на обычном компьютере, либо то, что программа запущена внутри виртуальной машины, о которой утилита ничего не знает или не может обнаружить.
Установка
1 2 | yum install vert-what #centos/rhel apt install virt-what #debian/ubuntu |
Использование
1 | virt-what |
Поддерживаем типы виртуализации:
- hyperv Microsoft Hyper-V
- kvm Linux Kernel Virtual Machine (KVM)
- openvz OpenVZ или Virtuozzo
- powervm_lx86 IBM PowerVM Lx86 Linux/x86 эмулятор
- qemu QEMU (unaccelerated)
- uml User-Mode Linux (UML)
- virtage Hitachi Virtualization Manager (HVM) Virtage LPAR. virtualbox VirtualBox
- virtualpc Microsoft VirtualPC - vmware VMware
- xen Xen - xen-dom0 Xen dom0 (привилегированный домен)
- xen-domU Xen domU (паравиртуализированный гостевой домен)
- xen-hvm Xen guest fully virtualized (HVM)