摘要:/etc/libvirt/libvirtd.conf 是 libvirt 的守护进程 libvirtd 的配置文件,配置了 libvirtd 启动时的许多设置,包括是否建立 TCP、UNIX domain socket 等连接方式及其最大连接数,以及这些连接的认证机制,等等.修改后需要让libvirtd重新加载配置文件(或重启libvirtd)才会生效。打开libvirtd.conf会发现很多都是用的默认选项。为了实现远程控制访问。需要打开被注释掉的几个参数并修改之
/etc/libvirt/libvirtd.conf 是 libvirt 的守护进程 libvirtd 的配置文件,配置了 libvirtd 启动时的许多设置,包括是否建立 TCP、UNIX domain socket 等连接方式及其最大连接数,以及这些连接的认证机制,等等.修改后需要让libvirtd重新加载配置文件(或重启libvirtd)才会生效。打开libvirtd.conf会发现很多都是用的默认选项。为了实现远程控制访问。需要打开被注释掉的几个参数并修改之:
listen_tls=0 listen_tcp=1 tcp_port=“16509” auth_tcp=“none”
要让TCP、TLS等连接的生效,需要在启动 libvirtd 时加上 –listen 参数(简写为 -l )。而默认的 service libvirtd start 命令启动 libvirtd 服务时,并没带 –listen 参数,所以如果要使用TCP等连接方式,可以使用下面的命令来启动libvirtd
libvirtd–listen-d
验证,可以通过virsh来验证:
virsh-cqemu+tcp://localhost:16509/system
如果是其他机器需要把对应的localhost换成ip或主机名。而且注意打开16509端口。
下面是一段c实现的列出所有虚拟主机名的程序。通过tcp无密码连接方式。
/*compilewith:gcctest.c-otest-lvirt*/ #include<stdio.h> #include<stdlib.h> #include<libvirt/libvirt.h> intmain(intargc,char*argv[]) { intnumofdom; inti; virDomainPtr*namelist=NULL; intflags=VIR_CONNECT_LIST_DOMAINS_ACTIVE|VIR_CONNECT_LIST_DOMAINS_INACTIVE; virConnectPtrconn; //useactualipaddress conn=virConnectOpenAuth("qemu+tcp://192.168.234.128/system",virConnectAuthPtrDefault,0); if(conn==NULL) { fprintf(stderr,"Failedtoopenconnectiontoqemu:///systemn"); return-1; } numofdom=virConnectListAllDomains(conn,&namelist,flags); if(numofdom==-1) { fprintf(stderr,"Failedtogetnumofdomain:n"); return-1; } for(i=0;i<numofdom;i++) { printf("domain%d:%sn",i,virDomainGetName(namelist[i])); virDomainFree(namelist[i]); } free(namelist); virConnectClose(conn); return0; }
相关文章推荐
虚拟主机的专业参数,分别都是什么意思?2022-09-09
中非域名注册规则是怎样的?注册域名有什么用处? 2022-01-10
HostEase新年活动促销 美国/香港主机全场低至五折2021-12-28
HostGator下载完整备份教程分享2021-12-28
Flink中有界数据与无界数据的示例分析2021-12-28