Statistics
| Branch: | Tag: | Revision:

root / INSTALL @ grnet-2.4-ippool-devel

History | View | Annotate | Download (4.4 kB)

1 c27ba1cc Michael Hanselmann
Ganeti quick installation guide
2 c27ba1cc Michael Hanselmann
===============================
3 4096472d Iustin Pop
4 c27ba1cc Michael Hanselmann
Please note that a more detailed installation procedure is described in
5 c27ba1cc Michael Hanselmann
the :doc:`install`. A glossary of terms can be found in the
6 c27ba1cc Michael Hanselmann
:doc:`glossary`.
7 4096472d Iustin Pop
8 4096472d Iustin Pop
9 bd785ecd Michael Hanselmann
Software Requirements
10 c27ba1cc Michael Hanselmann
---------------------
11 a8083063 Iustin Pop
12 a8083063 Iustin Pop
Before installing, please verify that you have the following programs:
13 c27ba1cc Michael Hanselmann
14 c4b2b2e2 Guido Trotter
- `Xen Hypervisor <http://www.xen.org/>`_, version 3.0 or above, if
15 c4b2b2e2 Guido Trotter
  running on Xen
16 c4b2b2e2 Guido Trotter
- `KVM Hypervisor <http://www.linux-kvm.org>`_, version 72 or above, if
17 c4b2b2e2 Guido Trotter
  running on KVM. In order to use advanced features, such as live
18 c4b2b2e2 Guido Trotter
  migration, virtio, etc, an even newer version is recommended (qemu-kvm
19 c4b2b2e2 Guido Trotter
  versions 0.11.X or above have shown good behavior).
20 c27ba1cc Michael Hanselmann
- `DRBD <http://www.drbd.org/>`_, kernel module and userspace utils,
21 c27ba1cc Michael Hanselmann
  version 8.0.7 or above
22 c27ba1cc Michael Hanselmann
- `LVM2 <http://sourceware.org/lvm2/>`_
23 c27ba1cc Michael Hanselmann
- `OpenSSH <http://www.openssh.com/portable.html>`_
24 c27ba1cc Michael Hanselmann
- `bridge utilities <http://www.linuxfoundation.org/en/Net:Bridge>`_
25 c27ba1cc Michael Hanselmann
- `iproute2 <http://www.linuxfoundation.org/en/Net:Iproute2>`_
26 c27ba1cc Michael Hanselmann
- `arping <http://www.skbuff.net/iputils/>`_ (part of iputils)
27 69affe73 Manuel Franceschini
- `ndisc6 <http://www.remlab.net/ndisc6/>`_ (if using IPv6)
28 c27ba1cc Michael Hanselmann
- `Python <http://www.python.org/>`_, version 2.4 or above, not 3.0
29 c27ba1cc Michael Hanselmann
- `Python OpenSSL bindings <http://pyopenssl.sourceforge.net/>`_
30 c27ba1cc Michael Hanselmann
- `simplejson Python module <http://code.google.com/p/simplejson/>`_
31 c27ba1cc Michael Hanselmann
- `pyparsing Python module <http://pyparsing.wikispaces.com/>`_
32 c27ba1cc Michael Hanselmann
- `pyinotify Python module <http://trac.dbzteam.org/pyinotify/>`_
33 2a7c3583 Michael Hanselmann
- `PycURL Python module <http://pycurl.sourceforge.net/>`_
34 b447ab51 Luca Bigliardi
- `ctypes Python module
35 b447ab51 Luca Bigliardi
  <http://starship.python.net/crew/theller/ctypes/>`_, if running on
36 b447ab51 Luca Bigliardi
  python 2.4 (optional, used for node daemon memory locking)
37 e90739d6 Michael Hanselmann
- `socat <http://www.dest-unreach.org/socat/>`_, see :ref:`note
38 e90739d6 Michael Hanselmann
  <socat-note>` below
39 a40b1fc4 René Nussbaumer
- `Paramiko <http://www.lag.net/paramiko/>`_, if you want automated SSH
40 a40b1fc4 René Nussbaumer
  setup; optional otherwise but manual setup of the nodes required
41 c27ba1cc Michael Hanselmann
42 c27ba1cc Michael Hanselmann
These programs are supplied as part of most Linux distributions, so
43 c27ba1cc Michael Hanselmann
usually they can be installed via the standard package manager. Also
44 c27ba1cc Michael Hanselmann
many of them will already be installed on a standard machine. On
45 c27ba1cc Michael Hanselmann
Debian/Ubuntu, you can use this command line to install all required
46 c27ba1cc Michael Hanselmann
packages, except for DRBD and Xen::
47 c27ba1cc Michael Hanselmann
48 c27ba1cc Michael Hanselmann
  $ apt-get install lvm2 ssh bridge-utils iproute iputils-arping \
49 69affe73 Manuel Franceschini
                    ndisc6 python python-pyopenssl openssl \
