應用Libvirt連線KVM虛擬化平台

2021-08-27 09:47:42 字數 1480 閱讀 3818

發布一段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...