博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
QEMU guest agent和资源的收集
阅读量:6232 次
发布时间:2019-06-21

本文共 3900 字,大约阅读时间需要 13 分钟。

简介:libvirt 使用QEMU agent,就是运行在Guest OS里面的一个小服务。这个服务负责hypervisor和Guest之间进行通信的。Hypervisor使用这个通道去获取guest OS的信息或执行命令。这个通道的协议叫做Qemu Machine Protocol. 比如,libvirt使用agent去获取网络和文件系统的详细信息。它们是通过virtio-serial或者通过isa-serial通道,又叫做org.qemu.guest_agent.0。 在hypervisior服务器这边也会创建一个文件,在/var/lib/libvirt/qemu/channel/target/.

(1)我们在Guest OS中安装客户端

$ sudo yum install qemu-guest-agent

(2)然后我们重新启动我们的Guest-OS,查看信息,是否为运行状态 。

systemctl status qemu-geust-agent

(3)第二步如果为运行状态,我们在hypervisor上执行查询信息,进行检验。

$ sudo virsh qemu-agent-command centos7.0 '{"execute": "guest-info"}' --pretty{  "return": {    "version": "2.8.0",    "supported_commands": [      {        "enabled": true,        "name": "guest-sync-delimited",        "success-response": true      },      {        "enabled": true,        "name": "guest-sync",        "success-response": true      },      {        "enabled": true,        "name": "guest-suspend-ram",        "success-response": false      },      {        "enabled": true,        "name": "guest-suspend-hybrid",        "success-response": false      },

windows客户端这里不再详述。详见链接地址:.

二. 资源收集

(1)获取hypervisor CPU的利用率

root@kvm:~# virsh nodecpustats --percentusage: 0.0%user: 0.0%system: 0.0%idle: 100.0%iowait: 0.0%

(2)获取 hypervisor 内存的利用率

root@kvm:~# virsh nodememstatstotal : 131918328 KiBfree : 103633700 KiBbuffers: 195532 KiBcached : 25874840 KiB

(3)检查KVM的实例状态

root@kvm:~# virsh domstate kvm1running

(4)获取分配给KVM实例的CPU数量

root@kvm:~# virsh vcpucount --current kvm1 --live1

(5)收集Guest虚拟CPU的详细信息

root@kvm:~# virsh vcpuinfo kvm1VCPU: 0CPU: 29State: runningCPU time: 118.8sCPU Affinity: yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy

(6)获取关于虚拟VM CPU的timer信息

root@kvm:~# virsh cpu-stats --total kvm1Total:cpu_time 175.003045493 secondsuser_time 2.610000000 secondssystem_time 7.510000000 seconds

(7)获取关于vm的常规信息。

root@kvm:~# virsh dominfo kvm1Id: 30Name: kvm1UUID: bd167199-c1c4-de7e-4996-43a7f197e565OS Type: hvmState: runningCPU(s): 1CPU time: 175.6sMax memory: 1048576 KiBUsed memory: 1048576 KiBPersistent: yesAutostart: disableManaged save: noSecurity model: noneSecurity DOI: 0

(8)获取MV的内存利用率

root@kvm:~# virsh dommemstat --live kvm1actual 1048576swap_in 0rss 252684

(9)获取KVM实例关联的块设备信息

root@kvm:~# virsh domblklist kvm1Target Source------------------------------------------------hda /var/lib/libvirt/images/kvm1.img

(10)获取块设备信息的大小

root@kvm:~# virsh domblkinfo --device hda kvm1Capacity: 8589934592Allocation: 2012381184Physical: 2012381184

(11)获取KVM实例关联的块设备错误 信息

root@kvm:~# virsh domblkerror kvm1No errors found

(12)查看KVM实例的块设备统计信息

root@kvm:~# virsh domblkstat --device hda --human kvm1Device: hdanumber of read operations: 42053number of bytes read: 106145280number of write operations: 10648number of bytes written: 96768000number of flush operations: 4044total duration of reads (ns): 833974071total duration of writes (ns): 1180545967total duration of flushes (ns): 3458623200

(13)获取虚拟机的进程信息

root@kvm:~# pgrep -lfa kvm132332 /usr/bin/qemu-system-x86_64 -name kvm1 -S -machine pc-            i440fx-trusty,accel=kvm,usb=off -m 1024 -realtime mlock=off -smp    1,sockets=1,cores=1,threads=1 -uuid bd167199-c1c4-de7e-4996-43a7f197e565 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/kvm1.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/var/lib/libvirt/images/kvm1.img,if=none,id=drive-ide0-0-0,format=raw -device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -netdev tap,fd=24,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:55:9b:d6,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -vnc 146.20.141.158:0 -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4

转载于:https://blog.51cto.com/aishangwei/2124540

你可能感兴趣的文章
python爱好者社区公众号历史文章合集_GitHub - thinkingpy/weixin_crawler: 高效微信公众号历史文章和阅读数据爬虫powered by scrapy...
查看>>
ranger安装hbase插件_ranger的配置与使用
查看>>
mysql模板文件_MySQL 配置文件模板
查看>>
mysql连接数据库测试连接成功_java连接mysql数据库及测试是否连接成功的方法
查看>>
1×pbs缓冲液配方_PBS缓冲液配方.doc
查看>>
mysql qadir_MySQL 及 SQL 注入
查看>>
python 播放视频 ftp_视频在通过Python ftplib上传时出现损坏
查看>>
python3 image_python docker快速入门3制作image
查看>>
python代码写名字_【python】【名字】是什么?,Pythonname
查看>>
python调用浏览器生成dom_1分钟快速生成用于网页内容提取的xslt
查看>>
tolua unity 报错_关于LUA+Unity开发_toLua篇【二】
查看>>
java this函数_java this 用法详解
查看>>
java怎么封装表单数据_java 对form表单数据进行封装list
查看>>
java 当前工作目录是指_java取得当前工作目录
查看>>
the java jive_Java Jive
查看>>
hadoop上传文件java_hadoop入门之通过java代码实现将本地文件上传到hadoop的文件系统...
查看>>
放苹果 java_用Java代码模拟实现:一个人不断往箱子里放苹果,另一个人不
查看>>
java ftp 判断目录存在_java判断ftp目录是否存在的方法
查看>>
java httpclient 进度条_如何获得一个文件的上传与Apache HttpClient的4进度条
查看>>
java获取指定日期的后一天_java获得指定日期的前一天,后一天的代码详解
查看>>