前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python判断Xen虚拟化上Linux主机是否为虚拟机

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

作者头像
星哥玩云
发布2022-07-13 13:27:20
1.3K0
发布2022-07-13 13:27:20
举报
文章被收录于专栏:开源部署

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档