50 69affe73 Manuel Franceschini
                    python-pyparsing python-simplejson \
51 69affe73 Manuel Franceschini
                    python-pyinotify python-pycurl socat
52 c27ba1cc Michael Hanselmann
53 c27ba1cc Michael Hanselmann
If you want to build from source, please see doc/devnotes.rst for more
54 c27ba1cc Michael Hanselmann
dependencies.
55 5cd0d9c0 Iustin Pop
56 e90739d6 Michael Hanselmann
.. _socat-note:
57 e90739d6 Michael Hanselmann
.. note::
58 e90739d6 Michael Hanselmann
  Ganeti's import/export functionality uses ``socat`` with OpenSSL for
59 e90739d6 Michael Hanselmann
  transferring data between nodes. By default, OpenSSL 0.9.8 and above
60 e90739d6 Michael Hanselmann
  employ transparent compression of all data using zlib if supported by
61 e90739d6 Michael Hanselmann
  both sides of a connection. In cases where a lot of data is
62 e90739d6 Michael Hanselmann
  transferred, this can lead to an increased CPU usage. Additionally,
63 e90739d6 Michael Hanselmann
  Ganeti already compresses all data using ``gzip`` where it makes sense
64 e90739d6 Michael Hanselmann
  (for inter-cluster instance moves).
65 e90739d6 Michael Hanselmann
66 e90739d6 Michael Hanselmann
  To remedey this situation, patches implementing a new ``socat`` option
67 e90739d6 Michael Hanselmann
  for disabling OpenSSL compression have been contributed and will
68 e90739d6 Michael Hanselmann
  likely be included in the next feature release. Until then, users or
69 e90739d6 Michael Hanselmann
  distributions need to apply the patches on their own.
70 e90739d6 Michael Hanselmann
71 e90739d6 Michael Hanselmann
  Ganeti will use the option if it's detected by the ``configure``
72 e90739d6 Michael Hanselmann
  script; auto-detection can be disabled by explicitely passing
73 e90739d6 Michael Hanselmann
  ``--enable-socat-compress`` (use the option to disable compression) or
74 e90739d6 Michael Hanselmann
  ``--disable-socat-compress`` (don't use the option).
75 e90739d6 Michael Hanselmann
76 e90739d6 Michael Hanselmann
  The patches and more information can be found on
77 e90739d6 Michael Hanselmann
  http://www.dest-unreach.org/socat/contrib/socat-opensslcompress.html.
78 e90739d6 Michael Hanselmann
79 bd785ecd Michael Hanselmann
80 bd785ecd Michael Hanselmann
Installation of the software
81 c27ba1cc Michael Hanselmann
----------------------------
82 c27ba1cc Michael Hanselmann
83 c27ba1cc Michael Hanselmann
To install, simply run the following command::
84 a8083063 Iustin Pop
85 c27ba1cc Michael Hanselmann
  ./configure --localstatedir=/var --sysconfdir=/etc && \
86 c27ba1cc Michael Hanselmann
  make && \
87 c27ba1cc Michael Hanselmann
  make install
88 a8083063 Iustin Pop
89 c27ba1cc Michael Hanselmann
This will install the software under ``/usr/local``. You then need to
90 c27ba1cc Michael Hanselmann
copy ``doc/examples/ganeti.initd`` to ``/etc/init.d/ganeti`` and
91 c27ba1cc Michael Hanselmann
integrate it into your boot sequence (``chkconfig``, ``update-rc.d``,
92 c27ba1cc Michael Hanselmann
etc.).
93 a8083063 Iustin Pop
94 bd785ecd Michael Hanselmann
95 a8083063 Iustin Pop
Cluster initialisation
96 c27ba1cc Michael Hanselmann
----------------------
97 a8083063 Iustin Pop
98 c27ba1cc Michael Hanselmann
Before initialising the cluster, on each node you need to create the
99 c27ba1cc Michael Hanselmann
following directories:
100 a8083063 Iustin Pop
101 c27ba1cc Michael Hanselmann
- ``/etc/ganeti``
102 c27ba1cc Michael Hanselmann
- ``/var/lib/ganeti``
103 c27ba1cc Michael Hanselmann
- ``/var/log/ganeti``
104 c27ba1cc Michael Hanselmann
- ``/srv/ganeti``
105 c27ba1cc Michael Hanselmann
- ``/srv/ganeti/os``
106 c27ba1cc Michael Hanselmann
- ``/srv/ganeti/export``
107 a8083063 Iustin Pop
108 a8083063 Iustin Pop
After this, use ``gnt-cluster init``.
109 c27ba1cc Michael Hanselmann
110 c27ba1cc Michael Hanselmann
.. vim: set textwidth=72 syntax=rst :
111 c27ba1cc Michael Hanselmann
.. Local Variables:
112 c27ba1cc Michael Hanselmann
.. mode: rst
113 c27ba1cc Michael Hanselmann
.. fill-column: 72
114 c27ba1cc Michael Hanselmann
.. End: