如何偵測機器是否虛擬化

如何偵測機器是否虛擬化

我有 Linux、AIX、SunOs 和 HP-UX 機器,我想檢測機器是否是虛擬的。到目前為止我發現本文這幫助我獲得了有關 Linux 的資訊:

dmesg | grep -i virtual    //On Linux Machines

但我還需要命令AIX,惠普-UX&太陽作業系統。有什麼幫助嗎?

答案1

嘗試http://people.redhat.com/~rjones/virt-what/。如果我錯了,請糾正我,但我認為紅帽在他們的衛星中使用它來檢測和分組虛擬化系統。

答案2

「虛擬」的定義過於寬鬆。如果我們假設對於 AIX,您指的是 LPAR(或微分割區,或 IBM 選擇的任何其他術語)的任何 AIX 映像,那麼您可以使用uname -L,例如,

nonlpar# umame -L
-1 NULL

lparhost# uname -L
5 lparhost

如果您指的是 WPAR,則可以使用uname -W,結果 0 表示您不在 WPAR 中,任何高於 0 的結果都是 WPAR。

如果您的意思是,AIX 實例是否依賴 VIO 伺服器,那麼除了查看設備並確定它們是否透過 VIO 伺服器提供之外,沒有任何可靠的機制可以了解這一點。

值得記住的是,對於運行 AIX 的 pSeries 硬件,現在幾乎所有東西都是 LPAR,因此本質上都是虛擬的,即使它是使用該硬體的唯一作業系統實例。

答案3

在 HP-UX 中,有不同層級的虛擬化和不同的命令來了解您的系統是否已虛擬化。

  1. 完整性虛擬機器來賓

    如果您在 IVM Guest 中執行以下命令,您將獲得:

     # hpvminfo 
     hpvminfo: Running inside an HPVM guest.
    

    如果您在 NO“IVM Guest”中執行以下命令,您將獲得:

     # hpvminfo 
     hpvminfo: Running inside an HPVM host.
    

    或 # hpvminfo sh: hpvminfo: 未找到。

  2. 惠普虛擬分割區

    如果在 vpar 中執行以下命令,您將獲得:

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

    如果在 NO vpar 中執行以下命令,您將獲得:

     # vparstatus 
     sh: vparstatus:  not found.
    

答案4

對於 x86 虛擬機,只需執行一個已呼叫的程序檢測 x86 虛擬機器的官方機制。我會提供一些例子,但我不知道任何例子。我使用我自己的工具。 托馬斯·利斯克imvirt根據其 doco 顯示了承諾,但我還沒有使用它或看過原始碼。

這是否也適用於您的 SunOS 電腦取決於它是 x86 Solaris 還是確實Sun作業系統。 ☺ 偵測虛擬機器的存在涉及特定於處理器指令集架構的內容,而不是特定於作業系統的內容。所以“我有 AIX 和 HP/UX 機器。”不如說「我有 PowerPC 和 Itanium 機器」有用。

相關內容