如何檢查 Linux 系統(tǒng)是運(yùn)行在虛擬機(jī)上還是物理機(jī)上?
在當(dāng)前虛擬化非常成熟的環(huán)境下,我們所部署的大部分系統(tǒng)都是運(yùn)行在虛擬機(jī)中的。但是也有部分是在物理機(jī)上。那么,怎樣區(qū)分我們的系統(tǒng)是運(yùn)行在虛擬機(jī)上,還是物理機(jī)上呢?
下面我們來詳細(xì)討論下這個(gè)問題。
有幾個(gè)命令可以用來區(qū)分系統(tǒng)運(yùn)行環(huán)境是在虛擬機(jī)還是物理機(jī)。
1,使用 dmidecode 命令
區(qū)分虛擬機(jī)和物理機(jī),最簡(jiǎn)單的方法是使用 dmidecode 命令。如下所示:
如果是物理機(jī),你會(huì)看到機(jī)器制造商的名稱,比如 Dell,Lenovo 等;
如果是虛擬機(jī),你會(huì)看到一些類似于 QEMU, innotek Gmbh(for VirtualBox)等的輸出信息。
dmidecode 命令用于查看計(jì)算機(jī)的 DMI 信息,該信息以人類可讀的方式輸出。
DMI 是桌面管理界面(Desktop Management Interface)的縮寫,是幾乎所有系統(tǒng)制造商都遵守的標(biāo)準(zhǔn)。DMI 框架用于管理和跟蹤桌面、筆記本電腦或服務(wù)器計(jì)算機(jī)中的組件。
由于有了 DMI,我們可以獲得有關(guān)系統(tǒng)硬件、系統(tǒng)制造商和設(shè)備序列號(hào)的信息,而使用 dmidecode(DMI Decode)命令,可以獲取這些信息。另外,使用 -s system-manufacturer 也可獲取制造商的詳細(xì)信息。
如果系統(tǒng)環(huán)境是物理機(jī),那么可以看到制造商的信息,比如:
相反,如果是虛擬機(jī),可以將虛擬機(jī)的信息打印出來,如下所示:
這個(gè)命令用起來比較便捷。關(guān)于 dmidecode 命令的詳細(xì)信息,大家也可以查看 man 手冊(cè)。
如果想要查看 Linux 版本的信息,可以使用 uname 命令。因?yàn)?dmidecode 命令查看的是硬件信息,對(duì)于軟件信息來說不適用。
2,使用 virt-what
區(qū)分虛擬機(jī)和物理機(jī)的另外一個(gè)方法是使用 virt-what
基本上,可以將其理解為是一個(gè) shell 腳本,可以作為命令安裝在大多數(shù) Linux 發(fā)行版中。安裝命令如下:
如果系統(tǒng)運(yùn)行在一個(gè)物理機(jī)上,virt-what 命令將不會(huì)返回任何結(jié)果;相反,如果是運(yùn)行在虛擬機(jī)上,將會(huì)輸出虛擬機(jī)的一些信息,如下所示:
以上就是本次分享全部?jī)?nèi)容,歡迎討論。