2021-05-12 14:32:11
檢測Linux虛擬化平台型別的幾種方式
要想找出 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-get 或 yum 安裝 virt-what,再執行如下命令進行檢測:
sudo virt-what
本文永久更新連結地址:http://www.linuxidc.com/Linux/2016-03/129539.htm
相關文章