發布一段c**,用於連線指定的kvm宿主機器,獲得該宿主機器的配置資訊,以及該主機上所有的虛擬主機列表、狀態及配置資訊:
#include
#include
#include
void listdom(virconnectptr conn)
conn = virconnectopen(str);
if (conn == null)
caps = virconnectgetcapabilities(conn);
fprintf(stdout, "capabilities:\n%s\n", caps);
free(caps);
printf("hostname: %s\n",virconnectgethostname(conn));
fprintf(stdout, "virtualization type: %s\n", virconnectgettype(conn));
virnodegetinfo(conn, &nodeinfo);
fprintf(stdout, "model: %s\n", nodeinfo.model);
fprintf(stdout, "memory size: %lukb\n", nodeinfo.memory);
fprintf(stdout, "number of cpus: %u\n", nodeinfo.cpus);
fprintf(stdout, "mhz of cpus: %u\n", nodeinfo.mhz);
fprintf(stdout, "number of numa nodes: %u\n", nodeinfo.nodes);
fprintf(stdout, "number of cpu sockets: %u\n", nodeinfo.sockets);
fprintf(stdout, "number of cpu cores per socket: %u\n", nodeinfo.cores);
fprintf(stdout, "number of cpu threads per core: %u\n", nodeinfo.threads);
/* printf("sysinfor :[%s]\n",virconnectgetsysinfo(conn,0));
pmem = malloc(sizeof(virnodememorystats)* 100);
virnodegetmemorystats(conn,vir_node_memory_stats_all_cells,pmem,pn,0);
for(i = 0; i < 10; i++)
*/listdom(conn);
listactivedom(conn);
virconnectclose(conn);
}return 0;
}執行效果如下:
[root@kvm t]# ./t
input kvm host:>qemu+ssh:///system
libvirt建立和管理KVM虛擬機器
create disk qemu img create f raw test4.raw 8g install virt install name test4 hvm ram 1024 vcpu 2 disk path test4.raw network network default cdrom r...
kvm及管理工具 libvirt介紹
kvm管理工具 libvirt import kvm 模組載入之後,檢查 dev kvm這個檔案,它是kvm核心模組提供給使用者空間的qemu kvm程式使用的乙個控制介面,它提供了客戶機guest作業系統執行所需要的模擬和實際的硬體裝置環境。除了在核心空間的kvm模組之外,在使用者空間需要qemu...
KVM 使用 Libvirt遠端獲取虛擬機器資訊
libvirt 是乙個軟體集合,便於使用者管理虛擬機器和使用其他虛擬化功能。包括三個部分 libivrt 目標是提供一種單一的方式管理多種不同的虛擬化方式 libvirt 主要功能包括 獲取每個 instance 的 domain 並獲取一些基本資訊 import libvirt conn libv...