Libvirt使用统一资源标识符(uri)来标识系统管理程序连接。本地和远程管理程序都是由libvirt使用uri来解决的。URI方案和路径定义要连接的管理程序,而URI的主机部分确定它的位置。
libvirt 本地URIs有以下的格式
driver:///system
driver:///session
driver+unix:///system
driver+unix:///session
支持的drivers如下:
Driver Description
qemu For managing qemu and KVM guests
xen For managing old-style (Xen 3.1 and older) Xen guests
xenapi For managing new-style Xen guests
uml For managing UML guests
lxc For managing Linux Containers
vbox For managing VirtualBox guests
openvz For managing OpenVZ containers
esx For managing VMware ESX guests
gsx For managing VMware GSX guests
vpx For managing VMware VPX guests
hyperv For managing Microsoft Hyper-V guests
远程 URI 具有一般形式(“[…]”表示可选部分):
driver[+transport]://[username@][hostname][:port]/[path][?extraparameters]
driver
要连接到的libvirt管理程序驱动程序的名称。这与在本地URI中使用的相同。例如xen、qemu、lxc、openvz和test。作为一种特殊情况,可以使用伪驱动程序名称remote,这将导致远程守护进程探测活动的管理程序并选择一个来使用。作为一般规则,如果应用程序知道它想要什么管理程序,它应该始终指定显式的驱动程序名称,而不依赖于自动探测。
transport:
可能的值包括tls、tcp、unix、ssh和ext,如果省略,则在提供主机名时默认为tls,如果没有提供主机名则默认为unix。
username:
当使用SSH数据传输时,允许选择与客户端当前登录名不同的用户名。
hostname:
远程机器的完全限定主机名。如果使用TLS和x509证书,或者使用SASL和GSSAPI/Keberos插件,那么这个主机名必须与服务器的x509证书/ Kerberos原则中使用的主机名匹配。不匹配的主机名将保证身份验证失败。
port:
很少需要,除非SSH或libvirtd已被配置为在非标准TCP端口上运行。SSH数据传输默认为22,TCP数据传输默认为16509,TLS数据传输默认为16514。
path:
该路径应该与管理程序驱动程序的本地uri使用的路径相同。对于Xen,这总是/,而对于QEMU,这将是/system。
extraparameters: