Как определить, виртуализирована машина или нет
У меня есть машины с Linux, AIX, SunO и HP-UX, я хочу определить, виртуальная машина или нет. До сих пор я нашел эту статью, которая помогла мне получить эту информацию о Linux:
dmesg | grep -i virtual //On Linux Machines
Но мне также нужны команды для AIX, HP-UX и SunO. Любая помощь?
5 ответов
Попробуйте http://people.redhat.com/~rjones/virt-what/. Поправьте меня, если я ошибаюсь, но я думаю, что Red Hat использует это в своих спутниках для обнаружения и группировки виртуальных систем.
Определение "виртуальный" слишком свободно. Если мы предполагаем, что для AIX вы имеете в виду любой образ AIX, который является LPAR (или микроразделом, или любой другой терминологией, которую выберет IBM), тогда вы можете использовать uname -L
, например,
nonlpar# umame -L
-1 NULL
lparhost# uname -L
5 lparhost
Если вы имеете в виду WPAR, вы можете использовать uname -W
результат 0 означает, что вы не в WPAR, а результат выше 0 - WPAR.
Если вы имеете в виду, полагается ли экземпляр AIX на VIO-сервер, то нет надежного надежного механизма, который бы знал об этом, кроме как посмотреть на устройства и выяснить, представлены ли они через VIO-серверы.
Стоит помнить, что для оборудования pSeries, работающего под управлением AIX, почти все в наши дни - это LPAR, и, по сути, виртуальный, даже если это единственный экземпляр ОС, использующий это оборудование.
В HP-UX есть другой уровень виртуализации и разные команды, чтобы узнать, виртуализирована ли ваша система.
Целостность Виртуальная машина Гость
Если вы выполните следующую команду в гостевой системе IVM, вы получите:
# hpvminfo hpvminfo: Running inside an HPVM guest.
Если вы выполните следующую команду в NO "IVM Guest", вы получите:
# hpvminfo hpvminfo: Running inside an HPVM host.
или # hpvminfo sh: hpvminfo: не найдено.
Виртуальный раздел HP
Если вы выполните следующую команду в vpar, вы получите:
# hpvminfo hpvminfo: Running inside an HPVM guest. # vparstatus -w The current virtual partition is <VPAR NAME>.
Если вы выполните следующую команду в NO vpar, вы получите:
# vparstatus sh: vparstatus: not found.
Возможно ли, что виртуальные машины производят "подозрительную" информацию о процессоре?
В Aix попробуйте использовать lscfg на известной виртуальной машине, и вы сможете обнаружить, что информация о процессоре указывает на то, что компьютер является виртуальным. Это в значительной степени зависит от виртуализатора, но его стоит попробовать.
Для виртуальной машины x86 просто запустите программу, которая вызывает официальные механизмы обнаружения виртуальных машин x86. Я бы привел примеры, но я не знаю ничего из головы. Я использую свои собственные инструменты. Томас Лискеimvirt
показывает обещание в соответствии с его документом, но я не использовал его и не видел исходный код.
Относится ли это также к вашим машинам SunOS, зависит от того, является ли это Solaris x86 или действительно SunOS. ☺ Обнаружение существования виртуальной машины включает в себя материал, специфичный для архитектуры набора команд процессора, а не для операционной системы. Итак, "у меня есть машины AIX и HP/UX". менее полезен, чем, скажем, "У меня есть машины PowerPC и Itanium".