Есть ли способ узнать, нахожусь ли я на сервере Linux XEN или KVM? Причина, по которой я спросил, - нет ничего на вершине, но я хорошо вижу среднюю нагрузку после выполнения задач, и я получаю зависания / пики, когда выполняю простые задачи
4 ответа
Существует код, который может обнаружить это: http://ivanlef0u.fr/repo/windoz/rootkit/invisiblethings/redpill.html
Вы также можете проверить dmesg и lspci.
У гостя Xen PV или гостей Xen с драйверами PV будет что-то связанное с xen в dmesg
Dmesg | egrep -i 'xen | front
systemd-detect-virt
возвращает эту настройку Ubuntu 18.04 KVM:
kvm
и на моем хосте:
none
Смотрите также: https://unix.stackexchange.com/questions/89714/easy-way-to-determine-virtualization-technology
Протестировано на хосте Ubuntu 18.04.
lshw
не всегда доступен на * nix серверах. Да, вы можете установить его, но мне нравится выбирать вещи, которые я получаю бесплатно на коробке. Я обнаружил, что по большей части dmidecode
обычно доступен.
Используйте это вместо:
Интересный факт, что lshw
получает некоторую информацию из записей таблицы DMI и других источников для информации, которую она предоставляет. Но для этого достаточно просто использовать dmidecode
.
dmidecode -t system|grep 'Manufacturer\|Product'
Вывод на сервер Dell:
Manufacturer: Dell Inc.
Product Name: PowerEdge C5220
Вывод на Virtualbox VM:
Manufacturer: innotek GmbH
Product Name: VirtualBox
Выход на KVM/QEMU:
Manufacturer: QEMU
Product Name: Standard PC (i440FX + PIIX, 1996)
Это отлично подходит для сценариев, которые могут анализировать их для лучшей идентификации серверов ... но если вы используете Chef в своей инфраструктуре, вы можете проверить атрибут узла Virtualization -> system
на сервере chef.
Если у вас есть права sudo
вы можете запустить следующую команду, чтобы получить информацию об "оборудовании", на котором работает CentOS:
sudo lshw
Например, первые несколько строк вывода на одном из моих компьютеров:
description: Desktop Computer
product: Virtual Machine
vendor: Microsoft Corporation
Виртуальная машина от Microsoft? Я бегу на Hyper-V.