Microsoft Hyper-V hypervisor driver
The libvirt Microsoft Hyper-V driver can manage Hyper-V 2008 R2 and newer.
Project Links ¶
- The Microsoft Hyper-V hypervisor
Connections to the Microsoft Hyper-V driver ¶
Some example remote connection URIs for the driver are:
hyperv://example-hyperv.com (over HTTPS) hyperv://example-hyperv.com/?transport=http (over HTTP)
Note: In contrast to other drivers, the Hyper-V driver
is a client-side-only driver. It connects to the Hyper-V server using
WS-Management over HTTP(S). Therefore, the
remote transport mechanism provided by the
remote driver and libvirtd will not work, and you cannot use URIs like
hyperv+ssh://example.com
.
URI Format ¶
URIs have this general form ([...]
marks an optional part).
hyperv://[username@]hostname[:port]/[?extraparameters]
The default HTTPS ports is 5986. If the port parameter is given, it overrides the default port.
Extra parameters ¶
Extra parameters can be added to a URI as part of the query string
(the part following ?
). A single parameter is formed by a
name=value
pair. Multiple parameters are separated by
&
.
?transport=http
The driver understands the extra parameters shown below.
Name | Values | Meaning |
---|---|---|
transport
|
http or https
|
Overrides the default HTTPS transport. The default HTTP port is 5985. |
Authentication ¶
In order to perform any useful operation the driver needs to log into
the Hyper-V server. Therefore, only virConnectOpenAuth
can
be used to connect to an Hyper-V server, virConnectOpen
and
virConnectOpenReadOnly
don't work.
To log into an Hyper-V server the driver will request credentials using
the callback passed to the virConnectOpenAuth
function.
The driver passes the hostname as challenge parameter to the callback.
Note: Currently only Basic
authentication
is supported by libvirt. This method is disabled by default on the
Hyper-V server and can be enabled via the WinRM commandline tool.
winrm set winrm/config/service/auth @{Basic="true"}
To allow Basic
authentication with HTTP transport WinRM
needs to allow unencrypted communication. This can be enabled via the
WinRM commandline tool. However, this is not the recommended
communication mode.
winrm set winrm/config/service @{AllowUnencrypted="true"}