<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <body> <h1>Microsoft Hyper-V hypervisor driver</h1> <ul id="toc"></ul> <p> The libvirt Microsoft Hyper-V driver can manage Hyper-V 2008 R2. </p> <h2><a name="project">Project Links</a></h2> <ul> <li> The <a href="http://www.microsoft.com/hyper-v-server/">Microsoft Hyper-V</a> hypervisor </li> </ul> <h2><a name="uri">Connections to the Microsoft Hyper-V driver</a></h2> <p> Some example remote connection URIs for the driver are: </p> <pre> hyperv://example-hyperv.com (over HTTPS) hyperv://example-hyperv.com/?transport=http (over HTTP) </pre> <p> <strong>Note</strong>: 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 <a href="remote.html">remote transport mechanism</a> provided by the remote driver and libvirtd will not work, and you cannot use URIs like <code>hyperv+ssh://example.com</code>. </p> <h3><a name="uriformat">URI Format</a></h3> <p> URIs have this general form (<code>[...]</code> marks an optional part). </p> <pre> hyperv://[username@]hostname[:port]/[?extraparameters] </pre> <p> The default HTTPS ports is 5986. If the port parameter is given, it overrides the default port. </p> <h4><a name="extraparams">Extra parameters</a></h4> <p> Extra parameters can be added to a URI as part of the query string (the part following <code>?</code>). A single parameter is formed by a <code>name=value</code> pair. Multiple parameters are separated by <code>&</code>. </p> <pre> ?transport=http </pre> <p> The driver understands the extra parameters shown below. </p> <table class="top_table"> <tr> <th>Name</th> <th>Values</th> <th>Meaning</th> </tr> <tr> <td> <code>transport</code> </td> <td> <code>http</code> or <code>https</code> </td> <td> Overrides the default HTTPS transport. The default HTTP port is 5985. </td> </tr> </table> <h3><a name="auth">Authentication</a></h3> <p> In order to perform any useful operation the driver needs to log into the Hyper-V server. Therefore, only <code>virConnectOpenAuth</code> can be used to connect to an Hyper-V server, <code>virConnectOpen</code> and <code>virConnectOpenReadOnly</code> don't work. To log into an Hyper-V server the driver will request credentials using the callback passed to the <code>virConnectOpenAuth</code> function. The driver passes the hostname as challenge parameter to the callback. </p> <p> <strong>Note</strong>: Currently only <code>Basic</code> 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. </p> <pre> winrm set winrm/config/service/auth @{Basic="true"} </pre> <p> To allow <code>Basic</code> 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. </p> <pre> winrm set winrm/config/service @{AllowUnencrypted="true"} </pre> </body></html>