Linux

確定Linux機器虛擬化技術的簡單方法?

  • November 4, 2021

我可以通過命令行訪問可能會或可能不會被虛擬化的 Linux 機器。我想確定它執行在哪種虛擬化技術上(如果有的話)(VMWare、VirtualBox、KVM、OpenVZ、Xen、)。這不是一個充滿敵意的環境:我不是在嘗試與試圖偽裝自己的 VM 對抗,而是在診斷一個我知之甚少的不穩定伺服器。

更準確地說,我是在幫助某人診斷問題,而不是在掌舵。所以我必須傳達諸如“複製粘貼此命令”之類的指令,而不是“在/proc某處閒逛”。理想情況下,它將類似於lshw:一個易於安裝(如果未預安裝)的命令,它可以四處尋找並列印出相關資訊。

確定該系統可能使用哪種虛擬化技術的最簡單方法是什麼?如果提案提到可以最終檢測到哪些技術(包括裸硬體)以及可以最終消除哪些技術,我將不勝感激。我對 Linux 最感興趣,但如果它也適用於其他 unice,那就太好了。

dmidecode -s system-product-name

我已經在 Vmware Workstation、VirtualBox、帶有 KVM 的 QEMU、帶有 Ubuntu 作為來賓作業系統的獨立 QEMU 上進行了測試。其他人也添加了他們熟悉的其他平台。

虛擬化技術

  • VMware工作站
root@router:~# dmidecode -s system-product-name
VMware Virtual Platform
  • 虛擬盒子
root@router:~# dmidecode -s system-product-name
VirtualBox
  • 帶 KVM 的 Qemu
root@router:~# dmidecode -s system-product-name
KVM
  • Qemu(模擬)
root@router:~# dmidecode -s system-product-name
Bochs
  • 微軟虛擬PC
root@router:~# dmidecode | egrep -i 'manufacturer|product'
Manufacturer: Microsoft Corporation
Product Name: Virtual Machine
  • 維托佐
root@router:~# dmidecode
/dev/mem: Permission denied
root@router:~# dmidecode | grep -i domU
Product Name: HVM domU

在裸機上,這將返回電腦或主機板型號的標識。

/dev/disk/by-id

如果您沒有執行權限,dmidecode則可以使用:

虛擬化技術:QEMU

ls -1 /dev/disk/by-id/

輸出

[root@host-7-129 ~]# ls -1 /dev/disk/by-id/
ata-QEMU_DVD-ROM_QM00003
ata-QEMU_HARDDISK_QM00001
ata-QEMU_HARDDISK_QM00001-part1
ata-QEMU_HARDDISK_QM00002
ata-QEMU_HARDDISK_QM00002-part1
scsi-SATA_QEMU_HARDDISK_QM00001
scsi-SATA_QEMU_HARDDISK_QM00001-part1
scsi-SATA_QEMU_HARDDISK_QM00002
scsi-SATA_QEMU_HARDDISK_QM00002-part1

參考

引用自:https://unix.stackexchange.com/questions/89714