首頁 > 軟體

檢測Linux虛擬化平台型別的幾種方式

2020-06-16 17:44:49

要想找出 Linux 系統執行在虛擬化平台中還是硬體伺服器上,有多種方式可供大家選擇,這主要取決於你的 hypervisor 或 container 環境。不同的虛擬化或容器技術會在其範例中引入不同的識別指紋,如:處理器廠商、特殊的 /proc 檔案或虛擬網絡卡名稱等。 另外通過 dmesg 顯示啟動序列,也可以找出 Linux 或 VPS 所使用虛擬化平台型別的一些線索。

下面我們將介紹幾個命令列工具,讓大家可以非常容易地檢測到 Linux 所使用的虛擬化平台型別。

方法一:dmidecode

要檢測 Linux 底層的虛擬化型別首選的就是 dmidecode 命令,它最初設計來顯示系統 BIOS 和硬體元件的相關資訊。使用如下命令便可以檢測相關虛擬化資訊:

sudo dmidecode -s system-manufacturer

系統極客網站執行在 Microsoft Azure 平台上,所以檢測出來是微軟的 Hyper-V。如果你的系統執行在物理伺服器上,輸入的將是硬體製造商的實際名稱(如 Dell Inc.)。如果你的 Linux 是執行在虛擬化平台中,則會顯示所使用的虛擬化技術相關名稱,如 「Microsoft Corporation」「QEMU」「Xen」「VirtualBox」「VMware, Inc」等等。

注意:該方法不適用於基於容器的虛擬化技術。

方法二:systemd

對於使用 systemd 的 Linux 系統,可以使用 systemd-detect-virt 命令來進行檢測,該命令目前可以同時檢測到基於 hypervisor 的虛擬化技術(例如 KVM、QEMU、VMware、Xen、Oracle VM、VirtualBox、UML)和基於容器的虛擬化技術(例如 LXC、Docker、OpenVZ)。

systemd-detect-virt

注意:在物理伺服器上使用該命令會輸出「none」。

方法三:virt-what

我們介紹的最後一種檢測 Linux 所使用虛擬化型別的方法是 virt-what 命令,virt-what 實際上是一個 Shell 指令碼。它通過各種啟發式方法來識別虛擬化環境型別,可以檢測出 QEMU/KVM、VMware、Hyper-V、VirtualBox、OpenVZ/Virtuozzo、Xen、LXC、IBM PowerVM 以及 Parallels 等平台型別。

在使用之前,大家需要先通過 apt-getyum 安裝 virt-what,再執行如下命令進行檢測:

sudo virt-what

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-03/129539.htm


IT145.com E-mail:sddin#qq.com