码迷,mamicode.com
首页 > 编程语言 > 详细

python判断xen虚拟化上linux主机是否为虚拟机

时间:2018-04-10 21:53:17      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:xen

华为的云计算采用的是xen的虚拟化,有时候我们要大致判断下主机是否为虚拟机。

windows主机,直接资源管理器查看硬件设备。

而linux主机可以用python脚本来监测

判断 OpenVZ/Xen PV/UML

判断 OpenVZ/Xen PV/UML 是最容易的,直接检查 /proc 下的相关目录和文件就可以知道,比如 OpenVZ VPS 上会有 /proc/vz 这个文件;Xen PV 虚拟机上会有 /proc/xen/ 这个目录,并且目录下有一些东西;UML 上打印 /proc/cpuinfo 会找到 UML 标志。写了一个简单的 Python 脚本来检测:

#!/usr/bin/python
# check if a linux system running on a virtual machine (openvz/xen pv/uml)
import sys, os
def main():
    if os.getuid() != 0:
        print "must be run as root"
        sys.exit(0)
    # check OpenVZ/Virtuozzo
    if os.path.exists("/proc/vz"):
        if not os.path.exists("/proc/bc"):
            print "openvz container"
        else:
            print "openvz node"
    # check Xen
    if os.path.exists("/proc/xen/capabilities"):
        if (os.path.getsize("/proc/xen/capabilities") > 0):
            print "xen dom0"
        else:
            print "xen domU"
    # check User Mode Linux (UML)
    f = open("/proc/cpuinfo", "r"); t = f.read(); f.close()
    if (t.find("UML") > 0):
        print "uml"
if __name__=="__main__":
    main()


python判断xen虚拟化上linux主机是否为虚拟机

标签:xen

原文地址:http://blog.51cto.com/11555417/2096684

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!