openstack-manuals/doc/install-guide/ch_externals.xml
Andreas Jaeger 0fd34ec292 Fix links in install guide
Some external links have changed, fix them.

Change-Id: I9db86433e5ac240c30618429955e40a0f8e4072f
2013-09-11 22:24:35 +02:00

122 lines
6.9 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<chapter xml:id="externals"
xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
<title>Underlying Technologies</title>
<para>You can think of OpenStack Compute as a toolkit for building
a cloud computing environment by stitching together existing
Linux technologies.</para>
<para>The figures below shows two examples of how these underlying technologies can be assembled
to construct an OpenStack Compute cloud. The circles are Linux services that are part of
OpenStack Compute, and the rectangles are external (not maintained by the OpenStack project)
components. Solid lines show interactions between OpenStack components and external
components, and dashed lines show interactions between external components. All services
that are part of OpenStack Compute interact with a queueing backend (e.g., RabbitMQ, Qpid)
and a database backend (e.g., MySQL, PostgreSQL); these connections are not shown. Also not
shown are services that do not explicitly rely on external technologies. For example, the
<systemitem class="service">nova-api</systemitem> service, the Identity service, and the
Image service are not shown.</para>
<figure><title>Underlying technologies (Scenario 1)</title>
<mediaobject>
<imageobject>
<imagedata fileref="figures/nova-external-1.png" scale="60" />
</imageobject>
</mediaobject>
</figure>
<figure><title>Underlying technologies (Scenario 2)</title>
<mediaobject>
<imageobject>
<imagedata fileref="figures/nova-external-2.png" scale="60" />
</imageobject>
</mediaobject>
</figure>
<para>Many of the external technologies can be substituted with other components, as shown in
the table below.<table frame="void">
<caption>Technologies and supported implementations</caption>
<col width="25%"/>
<col width="75%"/>
<thead>
<tr>
<th>Technology</th>
<th>Supported implementations</th>
</tr>
</thead>
<tbody>
<tr>
<td>Message queue</td>
<td>RabbitMQ, Qpid, ZeroMQ</td>
</tr>
<tr>
<td>Virtualization</td>
<td>xapi+XCP, xapi+XenServer, libvirt+KVM, libvirt+QEMU, libvirt+LXC,
libvirt+VMWare</td>
</tr>
<tr>
<td>iSCSI back-end</td>
<td>LVM+IET, LVM+tgt, Xen Storage Manager, SAN (Solaris, HP, SolidFire),
NexentaStor, NetApp, Ceph, Sheepdog</td>
</tr>
<tr>
<td>Database</td>
<td>MySQL, PostgreSQL, sqlite</td>
</tr>
<tr>
<td>Web server</td>
<td>Apache, Nginx</td>
</tr>
<tr>
<td>Session cache</td>
<td>memcache, any Django-supported database backend (e.g., MySQL, PostgreSQL,
sqlite)</td>
</tr>
</tbody>
</table></para>
<simplesect><title>nova-compute</title><para>The <systemitem class="service">nova-compute</systemitem> service depends on a virtualization
driver to manage virtual machines. By default, this driver is <emphasis role="italic"
>libvirt</emphasis>, which is used to drive <emphasis role="italic">KVM</emphasis>.
However, the libvirt driver can also drive other hypervisor technologies, and there is a
separate Xen virtualization driver for driving Xen-based virtual machines if configured
to use Xen Cloud Platform (XCP) or XenServer. <emphasis role="italic"
>Open-iscsi</emphasis> is used to mount remote block devices, also known as volumes.
Open-iscsi exposes these remote devices as local device files which can be attached to
instances.</para></simplesect>
<simplesect><title>nova-network</title>
<para>The <systemitem class="service">nova-network</systemitem> service depends on a number of
Linux networking technologies. It uses <emphasis role="italic">Linux bridging</emphasis>
to create network bridges to connect virtual machines to the physical networks. These
bridges may be associated with VLANs using <emphasis role="italic">Linux networking VLAN
support</emphasis>, if running in the VLAN networking mode. <emphasis role="italic"
>Iptables</emphasis> is used to implement security rules and implement NAT
functionality, which is used for providing instances with access to the metadata service
and for supporting floating IP addresses. <emphasis role="italic">Dnsmasq</emphasis> is
used as a DHCP server to hand out IP addresses to virtual machine instances, as well as
a DNS server.</para>
<para>While nova-network continues to be available, it is not actively developed, as the
OpenStack Networking (code-named Neutron) project is its replacement. Use one or the
other in your installation.</para>
</simplesect>
<simplesect>
<title>OpenStack Networking (Neutron)</title>
<para>The OpenStack Networking service also depends on Linux networking technologies, using
a plugin mechanism. Read more about it in the <link xlink:href="http://docs.openstack.org/network-admin/admin/content/index.html">OpenStack Networking
Administration Guide</link>.</para>
</simplesect>
<simplesect>
<title>OpenStack Block Storage (Cinder)</title>
<para>By default, <systemitem class="service">Cinder</systemitem> service uses <emphasis
role="italic">LVM</emphasis> to create and manage local volumes, and exports them
via iSCSI using <emphasis role="italic">IET</emphasis> or <emphasis role="italic">tgt</emphasis>.
It can also be configured to use other iSCSI-based storage technologies.</para>
</simplesect>
<simplesect>
<title>openstack-dashboard (Horizon)</title>
<para>The <systemitem class="service">openstack-dashboard</systemitem> is a Django-based
application that runs behind an <emphasis role="italic">Apache</emphasis> web server by
default. It uses <emphasis role="italic">memcache</emphasis> for the session cache by
default. A web-based VNC client called <emphasis role="italic">novnc</emphasis> is used
to provide access to the VNC consoles associated with the running KVM instances.</para>
</simplesect>
</chapter>