我的bash腳本中的一條命令將取決於服務器(XEN或OpenVZ或KVM)的虛擬化。我如何檢查這些中的哪些在bash中正在使用?在bash中檢測虛擬化
回答
我發現了一個小的shell腳本,它能夠檢測虛擬化,它處理的Xen,OpenVZ是KVM,Parallels的,VMware和許多更
virt-what
安裝使用yum是非常直截了當
這裏是我的系統上的輸出
$ virt-what
kvm
如果你想檢測的Xen主機(dom0中),檢查
[ "$(cat /proc/xen/capabilities)" == "control_d" ]
如果你想在虛擬機檢測,
你需要在虛擬機上執行cpuid
指令,與original_eax = 1。
如果生成的ecx的最高有效位設置爲((ecx & 0x80000000) != 0)
,那麼您處於虛擬機下。
這是假設您的管理程序支持viridian interface。 Xen的確如此。
cpuid
軟件包很容易用於許多Linux發行版。我相信Windows端口也可用。否則,代碼是非常簡單的,你寫...
有一個非常有用的腳本0123'處理Xen,OpenVZ,VMware,VirtualBox,KVM,和許多其他人。它可以作爲Debian中的軟件包或imvirt web site提供。
$ imvirt
Xen PV 4.1
不錯......我認爲它也必須爲centos :) – user2650277
@ user2650277 - 網站提到了一個獨立的包,包括所有的Perl依賴關係。這應該在CentOS上運行。 –
我做過'yum install imvirt',不幸的是imvirt命令在我的系統上顯示錯誤。它似乎無法檢測到我在KVM上 – user2650277
- 1. 檢測虛擬化
- 2. Red Pill檢測虛擬化
- 3. 測試使用虛擬化
- 4. 檢測虛擬MAC地址?
- 5. 在虛擬鍵盤上檢測按鍵
- 6. 檢測在虛擬機上運行
- 7. TreeView虛擬化
- 8. 虛擬化WrapPanel
- 9. 虛擬化treelistview?
- 10. 檢測亞馬遜虛擬機(Windows)
- 11. 檢測虛擬主機服務器
- 12. 檢測Java虛擬機架構10
- 13. 檢測長按「虛擬」鑰匙
- 14. 檢測丟棄虛擬信用卡
- 15. 如何檢測虛擬按鈕(Android 4)?
- 16. 使用AS3檢測虛擬機
- 17. 檢測虛擬鍵盤的類型-Android
- 18. 檢測虛擬機複製/複製
- 19. 嵌套虛擬化KVM:-enable-KVM在嵌套虛擬化QEMU
- 20. KVM虛擬化10gbe虛擬以太網
- 21. 是否可以在Oracle中使虛擬列不再虛擬化?
- 22. Popup中的UI虛擬化
- 23. 檢測串在bash
- 24. 未在瀏覽器中檢測到AVFoundation CoreMedaIO虛擬相機
- 25. 在Xcode中檢測到多個Lua虛擬機
- 26. 如何檢測當前網站是否在虛擬目錄中
- 27. WPF ItemControl虛擬化
- 28. 虛擬機優化
- 29. DataGrid UI虛擬化
- 30. 虛擬化環境
Xen的檢測是明確的,但'OpenVz' – user2650277
所以只是爲了確認,你想檢測dom0是否在'OpenVz'下。對? – anishsane
我從來沒有使用'OpenVz' ...所以不能真正檢查它.. – anishsane