backup: Wire up qemu full pull backup commands over QMP
[libvirt/ericb.git] / docs / drvhyperv.html.in
blob78f61aaee20bcfec6b73afcaca21a0b92a0b6266
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html>
3 <html xmlns="http://www.w3.org/1999/xhtml">
4 <body>
5 <h1>Microsoft Hyper-V hypervisor driver</h1>
6 <ul id="toc"></ul>
7 <p>
8 The libvirt Microsoft Hyper-V driver can manage Hyper-V 2008 R2 and newer.
9 </p>
12 <h2><a id="project">Project Links</a></h2>
13 <ul>
14 <li>
15 The <a href="http://www.microsoft.com/hyper-v-server/">Microsoft Hyper-V</a>
16 hypervisor
17 </li>
18 </ul>
21 <h2><a id="uri">Connections to the Microsoft Hyper-V driver</a></h2>
22 <p>
23 Some example remote connection URIs for the driver are:
24 </p>
25 <pre>
26 hyperv://example-hyperv.com (over HTTPS)
27 hyperv://example-hyperv.com/?transport=http (over HTTP)
28 </pre>
29 <p>
30 <strong>Note</strong>: In contrast to other drivers, the Hyper-V driver
31 is a client-side-only driver. It connects to the Hyper-V server using
32 WS-Management over HTTP(S). Therefore, the
33 <a href="remote.html">remote transport mechanism</a> provided by the
34 remote driver and libvirtd will not work, and you cannot use URIs like
35 <code>hyperv+ssh://example.com</code>.
36 </p>
39 <h3><a id="uriformat">URI Format</a></h3>
40 <p>
41 URIs have this general form (<code>[...]</code> marks an optional part).
42 </p>
43 <pre>
44 hyperv://[username@]hostname[:port]/[?extraparameters]
45 </pre>
46 <p>
47 The default HTTPS ports is 5986. If the port parameter is given, it
48 overrides the default port.
49 </p>
52 <h4><a id="extraparams">Extra parameters</a></h4>
53 <p>
54 Extra parameters can be added to a URI as part of the query string
55 (the part following <code>?</code>). A single parameter is formed by a
56 <code>name=value</code> pair. Multiple parameters are separated by
57 <code>&amp;</code>.
58 </p>
59 <pre>
60 ?transport=http
61 </pre>
62 <p>
63 The driver understands the extra parameters shown below.
64 </p>
65 <table class="top_table">
66 <tr>
67 <th>Name</th>
68 <th>Values</th>
69 <th>Meaning</th>
70 </tr>
71 <tr>
72 <td>
73 <code>transport</code>
74 </td>
75 <td>
76 <code>http</code> or <code>https</code>
77 </td>
78 <td>
79 Overrides the default HTTPS transport. The default HTTP port
80 is 5985.
81 </td>
82 </tr>
83 </table>
86 <h3><a id="auth">Authentication</a></h3>
87 <p>
88 In order to perform any useful operation the driver needs to log into
89 the Hyper-V server. Therefore, only <code>virConnectOpenAuth</code> can
90 be used to connect to an Hyper-V server, <code>virConnectOpen</code> and
91 <code>virConnectOpenReadOnly</code> don't work.
92 To log into an Hyper-V server the driver will request credentials using
93 the callback passed to the <code>virConnectOpenAuth</code> function.
94 The driver passes the hostname as challenge parameter to the callback.
95 </p>
96 <p>
97 <strong>Note</strong>: Currently only <code>Basic</code> authentication
98 is supported by libvirt. This method is disabled by default on the
99 Hyper-V server and can be enabled via the WinRM commandline tool.
100 </p>
101 <pre>
102 winrm set winrm/config/service/auth @{Basic="true"}
103 </pre>
105 To allow <code>Basic</code> authentication with HTTP transport WinRM
106 needs to allow unencrypted communication. This can be enabled via the
107 WinRM commandline tool. However, this is not the recommended
108 communication mode.
109 </p>
110 <pre>
111 winrm set winrm/config/service @{AllowUnencrypted="true"}
112 </pre>
115 </body></html>