libvirt笔记(四)获取主机信息

import sys
import libvirt
conn=None
try:
    conn=libvirt.open("qemu:///system")
except libvirt.libvirtError as e:
    print(repr(e),file=sys.stderr)
    exit(1)
host=conn.getHostname()
print('Hostname:'+host)
vcpu=conn.getMaxVcpus(None)
print('Maximum support virtual CPUs:'+str(vcpu))
nodeinfo=conn.getInfo()  #返回的是一个列表
print('Model: '+str(nodeinfo[0]))
print('Memory size: '+str(nodeinfo[1])+'MB')
print('Number of CPUs: '+str(nodeinfo[2]))
print('MHz of CPUs: '+str(nodeinfo[3]))
print('Number of NUMA nodes: '+str(nodeinfo[4]))
print('Number of CPU sockets: '+str(nodeinfo[5]))
print('Number of CPU cores per socket: '+str(nodeinfo[6]))
print('Number of CPU threads per core: '+str(nodeinfo[7]))
conn.getType()#获取支持的可视化类型
conn.getURI()
conn.isEncrypted()#判断该连接是否加密,1有,0没有
conn.isSecure()#加密或运行在unix域或socket则安全
conn.isAlive()#判断与hypervisor的连接是否断开
conn.getFreeMemory()#获取主机上的可用内存
conn.getCPUMap()#返回主机cpu个数
print("CPUs:"+str(map[0]))
print("Available:"+str(map[1]))
stats=conn.getCPUStats(0)#通过编号获取单个cpu的信息
print("kernel:"+str(stats['kernel']))
print("idle:"+str(stats['idle']))
print("user:"+str(stats['user']))
print("iowait:"+str(stats['iowait']))
conn.close()
exit(0)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
KVM(Kernel-based Virtual Machine)是一种开源的全虚拟化解决方案,它允许将Linux内核转变为一个虚拟化的hypervisor。在KVM中,宿主机是运行KVM虚拟机的主机系统,而客户机则是在宿主机上运行的虚拟机。 要获取宿主机信息,客户机可以采用以下几种方法: 1. 使用QEMU Guest Agent:QEMU Guest Agent是QEMU项目提供的一个用于与宿主机交互的工具。它可以通过virtio-serial接口与虚拟机进行通信。客户机通过安装和启动QEMU Guest Agent,并发送特定的查询命令,就可以获取宿主机的各种信息,如宿主机的CPU信息、内存使用情况、网络配置等。 2. 使用libvirtlibvirt是一个开源的虚拟化管理库,它提供了一套API用于管理和监控虚拟化技术(如KVM)。通过libvirt,客户机可以连接到宿主机,并使用相关API获取宿主机信息,如宿主机的虚拟化技术、硬件配置、网络设置等。 3. 使用网络通信:客户机可以通过网络通信的方式获取宿主机信息。例如,客户机可以使用SNMP(Simple Network Management Protocol)协议向宿主机发送查询请求,并获取宿主机的网络状态、系统负载等信息。 需要注意的是,获取宿主机信息可能需要一些特定的权限和配置。在实际操作中,客户机可能需要在宿主机上安装相关的软件或驱动,或者配置一些权限设置才能成功获取宿主机信息。 总之,通过QEMU Guest Agent、libvirt或网络通信等方式,KVM客户机可以与宿主机进行交互,并获取宿主机的各种信息,以实现更加灵活和高效的虚拟化管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值