root / doc / ovfconverter.rst @ 2a50e2e8
History | View | Annotate | Download (7 kB)
1 | 97c60815 | Agata Murawska | ============= |
---|---|---|---|
2 | 97c60815 | Agata Murawska | OVF converter |
3 | 97c60815 | Agata Murawska | ============= |
4 | 97c60815 | Agata Murawska | |
5 | 97c60815 | Agata Murawska | Using ``ovfconverter`` from the ``tools`` directory, one can easily |
6 | 97c60815 | Agata Murawska | convert previously exported Ganeti instance into OVF package, supported |
7 | 97c60815 | Agata Murawska | by VMWare, VirtualBox and some other virtualization software. It is |
8 | 97c60815 | Agata Murawska | also possible to use instance exported from such a tool and convert it |
9 | 97c60815 | Agata Murawska | to Ganeti config file, used by ``gnt-backup import`` command. |
10 | 97c60815 | Agata Murawska | |
11 | 97c60815 | Agata Murawska | For the internal design of the converter and more detailed description, |
12 | 97c60815 | Agata Murawska | including listing of available command line options, please refer to |
13 | 97c60815 | Agata Murawska | :doc:`design-ovf-support` |
14 | 97c60815 | Agata Murawska | |
15 | 97c60815 | Agata Murawska | As the amount of Ganeti-specific details, that need to be provided in |
16 | 97c60815 | Agata Murawska | order to import an external instance, is rather large, we will present |
17 | 97c60815 | Agata Murawska | here some examples of importing instances from different sources. |
18 | 97c60815 | Agata Murawska | It is also worth noting that there are some limitations regarding |
19 | 97c60815 | Agata Murawska | support for different hardware. |
20 | 97c60815 | Agata Murawska | |
21 | 97c60815 | Agata Murawska | Limitations on import |
22 | 97c60815 | Agata Murawska | ===================== |
23 | 97c60815 | Agata Murawska | |
24 | 97c60815 | Agata Murawska | Network |
25 | 97c60815 | Agata Murawska | ------- |
26 | 97c60815 | Agata Murawska | Available modes for the network include ``bridged`` and ``routed``. |
27 | 97c60815 | Agata Murawska | There is no ``NIC`` mode, which is typically used e.g. by VirtualBox. |
28 | 97c60815 | Agata Murawska | For most usecases this should not be of any effect, since if |
29 | 97c60815 | Agata Murawska | ``NetworkSection`` contains any networks which are not discovered as |
30 | 97c60815 | Agata Murawska | ``bridged`` or ``routed``, the network mode is assigned automatically, |
31 | 97c60815 | Agata Murawska | using Ganeti's cluster defaults. |
32 | 97c60815 | Agata Murawska | |
33 | 97c60815 | Agata Murawska | Backend |
34 | 97c60815 | Agata Murawska | ------- |
35 | 97c60815 | Agata Murawska | The only values that are taken into account regarding Virtual Hardware |
36 | 97c60815 | Agata Murawska | (described in ``VirtualHardwareSection`` of the ``.ovf`` file) are: |
37 | 97c60815 | Agata Murawska | |
38 | 97c60815 | Agata Murawska | - number of virtual CPUs |
39 | 97c60815 | Agata Murawska | - RAM memory |
40 | 97c60815 | Agata Murawska | - hard disks |
41 | 97c60815 | Agata Murawska | - networks |
42 | 97c60815 | Agata Murawska | |
43 | 97c60815 | Agata Murawska | Neither USB nor CD-ROM drive are used in Ganeti. We decided to simply |
44 | 97c60815 | Agata Murawska | ignore unused elements of this section, so their presence won't raise |
45 | 97c60815 | Agata Murawska | any warnings. |
46 | 97c60815 | Agata Murawska | |
47 | 97c60815 | Agata Murawska | Operating System |
48 | 97c60815 | Agata Murawska | ---------------- |
49 | 97c60815 | Agata Murawska | List of operating systems available on a cluster is viewable using |
50 | 97c60815 | Agata Murawska | ``gnt-os list`` command. When importing from external source, providing |
51 | 97c60815 | Agata Murawska | OS type in a command line (``--os-type=...``) is **required**. This is |
52 | a17deeab | Agata Murawska | because even if the type is given in OVF description, it is not detailed |
53 | 97c60815 | Agata Murawska | enough for Ganeti to know which os-specific scripts to use. |
54 | a17deeab | Agata Murawska | Please note, that instance containing disks may only be imported using |
55 | a17deeab | Agata Murawska | OS script that supports raw disk images. |
56 | a17deeab | Agata Murawska | |
57 | a17deeab | Agata Murawska | References |
58 | a17deeab | Agata Murawska | ---------- |
59 | a17deeab | Agata Murawska | Files listed in ``ovf:References`` section cannot be hyperlinks. |
60 | a17deeab | Agata Murawska | |
61 | a17deeab | Agata Murawska | |
62 | a17deeab | Agata Murawska | Limitations on export |
63 | a17deeab | Agata Murawska | ===================== |
64 | a17deeab | Agata Murawska | |
65 | a17deeab | Agata Murawska | Disk content |
66 | a17deeab | Agata Murawska | ------------ |
67 | a17deeab | Agata Murawska | Most Ganeti instances do not contain grub. This results in some |
68 | a17deeab | Agata Murawska | problems when importing to virtualization software that does expect it. |
69 | a17deeab | Agata Murawska | Examples of such software include VirtualBox and VMWare. |
70 | a17deeab | Agata Murawska | |
71 | a17deeab | Agata Murawska | To avoid trouble, please install grub inside the instance before |
72 | a17deeab | Agata Murawska | exporting it. |
73 | a17deeab | Agata Murawska | |
74 | a17deeab | Agata Murawska | |
75 | a17deeab | Agata Murawska | Import to VirtualBox |
76 | a17deeab | Agata Murawska | -------------------- |
77 | a17deeab | Agata Murawska | ``format`` option should be set to ``vmdk`` in order for instance to be |
78 | a17deeab | Agata Murawska | importable by VirtualBox. |
79 | a17deeab | Agata Murawska | |
80 | a17deeab | Agata Murawska | Tests using existing versions of VirtualBox (3.16) suggest, that |
81 | a17deeab | Agata Murawska | VirtualBox does not support disk compression or OVA packaging. In future |
82 | a17deeab | Agata Murawska | versions this might change. |
83 | a17deeab | Agata Murawska | |
84 | a17deeab | Agata Murawska | |
85 | a17deeab | Agata Murawska | Import to VMWare |
86 | a17deeab | Agata Murawska | ---------------- |
87 | a17deeab | Agata Murawska | Importing Ganeti instance to VMWare was tested using ``ovftool``. |
88 | a17deeab | Agata Murawska | |
89 | a17deeab | Agata Murawska | ``format`` option should be set to ``vmdk`` in order for instance to be |
90 | a17deeab | Agata Murawska | importable by VMWare. |
91 | a17deeab | Agata Murawska | |
92 | a17deeab | Agata Murawska | Presence of Ganeti section does seem to cause some problems and |
93 | a17deeab | Agata Murawska | therefore it is recommended to use ``--external`` option on export. |
94 | a17deeab | Agata Murawska | |
95 | a17deeab | Agata Murawska | Import of compressed disks generated by ovfconverter was impossible in |
96 | a17deeab | Agata Murawska | current version of ``ovftool`` (2.1.0). This seems to be related to old |
97 | a17deeab | Agata Murawska | ``vmdk`` version. Since the conversion to ``vmdk`` format is done using |
98 | a17deeab | Agata Murawska | ``qemu-img``, it is possible and in fact expected, that future versions |
99 | a17deeab | Agata Murawska | of the latter tool will resolve this problem. |
100 | 97c60815 | Agata Murawska | |
101 | 97c60815 | Agata Murawska | |
102 | 97c60815 | Agata Murawska | Import examples |
103 | 97c60815 | Agata Murawska | =============== |
104 | 97c60815 | Agata Murawska | |
105 | 97c60815 | Agata Murawska | Ganeti's OVF |
106 | 97c60815 | Agata Murawska | ------------ |
107 | 97c60815 | Agata Murawska | If you are importing instance created using ``ovfconverter export`` -- |
108 | 97c60815 | Agata Murawska | you most probably will not have to provide any additional information. |
109 | 97c60815 | Agata Murawska | In that case, the following is all you need (unless you wish to change |
110 | 97c60815 | Agata Murawska | some configuration options):: |
111 | 97c60815 | Agata Murawska | |
112 | 97c60815 | Agata Murawska | ovfconverter import ganeti.ovf |
113 | 97c60815 | Agata Murawska | [...] |
114 | 97c60815 | Agata Murawska | gnt-instance import -n <node> <instance name> |
115 | 97c60815 | Agata Murawska | |
116 | 97c60815 | Agata Murawska | |
117 | 97c60815 | Agata Murawska | Virtualbox, VMWare and other external sources |
118 | 97c60815 | Agata Murawska | --------------------------------------------- |
119 | 97c60815 | Agata Murawska | In case of importing from external source, you will most likely have to |
120 | 97c60815 | Agata Murawska | provide the following details: |
121 | 97c60815 | Agata Murawska | |
122 | 97c60815 | Agata Murawska | - ``os-type`` can be any operating system listed on ``gnt-os list`` |
123 | 97c60815 | Agata Murawska | - ``name`` that has to be resolvable, as it will be used as instance |
124 | 97c60815 | Agata Murawska | name (even if your external instance has a name, it most probably is |
125 | 97c60815 | Agata Murawska | not resolvable to an IP address) |
126 | 97c60815 | Agata Murawska | |
127 | 97c60815 | Agata Murawska | These are not the only options, but the recommended ones. For the |
128 | 97c60815 | Agata Murawska | complete list of available options please refer to |
129 | 97c60815 | Agata Murawska | `Command Line description <design-ovf-support.rst>` |
130 | 97c60815 | Agata Murawska | |
131 | 97c60815 | Agata Murawska | Minimalistic but complete example of importing Virtualbox's OVF |
132 | 97c60815 | Agata Murawska | instance may look like:: |
133 | 97c60815 | Agata Murawska | |
134 | 97c60815 | Agata Murawska | ovfconverter virtualbox.ovf --os-type=lenny-image \ |
135 | 97c60815 | Agata Murawska | --name=xen.test.i1 --disk-template=diskless |
136 | 97c60815 | Agata Murawska | [...] |
137 | 97c60815 | Agata Murawska | gnt-instance import -n node1.xen xen.test.i1 |
138 | 97c60815 | Agata Murawska | |
139 | 97c60815 | Agata Murawska | |
140 | 54f834df | Agata Murawska | |
141 | 54f834df | Agata Murawska | Export example |
142 | 54f834df | Agata Murawska | ============== |
143 | 54f834df | Agata Murawska | |
144 | 54f834df | Agata Murawska | Exporting instance into ``.ovf`` format is pretty streightforward and |
145 | 54f834df | Agata Murawska | requires little - if any - explanation. The only compulsory detail is |
146 | 54f834df | Agata Murawska | the required disk format, provided using the ``--format`` option. |
147 | 54f834df | Agata Murawska | |
148 | 54f834df | Agata Murawska | Export to another Ganeti instance |
149 | 54f834df | Agata Murawska | --------------------------------- |
150 | 54f834df | Agata Murawska | If for some reason it is convenient for you to use ``ovfconverter`` to |
151 | 54f834df | Agata Murawska | move instance between clusters (e.g. because of the disk compression), |
152 | 54f834df | Agata Murawska | the complete example of export may look like this:: |
153 | 54f834df | Agata Murawska | |
154 | 54f834df | Agata Murawska | gnt-backup export -n node1.xen xen.test.i1 |
155 | 54f834df | Agata Murawska | [...] |
156 | 54f834df | Agata Murawska | ovfconverter export --format=vmdk --ova \ |
157 | 54f834df | Agata Murawska | /srv/ganeti/export/xen.i1.node1.xen/config.ini |
158 | 54f834df | Agata Murawska | [...] |
159 | 54f834df | Agata Murawska | |
160 | 54f834df | Agata Murawska | The result is then in |
161 | 54f834df | Agata Murawska | ``/srv/ganeti/export/xen.i1.node1.xen/xen.test.i1.ova`` |
162 | 54f834df | Agata Murawska | |
163 | 54f834df | Agata Murawska | Export to Virtualbox/VMWare/other external tool |
164 | 54f834df | Agata Murawska | ----------------------------------------------- |
165 | 54f834df | Agata Murawska | Typically, when exporting to external tool we do not want |
166 | 54f834df | Agata Murawska | Ganeti-specific configuration to be saved. In that case, simply use the |
167 | 54f834df | Agata Murawska | ``--external`` option:: |
168 | 54f834df | Agata Murawska | |
169 | 54f834df | Agata Murawska | gnt-backup export -n node1.xen xen.test.i1 |
170 | 54f834df | Agata Murawska | [...] |
171 | 54f834df | Agata Murawska | ovfconverter export --external --output-dir ~/ganeti-instance/ \ |
172 | 54f834df | Agata Murawska | /srv/ganeti/export/xen.i1.node1.xen/config.ini |
173 | 54f834df | Agata Murawska | |
174 | 54f834df | Agata Murawska | |
175 | 54f834df | Agata Murawska | Known issues |
176 | 54f834df | Agata Murawska | ============ |
177 | 54f834df | Agata Murawska | |
178 | a17deeab | Agata Murawska | Conversion errors |
179 | a17deeab | Agata Murawska | ----------------- |
180 | a17deeab | Agata Murawska | If you are encountering trouble when converting the disk, please ensure |
181 | a17deeab | Agata Murawska | that you have newest ``qemu-img`` version. |
182 | a17deeab | Agata Murawska | |
183 | a17deeab | Agata Murawska | OVA and compression |
184 | a17deeab | Agata Murawska | ------------------- |
185 | a17deeab | Agata Murawska | The compressed disks and OVA packaging do not work correctly in either |
186 | a17deeab | Agata Murawska | VirtualBox (old version) or VMWare. |
187 | a17deeab | Agata Murawska | |
188 | a17deeab | Agata Murawska | VirtualBox (3.16 OSE) does not seem to support those two, so there is |
189 | a17deeab | Agata Murawska | very little we can do about this. |
190 | a17deeab | Agata Murawska | |
191 | a17deeab | Agata Murawska | As for VMWare, the reason behind it not accepting compressed or packed |
192 | a17deeab | Agata Murawska | instances created by ovfconverter seems to be related to the old vmdk |
193 | a17deeab | Agata Murawska | version. |
194 | a17deeab | Agata Murawska | |
195 | a17deeab | Agata Murawska | Problems on newest VirtualBox |
196 | a17deeab | Agata Murawska | ----------------------------- |
197 | a17deeab | Agata Murawska | In Oracle VM Virtualbox 4.0+ there seems to be a problem when importing |
198 | a17deeab | Agata Murawska | any OVF instance created by ovfconverter. Reasons are again unknown, |
199 | a17deeab | Agata Murawska | this will be investigated. |
200 | a17deeab | Agata Murawska | |
201 | a17deeab | Agata Murawska | Disk space |
202 | a17deeab | Agata Murawska | ---------- |
203 | a17deeab | Agata Murawska | The disk space requirements for both import and export are at the moment |
204 | a17deeab | Agata Murawska | very large - we require free space up to about 3-4 times the size of |
205 | a17deeab | Agata Murawska | disks. This will most likely be changed in future versions. |
206 | 54f834df | Agata Murawska | |
207 | 54f834df | Agata Murawska | |
208 | 97c60815 | Agata Murawska | .. vim: set textwidth=72 : |
209 | 97c60815 | Agata Murawska | .. Local Variables: |
210 | 97c60815 | Agata Murawska | .. mode: rst |
211 | 97c60815 | Agata Murawska | .. fill-column: 72 |
212 | 97c60815 | Agata Murawska | .. End: |