手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

Python判断Xen虚拟化上Linux主机是否为虚拟机

[日期:2018-04-20] 来源:Linux社区  作者:羊草 [字体: ]

华为的云计算采用的是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()

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-04/151978.htm

linux
相关资讯       Python判断主机 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款