Como detectar se uma máquina é virtualizada ou não

3

Eu tenho Linux, AIX, SunOs & Máquinas HP-UX, eu quero detectar se a máquina é virtual ou não. Até agora encontrei este artigo que me ajudou a obter essa informação no Linux:

dmesg | grep -i virtual    //On Linux Machines

Mas também preciso de comandos para AIX , HP-UX & SunOs . Alguma ajuda?

    
por Abhishek Simon 21.11.2011 / 07:36

5 respostas

3

Tente link . Corrija-me se estiver enganado, mas acho que a Red Hat usa isso em seu Satellite para detectar e agrupar sistemas virtualizados.

    
por 21.11.2011 / 08:45
2

A definição de 'virtual' é muito solta. Se assumirmos que para o AIX você quer dizer qualquer imagem do AIX que seja uma LPAR (ou uma micro-partição ou qualquer outra terminologia que a IBM escolha), então você pode usar uname -L , por exemplo,

nonlpar# umame -L
-1 NULL

lparhost# uname -L
5 lparhost

Se você quer dizer WPAR, você pode usar uname -W e um resultado de 0 significa que você não está em um WPAR, um resultado de algo maior que 0 é um WPAR.

Se você quer dizer, a instância do AIX depende de um servidor VIO, então não há nenhum mecanismo confiável sólido para saber que, além de olhar para os dispositivos e trabalhar se eles forem apresentados por meio de servidores VIO.

Vale lembrar que, para o hardware pSeries executando o AIX, quase tudo hoje em dia é um LPAR e, portanto, essencialmente virtual, mesmo que seja a única instância do SO que usa o hardware.

    
por 21.11.2011 / 13:41
1

No HP-UX, existem diferentes níveis de virtualização e diferentes comandos para saber se o seu sistema é virtualizado.

  1. Integrity Virtual Machine Guest

    Se você executar o seguinte comando em um IVM Guest, você obtém:

     # hpvminfo 
     hpvminfo: Running inside an HPVM guest.
    

    Se você executar o seguinte comando em um NO "IVM Guest", obterá:

     # hpvminfo 
     hpvminfo: Running inside an HPVM host.
    

    ou      # hpvminfo      sh: hpvminfo: não encontrado.

  2. Partição Virtual HP

    Se você executar o seguinte comando em um vpar, você obtém:

     # hpvminfo 
     hpvminfo: Running inside an HPVM guest.
     # vparstatus -w
     The current virtual partition is <VPAR NAME>.
    

    Se você executar o seguinte comando em um NO vpar, você obtém:

     # vparstatus 
     sh: vparstatus:  not found.
    
por 25.01.2012 / 17:25
0

É possível que máquinas virtuais produzam informações de CPU "suspeitas"?

No Aix, tente usar o lscfg em uma máquina virtual conhecida e você poderá descobrir que as informações da CPU indicam que o computador é virtual. Isso dependerá em grande parte do virtualizador, mas vale a pena.

    
por 21.11.2011 / 08:41
-1

Para uma máquina virtual x86, simplesmente execute um programa que chame os mecanismos oficiais para detectar máquinas virtuais x86 . Eu daria exemplos, mas não sei nada do topo da minha cabeça. Eu uso minhas próprias ferramentas. Thomas Liske imvirt mostra a promessa de acordo com o seu doco , mas eu não usei ou vi o código-fonte.

Se isso também se aplica às suas máquinas SunOS, depende se é x86 Solaris ou verdadeiramente SunOS. ☺ Detectar a existência de uma máquina virtual envolve coisas específicas da arquitetura do conjunto de instruções do processador, e não do sistema operacional. Então, eu tenho máquinas AIX e HP / UX. é menos útil do que, digamos, "Eu tenho máquinas PowerPC e Itanium.".

    
por 21.11.2011 / 10:01