Как определить, виртуализирована машина или нет

У меня есть машины с 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 есть другой уровень виртуализации и разные команды, чтобы узнать, виртуализирована ли ваша система.

  1. Целостность Виртуальная машина Гость

    Если вы выполните следующую команду в гостевой системе IVM, вы получите:

     # hpvminfo 
     hpvminfo: Running inside an HPVM guest.
    

    Если вы выполните следующую команду в NO "IVM Guest", вы получите:

     # hpvminfo 
     hpvminfo: Running inside an HPVM host.
    

    или # hpvminfo sh: hpvminfo: не найдено.

  2. Виртуальный раздел 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".

Другие вопросы по тегам