Updates for Object Storage
- Replaces old diagram, updates with network diagram combined (needs work) - Fixes missing Ubuntu package name - Fixes lack of regions mention - Various captialization and style guide updates Closes-Bug: 1285623 Closes-Bug: 1298508 Change-Id: Ibcfc05a1e1bfbcf2a7e119a6baae44eb8c8c8918
@@ -1,75 +1,75 @@
|
||||
<chapter 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"
|
||||
xml:id="ch_basics">
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="ch_basics">
|
||||
<?dbhtml-stop-chunking?>
|
||||
<title>Basic operating system configuration</title>
|
||||
<warning>
|
||||
<para>We are updating this material for Icehouse. You may find structure
|
||||
and/or content issues during this process.</para>
|
||||
</warning>
|
||||
<para>This guide shows you how to create a controller node to host
|
||||
most services and a compute node to run virtual machine instances.
|
||||
Subsequent chapters create additional nodes to run more services.
|
||||
OpenStack is flexible about how and where you run each service, so
|
||||
other configurations are possible. However, you must configure
|
||||
certain operating system settings on each node.</para>
|
||||
<para>This chapter details a sample configuration for the controller
|
||||
node and any additional nodes. You can configure the operating
|
||||
system in other ways, but this guide assumes that your
|
||||
configuration is compatible with the one described here.</para>
|
||||
<para>All example commands assume you have administrative
|
||||
privileges. Either run the commands as the root user or prefix
|
||||
them with the <command>sudo</command> command.</para>
|
||||
<para>This guide shows you how to create a controller node to host most
|
||||
services and a compute node to run virtual machine instances. Subsequent
|
||||
chapters create additional nodes to run more services. OpenStack is flexible
|
||||
about how and where you run each service, so other configurations are
|
||||
possible. However, you must configure certain operating system settings on
|
||||
each node.</para>
|
||||
<note>
|
||||
<para>You can install OpenStack Object Storage with OpenStack Identity as a
|
||||
starting point rather than installing OpenStack Compute. You cannot use
|
||||
the OpenStack dashboard unless you also install Compute and the Image
|
||||
Service. If object storage is your use case, you can skip these operating
|
||||
system configuration requirements and refer to <link
|
||||
linkend="object-storage-system-requirements"/> instead.</para>
|
||||
</note>
|
||||
<para>This chapter details a sample configuration for the controller node and
|
||||
any additional nodes. You can configure the operating system in other ways,
|
||||
but this guide assumes that your configuration is compatible with the one
|
||||
described here.</para>
|
||||
<para>All example commands assume you have administrative privileges. Either
|
||||
run the commands as the root user or prefix them with the
|
||||
<command>sudo</command> command.</para>
|
||||
|
||||
|
||||
<section xml:id="before-you-begin">
|
||||
<title>Before you begin</title>
|
||||
|
||||
<para>We strongly recommend that you install a 64-bit operating system on
|
||||
your compute nodes. If you use a 32-bit operating system,
|
||||
attempting a start a virtual machine using a 64-bit image will fail
|
||||
with an error.</para>
|
||||
your compute nodes. If you use a 32-bit operating system, attempting a
|
||||
start a virtual machine using a 64-bit image will fail with an
|
||||
error.</para>
|
||||
|
||||
<para>For more information about system requirements, see the <link
|
||||
xlink:href="http://docs.openstack.org/ops/">OpenStack Operations
|
||||
Guide</link>.
|
||||
</para>
|
||||
Guide</link>.</para>
|
||||
</section>
|
||||
|
||||
<section xml:id="basics-networking">
|
||||
<title>Networking</title>
|
||||
|
||||
<para>For an OpenStack production deployment, most nodes must have
|
||||
these network interface cards:</para>
|
||||
<para>For an OpenStack production deployment, most nodes must have these
|
||||
network interface cards:</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>One network interface card for external network traffic
|
||||
</para>
|
||||
<para>One network interface card for external network traffic.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Another card to communicate with other OpenStack
|
||||
nodes.</para>
|
||||
<para>Another card to communicate with other OpenStack nodes.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
<para>For simple test cases, you can use machines with a single
|
||||
network interface card.</para>
|
||||
<para>The following example configures Networking on two networks
|
||||
with <glossterm baseform="static IP address">static IP addresses</glossterm>
|
||||
and manually manages a list of host
|
||||
names on each machine. If you manage a large network, you might
|
||||
already have systems in place to manage this. If so, you can
|
||||
skip this section but note that the rest of this guide assumes
|
||||
that each node can reach the other nodes on the internal network
|
||||
by using the <literal>controller</literal> and
|
||||
<literal>compute1</literal> host names.</para>
|
||||
<para>For simple test cases, you can use machines with a single network
|
||||
interface card.</para>
|
||||
<para>The following example configures Networking on two networks with
|
||||
<glossterm baseform="static IP address">static IP addresses</glossterm>
|
||||
and manually manages a list of host names on each machine. If you manage a
|
||||
large network, you might already have systems in place to manage this. If
|
||||
so, you can skip this section but note that the rest of this guide assumes
|
||||
that each node can reach the other nodes on the internal network by using
|
||||
the <literal>controller</literal> and <literal>compute1</literal> host
|
||||
names.</para>
|
||||
<!-- these fedora only paragraphs are confirmed not needed in centos -->
|
||||
<para os="fedora">Disable the <systemitem class="service"
|
||||
>NetworkManager</systemitem> service and enable the
|
||||
<systemitem class="service">network</systemitem> service. The
|
||||
<systemitem class="service">network</systemitem> service is
|
||||
more suitable for the static network configuration done in this
|
||||
guide.</para>
|
||||
>NetworkManager</systemitem> service and enable the <systemitem
|
||||
class="service">network</systemitem> service. The <systemitem
|
||||
class="service">network</systemitem> service is more suitable for the
|
||||
static network configuration done in this guide.</para>
|
||||
|
||||
<screen os="fedora"><prompt>#</prompt> <userinput>service NetworkManager stop</userinput>
|
||||
<prompt>#</prompt> <userinput>service network start</userinput>
|
||||
@@ -77,47 +77,45 @@
|
||||
<prompt>#</prompt> <userinput>chkconfig network on</userinput></screen>
|
||||
<note os="fedora">
|
||||
<para>Since Fedora 19, <literal>firewalld</literal> replaces
|
||||
<literal>iptables</literal> as the default firewall
|
||||
system.</para>
|
||||
<para>You can use <literal>firewalld</literal> successfully, but
|
||||
this guide recommends and demonstrates the use of the default
|
||||
<literal>iptables</literal> as the default firewall system.</para>
|
||||
<para>You can use <literal>firewalld</literal> successfully, but this
|
||||
guide recommends and demonstrates the use of the default
|
||||
<literal>iptables</literal>.</para>
|
||||
<para>For Fedora 19 systems, run the following commands to
|
||||
disable <literal>firewalld</literal> and enable
|
||||
<para>For Fedora 19 systems, run the following commands to disable
|
||||
<literal>firewalld</literal> and enable
|
||||
<literal>iptables</literal>:</para>
|
||||
<screen><prompt>#</prompt> <userinput>service firewalld stop</userinput>
|
||||
<prompt>#</prompt> <userinput>service iptables start</userinput>
|
||||
<prompt>#</prompt> <userinput>chkconfig firewalld off</userinput>
|
||||
<prompt>#</prompt> <userinput>chkconfig iptables on</userinput></screen>
|
||||
</note>
|
||||
<warning os="centos;rhel"><para>
|
||||
RHEL and derivatives including CentOS and Scientific Linux enable a
|
||||
<warning os="centos;rhel">
|
||||
<para>RHEL and derivatives including CentOS and Scientific Linux enable a
|
||||
restrictive <glossterm>firewall</glossterm> by default. During this
|
||||
installation, certain steps
|
||||
will fail unless you alter this setting or disable the firewall. For
|
||||
further information about securing your installation, refer to the
|
||||
<link xlink:href="http://docs.openstack.org/sec/">OpenStack Security Guide</link>.</para>
|
||||
installation, certain steps will fail unless you alter this setting or
|
||||
disable the firewall. For further information about securing your
|
||||
installation, refer to the <link
|
||||
xlink:href="http://docs.openstack.org/sec/">OpenStack Security
|
||||
Guide</link>.</para>
|
||||
</warning>
|
||||
<para os="opensuse;sles">When you set up your system, use the
|
||||
traditional network scripts and do not use <systemitem
|
||||
class="service">NetworkManager</systemitem>. You can change
|
||||
the settings after installation with the YaST network
|
||||
module:</para>
|
||||
<para os="opensuse;sles">When you set up your system, use the traditional
|
||||
network scripts and do not use <systemitem class="service"
|
||||
>NetworkManager</systemitem>. You can change the settings after
|
||||
installation with the YaST network module:</para>
|
||||
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>yast2 network</userinput></screen>
|
||||
<para>Configure both <literal>eth0</literal> and
|
||||
<literal>eth1</literal>. The examples in this guide use the
|
||||
<literal>192.168.0.<replaceable>x</replaceable></literal> IP
|
||||
addresses for the internal network and the
|
||||
<literal>10.0.0.<replaceable>x</replaceable></literal> IP
|
||||
addresses for the external network. Make sure to connect your
|
||||
network devices to the correct network.</para>
|
||||
<para>Configure both <literal>eth0</literal> and <literal>eth1</literal>.
|
||||
The examples in this guide use the
|
||||
<literal>192.168.0.<replaceable>x</replaceable></literal> IP addresses
|
||||
for the internal network and the
|
||||
<literal>10.0.0.<replaceable>x</replaceable></literal> IP addresses
|
||||
for the external network. Make sure to connect your network devices to the
|
||||
correct network.</para>
|
||||
<para>In this guide, the controller node uses the
|
||||
<literal>192.168.0.10</literal> and
|
||||
<literal>10.0.0.10</literal> IP addresses. When you create the
|
||||
compute node, use the <literal>192.168.0.11</literal> and
|
||||
<literal>10.0.0.11</literal> addresses instead. Additional
|
||||
nodes that you add in subsequent chapters also follow this
|
||||
pattern.</para>
|
||||
<literal>192.168.0.10</literal> and <literal>10.0.0.10</literal> IP
|
||||
addresses. When you create the compute node, use the
|
||||
<literal>192.168.0.11</literal> and <literal>10.0.0.11</literal>
|
||||
addresses instead. Additional nodes that you add in subsequent chapters
|
||||
also follow this pattern.</para>
|
||||
<figure xml:id="basic-architecture-networking">
|
||||
<title>Basic architecture</title>
|
||||
<mediaobject>
|
||||
@@ -149,22 +147,20 @@ NETMASK=255.255.255.0
|
||||
DEFROUTE=yes
|
||||
ONBOOT=yes</programlisting>
|
||||
</example>
|
||||
<para os="opensuse;sles">To configure the network interfaces,
|
||||
start the YaST network module, as follows:</para>
|
||||
<para os="opensuse;sles">To configure the network interfaces, start the YaST
|
||||
network module, as follows:</para>
|
||||
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>yast2 network</userinput></screen>
|
||||
<itemizedlist os="opensuse;sles">
|
||||
<listitem>
|
||||
<para>Use these parameters to set up the
|
||||
<literal>eth0</literal> ethernet card for the internal
|
||||
network:</para>
|
||||
<para>Use these parameters to set up the <literal>eth0</literal>
|
||||
Ethernet card for the internal network:</para>
|
||||
<programlisting>Statically assigned IP Address
|
||||
IP Address: 192.168.0.10
|
||||
Subnet Mask: 255.255.255.0</programlisting>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Use these parameters to set up the
|
||||
<literal>eth1</literal> ethernet card for the external
|
||||
network:</para>
|
||||
<para>Use these parameters to set up the <literal>eth1</literal>
|
||||
Ethernet card for the external network:</para>
|
||||
<programlisting>Statically assigned IP Address
|
||||
IP Address: 10.0.0.10
|
||||
Subnet Mask: 255.255.255.0</programlisting>
|
||||
@@ -188,94 +184,83 @@ iface eth1 inet static
|
||||
address 10.0.0.10
|
||||
netmask 255.255.255.0</programlisting>
|
||||
</example>
|
||||
|
||||
<para>After you configure the network, restart the daemon for
|
||||
changes to take effect:</para>
|
||||
|
||||
<para>After you configure the network, restart the daemon for changes to
|
||||
take effect:</para>
|
||||
<screen os="ubuntu;debian"><prompt>#</prompt> <userinput>service networking restart</userinput></screen>
|
||||
<screen os="fedora;rhel;centos;opensuse;sles"><prompt>#</prompt> <userinput>service network restart</userinput></screen>
|
||||
|
||||
<para>Set the host name of each machine. Name the controller node
|
||||
<literal>controller</literal> and the first compute node
|
||||
<literal>compute1</literal>. The examples in this guide use
|
||||
these host names.</para>
|
||||
<literal>compute1</literal>. The examples in this guide use these host
|
||||
names.</para>
|
||||
<para os="ubuntu;debian;fedora;rhel;centos">Use the
|
||||
<command>hostname</command> command to set the host name:
|
||||
<screen><prompt>#</prompt> <userinput>hostname controller</userinput></screen></para>
|
||||
<para os="opensuse;sles">Use <command>yast network</command> to
|
||||
set the host name with YaST.</para>
|
||||
<para os="rhel;fedora;centos">To have the host name change persist
|
||||
when the system reboots, you must specify it in the proper
|
||||
configuration file. In Red Hat Enterprise Linux, CentOS, and
|
||||
older versions of Fedora, you set this in the file
|
||||
<filename>/etc/sysconfig/network</filename>. Change the line
|
||||
starting with <literal>HOSTNAME=</literal>.</para>
|
||||
<para os="opensuse;sles">Use <command>yast network</command> to set the host
|
||||
name with YaST.</para>
|
||||
<para os="rhel;fedora;centos">To have the host name change persist when the
|
||||
system reboots, you must specify it in the proper configuration file. In
|
||||
Red Hat Enterprise Linux, CentOS, and older versions of Fedora, you set
|
||||
this in the file <filename>/etc/sysconfig/network</filename>. Change the
|
||||
line starting with <literal>HOSTNAME=</literal>.</para>
|
||||
<programlisting language="ini" os="rhel;fedora;centos">HOSTNAME=controller</programlisting>
|
||||
<para os="fedora">As of Fedora 18, Fedora uses the
|
||||
<filename>/etc/hostname</filename> file, which contains a
|
||||
single line with the host name.</para>
|
||||
<para os="ubuntu;debian">To configure this host name to be
|
||||
available when the system reboots, you must specify it in the
|
||||
<filename>/etc/hostname</filename> file, which contains a
|
||||
single line with the host name.</para>
|
||||
<para>Finally, ensure that each node can reach the other nodes by
|
||||
using host names. You must manually edit the
|
||||
<filename>/etc/hosts</filename> file on each system. For
|
||||
large-scale deployments, use DNS or a configuration management
|
||||
system like Puppet.</para>
|
||||
<filename>/etc/hostname</filename> file, which contains a single line
|
||||
with the host name.</para>
|
||||
<para os="ubuntu;debian">To configure this host name to be available when
|
||||
the system reboots, you must specify it in the
|
||||
<filename>/etc/hostname</filename> file, which contains a single line
|
||||
with the host name.</para>
|
||||
<para>Finally, ensure that each node can reach the other nodes by using host
|
||||
names. You must manually edit the <filename>/etc/hosts</filename> file on
|
||||
each system. For large-scale deployments, use DNS or a configuration
|
||||
management system like Puppet.</para>
|
||||
<programlisting>127.0.0.1 localhost
|
||||
192.168.0.10 controller
|
||||
192.168.0.11 compute1</programlisting>
|
||||
</section>
|
||||
<section xml:id="basics-ntp">
|
||||
<title>Network Time Protocol (NTP)</title>
|
||||
<para>To synchronize services across multiple machines, you must
|
||||
install <glossterm baseform="Network Time Protocol (NTP)">NTP</glossterm>.
|
||||
The examples in this guide configure the controller
|
||||
node as the reference server and any additional nodes to set
|
||||
their time from the controller node.</para>
|
||||
<para>Install the <literal>ntp</literal> package on each system
|
||||
running OpenStack services.</para>
|
||||
<para>To synchronize services across multiple machines, you must install
|
||||
<glossterm baseform="Network Time Protocol (NTP)">NTP</glossterm>. The
|
||||
examples in this guide configure the controller node as the reference
|
||||
server and any additional nodes to set their time from the controller
|
||||
node.</para>
|
||||
<para>Install the <literal>ntp</literal> package on each system running
|
||||
OpenStack services.</para>
|
||||
<screen os="ubuntu;debian"><prompt>#</prompt> <userinput>apt-get install ntp</userinput></screen>
|
||||
<screen os="rhel;fedora;centos"><prompt>#</prompt> <userinput>yum install ntp</userinput></screen>
|
||||
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>zypper install ntp</userinput></screen>
|
||||
<para os="rhel;fedora;centos;opensuse;sles">Set up the NTP server
|
||||
on your controller node so that it receives data by modifying
|
||||
the <filename>ntp.conf</filename> file and restarting the
|
||||
service.</para>
|
||||
<para os="rhel;fedora;centos;opensuse;sles">Set up the NTP server on your
|
||||
controller node so that it receives data by modifying the
|
||||
<filename>ntp.conf</filename> file and restarting the service.</para>
|
||||
<screen os="rhel;fedora;centos;opensuse;sles"><prompt>#</prompt> <userinput>service ntpd start</userinput>
|
||||
<prompt>#</prompt> <userinput>chkconfig ntpd on</userinput></screen>
|
||||
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>service ntp start</userinput>
|
||||
<prompt>#</prompt> <userinput>chkconfig ntp on</userinput></screen>
|
||||
<para>On additional nodes, it is advised that you configure the
|
||||
other nodes to synchronize their time from the controller node
|
||||
rather than from outside of your LAN. To do so, install the ntp
|
||||
daemon as above, then edit <filename>/etc/ntp.conf</filename>
|
||||
and change the <code>server</code> directive to use the
|
||||
controller node as internet time source.</para>
|
||||
<para>On additional nodes, it is advised that you configure the other nodes
|
||||
to synchronize their time from the controller node rather than from
|
||||
outside of your LAN. To do so, install the ntp daemon as above, then edit
|
||||
<filename>/etc/ntp.conf</filename> and change the <code>server</code>
|
||||
directive to use the controller node as internet time source.</para>
|
||||
</section>
|
||||
|
||||
<section xml:id="basics-passwords" os="ubuntu;rhel;fedora;centos;opensuse;sles">
|
||||
<section xml:id="basics-passwords"
|
||||
os="ubuntu;rhel;fedora;centos;opensuse;sles">
|
||||
<title>Passwords</title>
|
||||
<para>The various OpenStack services and the required software like the
|
||||
database and the messaging server have to be password protected. You use
|
||||
these passwords when configuring a service and then again to access the
|
||||
service. You have to choose a password while configuring the
|
||||
service and later remember to use the same password when accessing it.
|
||||
Optionally, you can generate random passwords with the
|
||||
<application>pwgen</application> program. Or, to create passwords one at a
|
||||
time, use the output of this command repeatedly:
|
||||
service. You have to choose a password while configuring the service and
|
||||
later remember to use the same password when accessing it. Optionally, you
|
||||
can generate random passwords with the <application>pwgen</application>
|
||||
program. Or, to create passwords one at a time, use the output of this
|
||||
command repeatedly:
|
||||
<screen><prompt>$</prompt> <userinput>openssl rand -hex 10</userinput></screen>
|
||||
</para>
|
||||
|
||||
<para>This guide uses the convention that
|
||||
<literal><replaceable>SERVICE_PASS</replaceable></literal> is
|
||||
password to access the service <literal>SERVICE</literal> and
|
||||
<literal><replaceable>SERVICE_DBPASS</replaceable></literal> is
|
||||
the database password used by the service SERVICE to access the
|
||||
database.
|
||||
</para>
|
||||
|
||||
<literal><replaceable>SERVICE_PASS</replaceable></literal> is password
|
||||
to access the service <literal>SERVICE</literal> and
|
||||
<literal><replaceable>SERVICE_DBPASS</replaceable></literal> is the
|
||||
database password used by the service SERVICE to access the database.</para>
|
||||
<para>The complete list of passwords you need to define in this guide are:
|
||||
<table rules="all">
|
||||
<caption>Passwords</caption>
|
||||
@@ -328,7 +313,8 @@ iface eth1 inet static
|
||||
</tr>
|
||||
<tr>
|
||||
<td><literal><replaceable>CINDER_PASS</replaceable></literal></td>
|
||||
<td>Password of Block Storage service user <literal>cinder</literal></td>
|
||||
<td>Password of Block Storage service user
|
||||
<literal>cinder</literal></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><literal><replaceable>NEUTRON_DBPASS</replaceable></literal></td>
|
||||
@@ -336,7 +322,8 @@ iface eth1 inet static
|
||||
</tr>
|
||||
<tr>
|
||||
<td><literal><replaceable>NEUTRON_PASS</replaceable></literal></td>
|
||||
<td>Password of Networking service user <literal>neutron</literal></td>
|
||||
<td>Password of Networking service user
|
||||
<literal>neutron</literal></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><literal><replaceable>HEAT_DBPASS</replaceable></literal></td>
|
||||
@@ -344,7 +331,8 @@ iface eth1 inet static
|
||||
</tr>
|
||||
<tr>
|
||||
<td><literal><replaceable>HEAT_PASS</replaceable></literal></td>
|
||||
<td>Password of Orchestration service user <literal>heat</literal></td>
|
||||
<td>Password of Orchestration service user
|
||||
<literal>heat</literal></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><literal><replaceable>CEILOMETER_DBPASS</replaceable></literal></td>
|
||||
@@ -352,7 +340,8 @@ iface eth1 inet static
|
||||
</tr>
|
||||
<tr>
|
||||
<td><literal><replaceable>CEILOMETER_PASS</replaceable></literal></td>
|
||||
<td>Password of Telemetry service user <literal>ceilometer</literal></td>
|
||||
<td>Password of Telemetry service user
|
||||
<literal>ceilometer</literal></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -362,37 +351,34 @@ iface eth1 inet static
|
||||
<section xml:id="basics-database">
|
||||
<?dbhtml-stop-chunking?>
|
||||
<title>MySQL database</title>
|
||||
<para os="ubuntu;debian;rhel;fedora;centos">Most OpenStack
|
||||
services require a database to store information. These examples
|
||||
use a MySQL database that runs on the controller node. You must
|
||||
install the MySQL database on the controller node. You must
|
||||
install MySQL client software on any additional nodes that
|
||||
access MySQL.</para>
|
||||
<para os="opensuse;sles">Most OpenStack services require a
|
||||
database to store information. This guide uses a MySQL database
|
||||
on SUSE Linux Enterprise Server and a compatible database on
|
||||
openSUSE running on the controller node. This compatible
|
||||
database for openSUSE is MariaDB. You must install the MariaDB
|
||||
database on the controller node. You must install the MariaDB
|
||||
client software on any nodes that access the MariaDB
|
||||
database.</para>
|
||||
<para os="ubuntu;debian;rhel;fedora;centos">Most OpenStack services require
|
||||
a database to store information. These examples use a MySQL database that
|
||||
runs on the controller node. You must install the MySQL database on the
|
||||
controller node. You must install MySQL client software on any additional
|
||||
nodes that access MySQL.</para>
|
||||
<para os="opensuse;sles">Most OpenStack services require a database to store
|
||||
information. This guide uses a MySQL database on SUSE Linux Enterprise
|
||||
Server and a compatible database on openSUSE running on the controller
|
||||
node. This compatible database for openSUSE is MariaDB. You must install
|
||||
the MariaDB database on the controller node. You must install the MariaDB
|
||||
client software on any nodes that access the MariaDB database.</para>
|
||||
|
||||
<section xml:id="basics-database-controller">
|
||||
<title>Controller setup</title>
|
||||
<para><phrase os="sles">For SUSE Linux Enterprise Server:
|
||||
</phrase> On the controller node, install the MySQL client and
|
||||
server packages, and the Python library.</para>
|
||||
<para><phrase os="sles">For SUSE Linux Enterprise Server: </phrase> On the
|
||||
controller node, install the MySQL client and server packages, and the
|
||||
Python library.</para>
|
||||
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>zypper install mysql-client mysql python-mysql</userinput></screen>
|
||||
<para os="opensuse">For openSUSE: On the controller node,
|
||||
install the MariaDB client and database server packages,
|
||||
and the MySQL Python library.</para>
|
||||
<para os="opensuse">For openSUSE: On the controller node, install the
|
||||
MariaDB client and database server packages, and the MySQL Python
|
||||
library.</para>
|
||||
<screen os="opensuse"><prompt>#</prompt> <userinput>zypper install mariadb-client mariadb python-mysql</userinput></screen>
|
||||
<screen os="ubuntu;debian"><prompt>#</prompt> <userinput>apt-get install python-mysqldb mysql-server</userinput></screen>
|
||||
<screen os="rhel;fedora;centos"><prompt>#</prompt> <userinput>yum install mysql mysql-server MySQL-python</userinput></screen>
|
||||
<note os="ubuntu;debian">
|
||||
<para>When you install the server package, you are prompted
|
||||
for the root password for the database. Choose a strong
|
||||
password and remember it.</para>
|
||||
<para>When you install the server package, you are prompted for the root
|
||||
password for the database. Choose a strong password and remember
|
||||
it.</para>
|
||||
</note>
|
||||
<para>The MySQL configuration requires some changes to work with
|
||||
OpenStack.</para>
|
||||
@@ -406,8 +392,8 @@ iface eth1 inet static
|
||||
<step>
|
||||
<para>Under the <literal>[mysqld]</literal> section, set the
|
||||
<literal>bind-address</literal> key to the management IP
|
||||
address of the controller node to enable access by other
|
||||
nodes via the management network:</para>
|
||||
address of the controller node to enable access by other nodes
|
||||
via the management network:</para>
|
||||
<programlisting>[mysqld]
|
||||
...
|
||||
bind-address = 192.168.0.10</programlisting>
|
||||
@@ -426,140 +412,129 @@ character-set-server = utf8</programlisting>
|
||||
</substeps>
|
||||
</step>
|
||||
</procedure>
|
||||
<para os="ubuntu;debian">Restart the MySQL service to apply
|
||||
the changes:</para>
|
||||
<para os="ubuntu;debian">Restart the MySQL service to apply the
|
||||
changes:</para>
|
||||
<screen os="ubuntu;debian"><prompt>#</prompt> <userinput>service mysql restart</userinput></screen>
|
||||
<para os="rhel;centos;fedora;opensuse;sles">Start the <phrase
|
||||
os="rhel;fedora;centos">MySQL</phrase>
|
||||
<phrase os="opensuse;sles">MariaDB or MySQL</phrase> database
|
||||
server and set it to start automatically when the system
|
||||
boots.</para>
|
||||
<phrase os="opensuse;sles">MariaDB or MySQL</phrase> database server and
|
||||
set it to start automatically when the system boots.</para>
|
||||
<screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>service mysqld start</userinput>
|
||||
<prompt>#</prompt> <userinput>chkconfig mysqld on</userinput></screen>
|
||||
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>service mysql start</userinput>
|
||||
<prompt>#</prompt> <userinput>chkconfig mysql on</userinput></screen>
|
||||
<para os="rhel;centos;fedora;opensuse;sles">Finally, you should
|
||||
set a root password for your <phrase os="rhel;fedora;centos"
|
||||
>MySQL</phrase>
|
||||
<phrase os="opensuse;sles">MariaDB or MySQL</phrase> database.
|
||||
The OpenStack programs that set up databases and tables prompt
|
||||
you for this password if it is set.</para>
|
||||
<para os="ubuntu;debian;rhel;centos;fedora;opensuse;sles">You must
|
||||
delete the anonymous users that are created when the database is
|
||||
first started. Otherwise, database connection problems occur
|
||||
when you follow the instructions in this guide. To do this, use
|
||||
the <command>mysql_secure_installation</command> command.
|
||||
Note that if <command>mysql_secure_installation</command> fails
|
||||
you might need to use <command>mysql_install_db</command> first:</para>
|
||||
<para os="rhel;centos;fedora;opensuse;sles">Finally, you should set a root
|
||||
password for your <phrase os="rhel;fedora;centos">MySQL</phrase>
|
||||
<phrase os="opensuse;sles">MariaDB or MySQL</phrase> database. The
|
||||
OpenStack programs that set up databases and tables prompt you for this
|
||||
password if it is set.</para>
|
||||
<para os="ubuntu;debian;rhel;centos;fedora;opensuse;sles">You must delete
|
||||
the anonymous users that are created when the database is first started.
|
||||
Otherwise, database connection problems occur when you follow the
|
||||
instructions in this guide. To do this, use the
|
||||
<command>mysql_secure_installation</command> command. Note that if
|
||||
<command>mysql_secure_installation</command> fails you might need to
|
||||
use <command>mysql_install_db</command> first:</para>
|
||||
<screen os="ubuntu;debian;rhel;centos;fedora;opensuse;sles"><prompt>#</prompt> <userinput>mysql_install_db</userinput>
|
||||
<prompt>#</prompt> <userinput>mysql_secure_installation</userinput></screen>
|
||||
<para><phrase os="rhel;centos;fedora;opensuse;sles">If you have
|
||||
not already set a root database password, press
|
||||
<keycap>ENTER</keycap> when you are prompted for the
|
||||
password.</phrase> This command presents a number of options
|
||||
for you to secure your database installation. Respond
|
||||
<userinput>yes</userinput> to all prompts unless you have a
|
||||
good reason to do otherwise.</para>
|
||||
<para><phrase os="rhel;centos;fedora;opensuse;sles">If you have not
|
||||
already set a root database password, press <keycap>ENTER</keycap>
|
||||
when you are prompted for the password.</phrase> This command presents
|
||||
a number of options for you to secure your database installation.
|
||||
Respond <userinput>yes</userinput> to all prompts unless you have a good
|
||||
reason to do otherwise.</para>
|
||||
</section>
|
||||
|
||||
<section xml:id="basics-database-node">
|
||||
<title>Node setup</title>
|
||||
<para>On all nodes other than the controller node, install the
|
||||
<phrase os="ubuntu;debian;rhel;fedora;centos"
|
||||
>MySQL</phrase>
|
||||
<phrase os="opensuse">MariaDB (on openSUSE)</phrase> client
|
||||
and the MySQL Python library on any system that does not
|
||||
host a MySQL database:</para>
|
||||
<para>On all nodes other than the controller node, install the <phrase
|
||||
os="ubuntu;debian;rhel;fedora;centos">MySQL</phrase>
|
||||
<phrase os="opensuse">MariaDB (on openSUSE)</phrase> client and the
|
||||
MySQL Python library on any system that does not host a MySQL
|
||||
database:</para>
|
||||
<screen os="ubuntu;debian"><prompt>#</prompt> <userinput>apt-get install python-mysqldb</userinput></screen>
|
||||
<screen os="rhel;fedora;centos"><prompt>#</prompt> <userinput>yum install mysql MySQL-python</userinput></screen>
|
||||
<screen os="opensuse"><prompt>#</prompt> <userinput>zypper install mariadb-client python-mysql</userinput></screen>
|
||||
<para os="sles">For SUSE Linux Enterprise, install
|
||||
MySQL:</para>
|
||||
<para os="sles">For SUSE Linux Enterprise, install MySQL:</para>
|
||||
<screen os="sles"><prompt>#</prompt> <userinput>zypper install mysql-client python-mysql</userinput></screen>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section xml:id="basics-packages">
|
||||
<title>OpenStack packages</title>
|
||||
<para>Distributions might release OpenStack packages as part of
|
||||
their distribution or through other methods because the
|
||||
OpenStack and distribution release times are independent of each
|
||||
other.</para>
|
||||
<para>This section describes the configuration you must
|
||||
complete after you configure machines to install the latest
|
||||
OpenStack packages.</para>
|
||||
<para os="fedora;centos;rhel">The examples in this guide use the
|
||||
OpenStack packages from the RDO repository. These packages work
|
||||
on Red Hat Enterprise Linux 6, compatible versions of CentOS,
|
||||
and Fedora 20. To enable the RDO repository, download and
|
||||
install the <package>rdo-release-icehouse</package>
|
||||
package.</para>
|
||||
<para>Distributions might release OpenStack packages as part of their
|
||||
distribution or through other methods because the OpenStack and
|
||||
distribution release times are independent of each other.</para>
|
||||
<para>This section describes the configuration you must complete after you
|
||||
configure machines to install the latest OpenStack packages.</para>
|
||||
<para os="fedora;centos;rhel">The examples in this guide use the OpenStack
|
||||
packages from the RDO repository. These packages work on Red Hat
|
||||
Enterprise Linux 6, compatible versions of CentOS, and Fedora 20. To
|
||||
enable the RDO repository, download and install the
|
||||
<package>rdo-release-icehouse</package> package.</para>
|
||||
<screen os="fedora;centos;rhel"><prompt>#</prompt> <userinput>yum install http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/rdo-release-icehouse-1.noarch.rpm</userinput></screen>
|
||||
<para os="fedora;centos;rhel">The EPEL package includes GPG keys
|
||||
for package signing and repository information. This should only
|
||||
be installed on Red Hat Enterprise Linux and CentOS, not Fedora.
|
||||
Install the latest <package>epel-release</package> package (see
|
||||
<link
|
||||
<para os="fedora;centos;rhel">The EPEL package includes GPG keys for package
|
||||
signing and repository information. This should only be installed on Red
|
||||
Hat Enterprise Linux and CentOS, not Fedora. Install the latest
|
||||
<package>epel-release</package> package (see <link
|
||||
xlink:href="http://download.fedoraproject.org/pub/epel/6/x86_64/repoview/epel-release.html"
|
||||
>http://download.fedoraproject.org/pub/epel/6/x86_64/repoview/epel-release.html</link>).
|
||||
For example:</para>
|
||||
<screen os="fedora;centos;rhel"><prompt>#</prompt> <userinput>yum install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm</userinput></screen>
|
||||
<para os="fedora;centos;rhel">The
|
||||
<package>openstack-utils</package> package contains utility
|
||||
programs that make installation and configuration easier. These
|
||||
programs are used throughout this guide. Install
|
||||
<package>openstack-utils</package>. This verifies that you can
|
||||
access the RDO repository.</para>
|
||||
<para os="fedora;centos;rhel">The <package>openstack-utils</package> package
|
||||
contains utility programs that make installation and configuration easier.
|
||||
These programs are used throughout this guide. Install
|
||||
<package>openstack-utils</package>. This verifies that you can access
|
||||
the RDO repository.</para>
|
||||
<screen os="fedora;centos;rhel"><prompt>#</prompt> <userinput>yum install openstack-utils</userinput></screen>
|
||||
<para os="opensuse;sles">Use the Open Build Service repositories
|
||||
for <glossterm>Icehouse</glossterm> based on your openSUSE or
|
||||
SUSE Linux Enterprise
|
||||
Server version, for example if you run openSUSE 12.3 use:</para>
|
||||
<para os="opensuse;sles">Use the Open Build Service repositories for
|
||||
<glossterm>Icehouse</glossterm> based on your openSUSE or SUSE Linux
|
||||
Enterprise Server version, for example if you run openSUSE 12.3
|
||||
use:</para>
|
||||
<screen os="opensuse"><prompt>#</prompt> <userinput>zypper addrepo -f obs://Cloud:OpenStack:Icehouse/openSUSE_12.3 Icehouse</userinput></screen>
|
||||
<para os="opensuse">For openSUSE 13.1 use:</para>
|
||||
<screen os="opensuse"><prompt>#</prompt> <userinput>zypper addrepo -f obs://Cloud:OpenStack:Icehouse/openSUSE_13.1 Icehouse</userinput></screen>
|
||||
<para os="sles">If you use SUSE Linux Enterprise Server 11 SP3,
|
||||
use:</para>
|
||||
<para os="sles">If you use SUSE Linux Enterprise Server 11 SP3, use:</para>
|
||||
<screen os="sles"><prompt>#</prompt> <userinput>zypper addrepo -f obs://Cloud:OpenStack:Icehouse/SLE_11_SP3 Icehouse</userinput></screen>
|
||||
<para os="opensuse;sles">The <package>openstack-utils</package>
|
||||
package contains utility programs that make installation and
|
||||
configuration easier. These programs are used throughout this
|
||||
guide. Install <package>openstack-utils</package>. This verifies
|
||||
that you can access the Open Build Service repository:</para>
|
||||
<para os="opensuse;sles">The <package>openstack-utils</package> package
|
||||
contains utility programs that make installation and configuration easier.
|
||||
These programs are used throughout this guide. Install
|
||||
<package>openstack-utils</package>. This verifies that you can access
|
||||
the Open Build Service repository:</para>
|
||||
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>zypper install openstack-utils</userinput></screen>
|
||||
<warning os="fedora;centos;rhel;opensuse;sles">
|
||||
<para>The <application>openstack-config</application> program
|
||||
in the <package>openstack-utils</package> package uses
|
||||
<application>crudini</application> to manipulate configuration
|
||||
files. However, <application>crudini</application> version 0.3
|
||||
does not support multi valued options. See
|
||||
<link
|
||||
<para>The <application>openstack-config</application> program in the
|
||||
<package>openstack-utils</package> package uses
|
||||
<application>crudini</application> to manipulate configuration files.
|
||||
However, <application>crudini</application> version 0.3 does not support
|
||||
multi valued options. See <link
|
||||
xlink:href="https://bugs.launchpad.net/openstack-manuals/+bug/1269271"
|
||||
>https://bugs.launchpad.net/openstack-manuals/+bug/1269271</link>.
|
||||
As a work around, you must manually set any multi valued
|
||||
options or the new value overwrites the previous value instead
|
||||
of creating a new option.</para>
|
||||
>https://bugs.launchpad.net/openstack-manuals/+bug/1269271</link>. As
|
||||
a work around, you must manually set any multi valued options or the new
|
||||
value overwrites the previous value instead of creating a new
|
||||
option.</para>
|
||||
</warning>
|
||||
<para os="fedora;centos;rhel">The
|
||||
<package>openstack-selinux</package> package includes the
|
||||
policy files that are required to configure SELinux during
|
||||
OpenStack installation.
|
||||
Install <package>openstack-selinux</package>.</para>
|
||||
<para os="fedora;centos;rhel">The <package>openstack-selinux</package>
|
||||
package includes the policy files that are required to configure SELinux
|
||||
during OpenStack installation. Install
|
||||
<package>openstack-selinux</package>.</para>
|
||||
<screen os="fedora;centos;rhel"><prompt>#</prompt> <userinput>yum install openstack-selinux</userinput></screen>
|
||||
<para os="fedora;centos;rhel;opensuse;sles">Upgrade your system packages:</para>
|
||||
<para os="fedora;centos;rhel;opensuse;sles">Upgrade your system
|
||||
packages:</para>
|
||||
<screen os="fedora;centos;rhel"><prompt>#</prompt> <userinput>yum upgrade</userinput></screen>
|
||||
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>zypper refresh</userinput>
|
||||
<prompt>#</prompt> <userinput>zypper update</userinput></screen>
|
||||
<para os="fedora;centos;rhel;opensuse;sles">If the upgrade included a new
|
||||
kernel package, reboot the system to ensure the new kernel is running:</para>
|
||||
kernel package, reboot the system to ensure the new kernel is
|
||||
running:</para>
|
||||
<screen os="fedora;centos;rhel;opensuse;sles"><prompt>#</prompt> <userinput>reboot</userinput></screen>
|
||||
<procedure xml:id="ubuntu-cloud-archive" os="ubuntu">
|
||||
<title>To use the Ubuntu Cloud Archive for Icehouse</title>
|
||||
<para>The <link
|
||||
xlink:href="https://wiki.ubuntu.com/ServerTeam/CloudArchive"
|
||||
>Ubuntu Cloud Archive</link> is a special repository that
|
||||
allows you to install newer releases of OpenStack on the
|
||||
stable supported version of Ubuntu.</para>
|
||||
xlink:href="https://wiki.ubuntu.com/ServerTeam/CloudArchive">Ubuntu
|
||||
Cloud Archive</link> is a special repository that allows you to
|
||||
install newer releases of OpenStack on the stable supported version of
|
||||
Ubuntu.</para>
|
||||
<step>
|
||||
<para>Install the Ubuntu Cloud Archive for
|
||||
<glossterm>Icehouse</glossterm>:
|
||||
@@ -567,23 +542,20 @@ character-set-server = utf8</programlisting>
|
||||
<prompt>#</prompt> <userinput>add-apt-repository cloud-archive:icehouse</userinput></screen></para>
|
||||
</step>
|
||||
<step>
|
||||
<para>Update the package database, upgrade your system, and reboot
|
||||
for all changes to take effect:
|
||||
<para>Update the package database, upgrade your system, and reboot for
|
||||
all changes to take effect:
|
||||
<screen><prompt>#</prompt> <userinput>apt-get update && apt-get dist-upgrade</userinput>
|
||||
<prompt>#</prompt> <userinput>reboot</userinput> </screen></para>
|
||||
</step>
|
||||
</procedure>
|
||||
<procedure xml:id="debian-cloud-archive" os="debian">
|
||||
<title>To use the Debian Wheezy backports archive for
|
||||
Icehouse</title>
|
||||
<para>The <glossterm>Icehouse</glossterm> release is available
|
||||
only in Debian Sid
|
||||
(otherwise called Unstable). However, the Debian maintainers
|
||||
of OpenStack also maintain a non-official Debian repository
|
||||
for OpenStack containing Wheezy backports.</para>
|
||||
<title>To use the Debian Wheezy backports archive for Icehouse</title>
|
||||
<para>The <glossterm>Icehouse</glossterm> release is available only in
|
||||
Debian Sid (otherwise called Unstable). However, the Debian maintainers
|
||||
of OpenStack also maintain a non-official Debian repository for
|
||||
OpenStack containing Wheezy backports.</para>
|
||||
<step>
|
||||
<para>Install the Debian Wheezy backport repository
|
||||
Icehouse:</para>
|
||||
<para>Install the Debian Wheezy backport repository Icehouse:</para>
|
||||
<screen><prompt>#</prompt> <userinput>echo "deb http://archive.gplhost.com/debian icehouse-backports main" >>/etc/apt/sources.list</userinput></screen>
|
||||
</step>
|
||||
<step>
|
||||
@@ -596,53 +568,48 @@ character-set-server = utf8</programlisting>
|
||||
<screen><prompt>#</prompt> <userinput>apt-get update && apt-get install gplhost-archive-keyring</userinput></screen>
|
||||
</step>
|
||||
<step>
|
||||
<para>Update the package database, upgrade your system, and reboot
|
||||
for all changes to take effect:</para>
|
||||
<para>Update the package database, upgrade your system, and reboot for
|
||||
all changes to take effect:</para>
|
||||
<screen><prompt>#</prompt> <userinput>apt-get update && apt-get dist-upgrade</userinput>
|
||||
<prompt>#</prompt> <userinput>reboot</userinput></screen>
|
||||
</step>
|
||||
</procedure>
|
||||
<para os="debian">Numerous archive.gplhost.com mirrors are
|
||||
available around the world. All are available with both FTP and
|
||||
HTTP protocols (you should use the closest mirror). The list of
|
||||
mirrors is available at <link
|
||||
<para os="debian">Numerous archive.gplhost.com mirrors are available around
|
||||
the world. All are available with both FTP and HTTP protocols (you should
|
||||
use the closest mirror). The list of mirrors is available at <link
|
||||
xlink:href="http://archive.gplhost.com/readme.mirrors"
|
||||
>http://archive.gplhost.com/readme.mirrors</link>.</para>
|
||||
</section>
|
||||
<section xml:id="basics-argparse" os="debian">
|
||||
<title>Manually install python-argparse</title>
|
||||
<para>The Debian OpenStack packages are maintained on Debian Sid
|
||||
(also known as Debian Unstable) - the current development
|
||||
version. Backported packages run correctly on Debian Wheezy with
|
||||
one caveat:</para>
|
||||
<para>All OpenStack packages are written in Python. Wheezy uses
|
||||
Python 2.6 and 2.7, with Python 2.6 as the default interpreter;
|
||||
Sid has only Python 2.7. There is one packaging change between
|
||||
these two. In Python 2.6, you installed the
|
||||
<package>python-argparse</package> package separately. In
|
||||
Python 2.7, this package is installed by default. Unfortunately,
|
||||
in Python 2.7, this package does not include <code>Provides:
|
||||
python-argparse</code> directive.</para>
|
||||
<para>Because the packages are maintained in Sid where the
|
||||
<code>Provides: python-argparse</code> directive causes an
|
||||
error, and the Debian OpenStack maintainer wants to maintain one
|
||||
version of the OpenStack packages, you must manually install the
|
||||
<package>python-argparse</package> on each OpenStack system
|
||||
that runs Debian Wheezy before you install the other OpenStack
|
||||
packages. Use the following command to install the
|
||||
<para>The Debian OpenStack packages are maintained on Debian Sid (also known
|
||||
as Debian Unstable) - the current development version. Backported packages
|
||||
run correctly on Debian Wheezy with one caveat:</para>
|
||||
<para>All OpenStack packages are written in Python. Wheezy uses Python 2.6
|
||||
and 2.7, with Python 2.6 as the default interpreter; Sid has only Python
|
||||
2.7. There is one packaging change between these two. In Python 2.6, you
|
||||
installed the <package>python-argparse</package> package separately. In
|
||||
Python 2.7, this package is installed by default. Unfortunately, in Python
|
||||
2.7, this package does not include <code>Provides: python-argparse</code>
|
||||
directive.</para>
|
||||
<para>Because the packages are maintained in Sid where the <code>Provides:
|
||||
python-argparse</code> directive causes an error, and the Debian
|
||||
OpenStack maintainer wants to maintain one version of the OpenStack
|
||||
packages, you must manually install the <package>python-argparse</package>
|
||||
on each OpenStack system that runs Debian Wheezy before you install the
|
||||
other OpenStack packages. Use the following command to install the
|
||||
package:</para>
|
||||
<screen><prompt>#</prompt> <userinput>apt-get install python-argparse</userinput></screen>
|
||||
<para>This caveat applies to most OpenStack packages in
|
||||
Wheezy.</para>
|
||||
<para>This caveat applies to most OpenStack packages in Wheezy.</para>
|
||||
</section>
|
||||
<section xml:id="basics-queue">
|
||||
<title>Messaging server</title>
|
||||
<para>On the controller node, install the messaging queue server.
|
||||
Typically this is <phrase os="ubuntu;debian;opensuse;sles"
|
||||
<para>On the controller node, install the messaging queue server. Typically
|
||||
this is <phrase os="ubuntu;debian;opensuse;sles"
|
||||
><glossterm>RabbitMQ</glossterm></phrase>
|
||||
<phrase os="centos;rhel;fedora">
|
||||
<glossterm>Qpid</glossterm></phrase> but
|
||||
<phrase os="ubuntu;debian;opensuse;sles"><glossterm>Qpid</glossterm></phrase>
|
||||
<glossterm>Qpid</glossterm></phrase> but <phrase
|
||||
os="ubuntu;debian;opensuse;sles"><glossterm>Qpid</glossterm></phrase>
|
||||
<phrase os="centos;rhel;fedora"><glossterm>RabbitMQ</glossterm></phrase>
|
||||
and <glossterm>ZeroMQ</glossterm> (0MQ) are also available.</para>
|
||||
<screen os="ubuntu;debian"><prompt>#</prompt> <userinput>apt-get install rabbitmq-server</userinput></screen>
|
||||
@@ -650,48 +617,41 @@ character-set-server = utf8</programlisting>
|
||||
<screen os="fedora;centos;rhel"><prompt>#</prompt> <userinput>yum install qpid-cpp-server</userinput></screen>
|
||||
<note os="ubuntu;debian;opensuse;sles">
|
||||
<title>Important security consideration</title>
|
||||
<para>The <package>rabbitmq-server</package> package configures
|
||||
the RabbitMQ service to start automatically and creates a
|
||||
<literal>guest</literal> user with a default
|
||||
<literal>guest</literal> password. The RabbitMQ examples in
|
||||
this guide use the <literal>guest</literal> account, though it
|
||||
is strongly advised to change its default password, especially
|
||||
if you have IPv6 available: by default the RabbitMQ server
|
||||
enables anyone to connect to it by using guest as login and
|
||||
password, and with IPv6, it is reachable from the
|
||||
<para>The <package>rabbitmq-server</package> package configures the
|
||||
RabbitMQ service to start automatically and creates a
|
||||
<literal>guest</literal> user with a default <literal>guest</literal>
|
||||
password. The RabbitMQ examples in this guide use the
|
||||
<literal>guest</literal> account, though it is strongly advised to
|
||||
change its default password, especially if you have IPv6 available: by
|
||||
default the RabbitMQ server enables anyone to connect to it by using
|
||||
guest as login and password, and with IPv6, it is reachable from the
|
||||
outside.</para>
|
||||
<para>To change the default guest password of RabbitMQ:</para>
|
||||
<screen><prompt>#</prompt> <userinput>rabbitmqctl change_password guest <replaceable>RABBIT_PASS</replaceable></userinput></screen>
|
||||
</note>
|
||||
<para os="fedora;centos;rhel">Disable Qpid authentication by
|
||||
editing <filename>/etc/qpidd.conf</filename> file and changing
|
||||
the <literal>auth</literal> option to
|
||||
<literal>no</literal>.</para>
|
||||
<para os="fedora;centos;rhel">Disable Qpid authentication by editing
|
||||
<filename>/etc/qpidd.conf</filename> file and changing the
|
||||
<literal>auth</literal> option to <literal>no</literal>.</para>
|
||||
<screen os="fedora;centos;rhel"> <userinput>auth=no</userinput></screen>
|
||||
<note os="fedora;centos;rhel">
|
||||
<para>
|
||||
To simplify configuration, the Qpid examples in this guide do not use
|
||||
authentication. However, we strongly advise enabling authentication
|
||||
for production deployments. For more information on securing Qpid
|
||||
refer to the
|
||||
<link xlink:href=
|
||||
"http://qpid.apache.org/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/chap-Messaging_User_Guide-Security.html"
|
||||
>Qpid Documentation</link>.
|
||||
</para>
|
||||
<para>
|
||||
After you enable Qpid authentication, you must update the configuration
|
||||
file of each OpenStack service to ensure that the
|
||||
<para>To simplify configuration, the Qpid examples in this guide do not
|
||||
use authentication. However, we strongly advise enabling authentication
|
||||
for production deployments. For more information on securing Qpid refer
|
||||
to the <link
|
||||
xlink:href="http://qpid.apache.org/books/trunk/AMQP-Messaging-Broker-CPP-Book/html/chap-Messaging_User_Guide-Security.html"
|
||||
>Qpid Documentation</link>.</para>
|
||||
<para>After you enable Qpid authentication, you must update the
|
||||
configuration file of each OpenStack service to ensure that the
|
||||
<literal>qpid_username</literal> and <literal>qpid_password</literal>
|
||||
configuration keys refer to a valid Qpid username and password,
|
||||
respectively.
|
||||
</para>
|
||||
respectively.</para>
|
||||
</note>
|
||||
<para os="fedora;centos;rhel">Start Qpid and set it to start
|
||||
automatically when the system boots.</para>
|
||||
<para os="fedora;centos;rhel">Start Qpid and set it to start automatically
|
||||
when the system boots.</para>
|
||||
<screen os="fedora;centos;rhel"><prompt>#</prompt> <userinput>service qpidd start</userinput>
|
||||
<prompt>#</prompt> <userinput>chkconfig qpidd on</userinput></screen>
|
||||
<para os="opensuse;sles">Start the messaging service and set it to
|
||||
start automatically when the system boots:</para>
|
||||
<para os="opensuse;sles">Start the messaging service and set it to start
|
||||
automatically when the system boots:</para>
|
||||
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>service rabbitmq-server start</userinput>
|
||||
<prompt>#</prompt> <userinput>chkconfig rabbitmq-server on</userinput></screen>
|
||||
<para>Congratulations, now you are ready to install OpenStack
|
||||
|
@@ -133,12 +133,12 @@
|
||||
x="110.25849"
|
||||
y="366.4686"
|
||||
id="tspan3074"
|
||||
style="font-size:30px;text-align:center;text-anchor:middle">Cloud </tspan><tspan
|
||||
style="font-size:30px;text-align:center;text-anchor:middle">cloud</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="105.4831"
|
||||
y="403.9686"
|
||||
id="tspan3080"
|
||||
style="font-size:30px;text-align:center;text-anchor:middle">Controller</tspan></text>
|
||||
style="font-size:30px;text-align:center;text-anchor:middle">controller</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
@@ -150,12 +150,12 @@
|
||||
x="647.31293"
|
||||
y="370.42133"
|
||||
id="tspan3074-1"
|
||||
style="font-size:30px;text-align:center;text-anchor:middle">Compute</tspan><tspan
|
||||
style="font-size:30px;text-align:center;text-anchor:middle">compute</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="647.31293"
|
||||
y="407.92133"
|
||||
id="tspan3080-5"
|
||||
style="font-size:30px;text-align:center;text-anchor:middle">Node</tspan></text>
|
||||
style="font-size:30px;text-align:center;text-anchor:middle">node</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
BIN
doc/install-guide/figures/networking-interactions-swift.png
Normal file
After Width: | Height: | Size: 51 KiB |
790
doc/install-guide/figures/networking-interactions-swift.svg
Normal file
@@ -0,0 +1,790 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
viewBox="-12 -7 582 380"
|
||||
width="582pt"
|
||||
height="380pt"
|
||||
id="svg2"
|
||||
inkscape:version="0.48.2 r9819"
|
||||
sodipodi:docname="networking-interactions-swift.svg">
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1593"
|
||||
inkscape:window-height="944"
|
||||
id="namedview250"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.2518949"
|
||||
inkscape:cx="514.23319"
|
||||
inkscape:cy="180.69728"
|
||||
inkscape:window-x="65"
|
||||
inkscape:window-y="38"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g39" />
|
||||
<metadata
|
||||
id="metadata4">
|
||||
<dc:date>2014-03-28 03:35Z</dc:date>
|
||||
<!-- Produced by OmniGraffle Professional 5.4.4 -->
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs6">
|
||||
<filter
|
||||
id="Shadow"
|
||||
filterUnits="userSpaceOnUse">
|
||||
<feGaussianBlur
|
||||
in="SourceAlpha"
|
||||
result="blur"
|
||||
stdDeviation="3.488"
|
||||
id="feGaussianBlur9" />
|
||||
<feOffset
|
||||
in="blur"
|
||||
result="offset"
|
||||
dx="0"
|
||||
dy="4"
|
||||
id="feOffset11" />
|
||||
<feFlood
|
||||
flood-color="black"
|
||||
flood-opacity=".75"
|
||||
result="flood"
|
||||
id="feFlood13" />
|
||||
<feComposite
|
||||
in="flood"
|
||||
in2="offset"
|
||||
operator="in"
|
||||
id="feComposite15" />
|
||||
</filter>
|
||||
<font-face
|
||||
font-family="Helvetica"
|
||||
font-size="12"
|
||||
units-per-em="1000"
|
||||
underline-position="-75.683594"
|
||||
underline-thickness="49.316406"
|
||||
slope="0"
|
||||
x-height="522.94922"
|
||||
cap-height="717.28516"
|
||||
ascent="770.01953"
|
||||
descent="-229.98047"
|
||||
font-weight="500"
|
||||
id="font-face17">
|
||||
<font-face-src
|
||||
id="font-face-src19">
|
||||
<font-face-name
|
||||
name="Helvetica"
|
||||
id="font-face-name21" />
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
<font-face
|
||||
font-family="Helvetica"
|
||||
font-size="14"
|
||||
units-per-em="1000"
|
||||
underline-position="-75.683594"
|
||||
underline-thickness="49.316406"
|
||||
slope="0"
|
||||
x-height="522.94922"
|
||||
cap-height="717.28516"
|
||||
ascent="770.01953"
|
||||
descent="-229.98047"
|
||||
font-weight="500"
|
||||
id="font-face23">
|
||||
<font-face-src
|
||||
id="font-face-src25">
|
||||
<font-face-name
|
||||
name="Helvetica"
|
||||
id="font-face-name27" />
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
<marker
|
||||
orient="auto"
|
||||
overflow="visible"
|
||||
markerUnits="strokeWidth"
|
||||
id="FilledArrow_Marker"
|
||||
viewBox="-9 -4 10 8"
|
||||
markerWidth="10"
|
||||
markerHeight="8"
|
||||
color="black">
|
||||
<g
|
||||
id="g30">
|
||||
<path
|
||||
d="M -8 0 L 0 3 L 0 -3 Z"
|
||||
fill="currentColor"
|
||||
stroke="currentColor"
|
||||
stroke-width="1"
|
||||
id="path32" />
|
||||
</g>
|
||||
</marker>
|
||||
<marker
|
||||
orient="auto"
|
||||
overflow="visible"
|
||||
markerUnits="strokeWidth"
|
||||
id="FilledArrow_Marker_2"
|
||||
viewBox="-1 -4 10 8"
|
||||
markerWidth="10"
|
||||
markerHeight="8"
|
||||
color="black">
|
||||
<g
|
||||
id="g35">
|
||||
<path
|
||||
d="M 8 0 L 0 -3 L 0 3 Z"
|
||||
fill="currentColor"
|
||||
stroke="currentColor"
|
||||
stroke-width="1"
|
||||
id="path37" />
|
||||
</g>
|
||||
</marker>
|
||||
</defs>
|
||||
<g
|
||||
stroke="none"
|
||||
stroke-opacity="1"
|
||||
stroke-dasharray="none"
|
||||
fill="none"
|
||||
fill-opacity="1"
|
||||
id="g39">
|
||||
<title
|
||||
id="title41">Canvas 1</title>
|
||||
<g
|
||||
id="g49"
|
||||
transform="translate(-5.7512816,-0.63903128)">
|
||||
<g
|
||||
transform="translate(-5.7512816,-0.63903128)"
|
||||
id="use51"
|
||||
style="filter:url(#Shadow)">
|
||||
<rect
|
||||
x="47.454109"
|
||||
y="113.5"
|
||||
width="140"
|
||||
height="155"
|
||||
id="rect3745"
|
||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
|
||||
</g>
|
||||
<g
|
||||
transform="translate(-5.7512816,-0.63903128)"
|
||||
id="use53"
|
||||
style="filter:url(#Shadow)">
|
||||
<rect
|
||||
x="56.454109"
|
||||
y="120.5"
|
||||
width="140"
|
||||
height="155"
|
||||
id="rect3741"
|
||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
|
||||
</g>
|
||||
<g
|
||||
transform="translate(-5.7512816,-0.63903128)"
|
||||
id="use55"
|
||||
style="filter:url(#Shadow)">
|
||||
<rect
|
||||
x="83"
|
||||
y="145"
|
||||
width="140"
|
||||
height="155"
|
||||
id="rect3753"
|
||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
|
||||
</g>
|
||||
<g
|
||||
transform="translate(-5.7512816,-0.63903128)"
|
||||
id="use57"
|
||||
style="filter:url(#Shadow)">
|
||||
<rect
|
||||
x="74"
|
||||
y="136"
|
||||
width="140"
|
||||
height="155"
|
||||
id="rect3757"
|
||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
|
||||
</g>
|
||||
<g
|
||||
transform="translate(-5.7512816,-0.63903128)"
|
||||
id="use59"
|
||||
style="filter:url(#Shadow)">
|
||||
<rect
|
||||
x="74"
|
||||
y="136"
|
||||
width="140"
|
||||
height="155"
|
||||
id="rect3749"
|
||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
|
||||
</g>
|
||||
<g
|
||||
transform="translate(-5.7512816,-0.63903128)"
|
||||
id="use61"
|
||||
style="filter:url(#Shadow)">
|
||||
<rect
|
||||
x="65"
|
||||
y="127"
|
||||
width="140"
|
||||
height="155"
|
||||
id="rect3737"
|
||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
|
||||
</g>
|
||||
<use
|
||||
height="380"
|
||||
width="582"
|
||||
y="0"
|
||||
x="0"
|
||||
style="filter:url(#Shadow)"
|
||||
id="use63"
|
||||
xlink:href="#id2959_Graphic"
|
||||
transform="translate(-0.63903128,-30.03447)" />
|
||||
<use
|
||||
height="380"
|
||||
width="582"
|
||||
y="0"
|
||||
x="0"
|
||||
style="filter:url(#Shadow)"
|
||||
id="use65"
|
||||
xlink:href="#id2961_Graphic"
|
||||
transform="translate(-0.63903128,-30.03447)" />
|
||||
<use
|
||||
height="380"
|
||||
width="582"
|
||||
y="0"
|
||||
x="0"
|
||||
style="filter:url(#Shadow)"
|
||||
id="use67"
|
||||
xlink:href="#id2998_Graphic" />
|
||||
<use
|
||||
height="380"
|
||||
width="582"
|
||||
y="0"
|
||||
x="0"
|
||||
style="filter:url(#Shadow)"
|
||||
id="use69"
|
||||
xlink:href="#id2991_Graphic"
|
||||
transform="translate(-0.63903128,-30.03447)" />
|
||||
<use
|
||||
height="380"
|
||||
width="582"
|
||||
y="0"
|
||||
x="0"
|
||||
style="filter:url(#Shadow)"
|
||||
id="use71"
|
||||
xlink:href="#id2992_Graphic"
|
||||
transform="translate(-0.63903128,-30.03447)" />
|
||||
<use
|
||||
height="380"
|
||||
width="582"
|
||||
y="0"
|
||||
x="0"
|
||||
style="filter:url(#Shadow)"
|
||||
id="use73"
|
||||
xlink:href="#id3007_Graphic"
|
||||
transform="translate(-0.63903128,-0.31951564)" />
|
||||
<use
|
||||
height="380"
|
||||
width="582"
|
||||
y="0"
|
||||
x="0"
|
||||
style="filter:url(#Shadow)"
|
||||
id="use75"
|
||||
xlink:href="#id3008_Graphic"
|
||||
transform="translate(-0.63903128,-30.03447)" />
|
||||
</g>
|
||||
<g
|
||||
id="id2959_Graphic"
|
||||
transform="translate(-5.1122503,29.395439)">
|
||||
<rect
|
||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
||||
id="rect96"
|
||||
height="189"
|
||||
width="142"
|
||||
y="45"
|
||||
x="8" />
|
||||
</g>
|
||||
<g
|
||||
id="id2961_Graphic"
|
||||
transform="translate(-5.1122503,29.395439)">
|
||||
<rect
|
||||
style="fill:#ffffff"
|
||||
id="rect99"
|
||||
height="33"
|
||||
width="116.90818"
|
||||
y="75"
|
||||
x="22.091818" />
|
||||
<rect
|
||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
||||
id="rect101"
|
||||
height="33"
|
||||
width="116.90818"
|
||||
y="75"
|
||||
x="22.091818" />
|
||||
<text
|
||||
style="fill:#000000"
|
||||
id="text103"
|
||||
x="25.174723"
|
||||
y="74.914536">
|
||||
<tspan
|
||||
style="font-size:9.60000038px;font-weight:500;font-family:Helvetica"
|
||||
id="tspan105"
|
||||
textLength="102.07617"
|
||||
y="85.914536"
|
||||
x="27.590729"
|
||||
font-weight="500"
|
||||
font-size="12">swift-container-server</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<text
|
||||
style="fill:#000000"
|
||||
id="text107"
|
||||
x="27.841843"
|
||||
y="85.395439">
|
||||
<tspan
|
||||
style="font-size:14px;font-weight:500;font-family:Helvetica"
|
||||
id="tspan109"
|
||||
textLength="91.06836"
|
||||
y="99.395439"
|
||||
x="27.841843"
|
||||
font-weight="500"
|
||||
font-size="14">Storage nodes</tspan>
|
||||
</text>
|
||||
<line
|
||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
||||
id="line111"
|
||||
y2="267.4903"
|
||||
x2="394.80969"
|
||||
y1="267.4903"
|
||||
x1="351.60968" />
|
||||
<text
|
||||
style="fill:#000000"
|
||||
id="text113"
|
||||
x="418.24872"
|
||||
y="258.36099">
|
||||
<tspan
|
||||
style="font-size:14px;font-weight:500;font-family:Helvetica"
|
||||
id="tspan115"
|
||||
textLength="38.13086"
|
||||
y="272.36099"
|
||||
x="418.24872"
|
||||
font-weight="500"
|
||||
font-size="14">Public</tspan>
|
||||
</text>
|
||||
<line
|
||||
style="stroke:#ff0000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:8, 4, 1, 4"
|
||||
id="line117"
|
||||
y2="315.86096"
|
||||
x2="395.44873"
|
||||
y1="315.86096"
|
||||
x1="352.24872" />
|
||||
<text
|
||||
style="fill:#000000"
|
||||
id="text119"
|
||||
x="418.24872"
|
||||
y="307.86099">
|
||||
<tspan
|
||||
style="font-size:14px;font-weight:500;font-family:Helvetica"
|
||||
id="tspan121"
|
||||
textLength="131.5166"
|
||||
y="321.86099"
|
||||
x="418.24872"
|
||||
font-weight="500"
|
||||
font-size="14">Replication (optional)</tspan>
|
||||
</text>
|
||||
<line
|
||||
style="stroke:#0033cc;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:8, 5"
|
||||
id="line123"
|
||||
y2="287.86096"
|
||||
x2="396.44873"
|
||||
y1="287.86096"
|
||||
x1="351.24875" />
|
||||
<text
|
||||
style="fill:#000000"
|
||||
id="text125"
|
||||
x="418.24872"
|
||||
y="279.36102">
|
||||
<tspan
|
||||
style="font-size:14px;font-weight:500;font-family:Helvetica"
|
||||
id="tspan127"
|
||||
textLength="104.268555"
|
||||
y="293.36102"
|
||||
x="418.24872"
|
||||
font-weight="500"
|
||||
font-size="14">Storage Network</tspan>
|
||||
</text>
|
||||
<rect
|
||||
style="fill:#ffffff"
|
||||
id="rect129"
|
||||
height="40"
|
||||
width="116.90818"
|
||||
y="8.3609686"
|
||||
x="199.99873" />
|
||||
<rect
|
||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
||||
id="rect131"
|
||||
height="40"
|
||||
width="116.90818"
|
||||
y="8.3609686"
|
||||
x="199.99873" />
|
||||
<text
|
||||
style="fill:#000000"
|
||||
id="text133"
|
||||
x="204.99873"
|
||||
y="14.360969">
|
||||
<tspan
|
||||
style="font-size:12px;font-weight:500;font-family:Helvetica"
|
||||
id="tspan135"
|
||||
textLength="62.701172"
|
||||
y="25.36097"
|
||||
x="228.76923"
|
||||
font-weight="500"
|
||||
font-size="12">OpenStack</tspan>
|
||||
<tspan
|
||||
style="font-size:12px;font-weight:500;font-family:Helvetica"
|
||||
id="tspan137"
|
||||
textLength="58.705078"
|
||||
y="39.36097"
|
||||
x="229.10028"
|
||||
font-weight="500"
|
||||
font-size="12">Dashboard</tspan>
|
||||
</text>
|
||||
<rect
|
||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
||||
id="rect141"
|
||||
height="23.746155"
|
||||
width="116.90818"
|
||||
y="157.85469"
|
||||
x="400.01553" />
|
||||
<text
|
||||
style="fill:#000000"
|
||||
id="text143"
|
||||
x="401.50085"
|
||||
y="161.77165">
|
||||
<tspan
|
||||
style="font-size:11.19999981px;font-weight:500;font-family:Helvetica"
|
||||
id="tspan145"
|
||||
textLength="101.390625"
|
||||
y="172.77165"
|
||||
x="404.25964"
|
||||
font-weight="500"
|
||||
font-size="12">OpenStack Identity</tspan>
|
||||
</text>
|
||||
<g
|
||||
id="id2998_Graphic"
|
||||
transform="translate(-5.7512816,-0.63903128)">
|
||||
<rect
|
||||
style="fill:#ffffff"
|
||||
id="rect148"
|
||||
height="41"
|
||||
width="116.90818"
|
||||
y="308"
|
||||
x="136.09181" />
|
||||
<rect
|
||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
||||
id="rect150"
|
||||
height="41"
|
||||
width="116.90818"
|
||||
y="308"
|
||||
x="136.09181" />
|
||||
<text
|
||||
style="fill:#000000"
|
||||
id="text152"
|
||||
transform="translate(141.09181,321.5)">
|
||||
<tspan
|
||||
style="font-size:12px;font-weight:500;font-family:Helvetica"
|
||||
id="tspan154"
|
||||
textLength="91.39453"
|
||||
y="11"
|
||||
x="7.7568254"
|
||||
font-weight="500"
|
||||
font-size="12">all storage nodes</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<text
|
||||
style="fill:#000000"
|
||||
id="text156"
|
||||
x="348.24872"
|
||||
y="236.86099">
|
||||
<tspan
|
||||
style="font-size:14px;font-weight:500;font-family:Helvetica"
|
||||
id="tspan158"
|
||||
textLength="58.344727"
|
||||
y="250.86099"
|
||||
x="348.24872"
|
||||
font-weight="500"
|
||||
font-size="14">Networks</tspan>
|
||||
</text>
|
||||
<rect
|
||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
||||
id="rect160"
|
||||
height="155"
|
||||
width="140"
|
||||
y="32.86097"
|
||||
x="388.24872" />
|
||||
<rect
|
||||
style="fill:#ffffff"
|
||||
id="rect162"
|
||||
height="27"
|
||||
width="116.90818"
|
||||
y="93.36097"
|
||||
x="400.74869" />
|
||||
<rect
|
||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
||||
id="rect164"
|
||||
height="27"
|
||||
width="116.90818"
|
||||
y="93.36097"
|
||||
x="400.74869" />
|
||||
<text
|
||||
style="fill:#000000"
|
||||
id="text166"
|
||||
x="402.55353"
|
||||
y="100.18049">
|
||||
<tspan
|
||||
style="font-size:11.19999981px;font-weight:500;font-family:Helvetica"
|
||||
id="tspan168"
|
||||
textLength="98.683594"
|
||||
y="111.18049"
|
||||
x="406.66583"
|
||||
font-weight="500"
|
||||
font-size="12">swift-proxy-server</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="fill:#000000"
|
||||
id="text170"
|
||||
x="402.01978"
|
||||
y="48.985329">
|
||||
<tspan
|
||||
style="font-size:14px;font-weight:500;font-family:Helvetica"
|
||||
id="tspan172"
|
||||
textLength="101.9375"
|
||||
y="62.985329"
|
||||
x="402.01978"
|
||||
font-weight="500"
|
||||
font-size="14">Cloud controller/</tspan>
|
||||
<tspan
|
||||
style="font-size:14px;font-weight:500;font-family:Helvetica"
|
||||
id="tspan174"
|
||||
textLength="78.572266"
|
||||
y="79.985329"
|
||||
x="402.01978"
|
||||
font-weight="500"
|
||||
font-size="14">Proxy server</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="fill:#ff0000"
|
||||
id="text176"
|
||||
x="151.24872"
|
||||
y="218.36098">
|
||||
<tspan
|
||||
style="font-size:12px;font-weight:500;fill:#ff0000;font-family:Helvetica"
|
||||
id="tspan178"
|
||||
textLength="90.697266"
|
||||
y="229.36098"
|
||||
x="151.40009"
|
||||
font-weight="500"
|
||||
font-size="12">Networking inter-</tspan>
|
||||
<tspan
|
||||
style="font-size:12px;font-weight:500;fill:#ff0000;font-family:Helvetica"
|
||||
id="tspan180"
|
||||
textLength="86.70117"
|
||||
y="243.36098"
|
||||
x="153.39813"
|
||||
font-weight="500"
|
||||
font-size="12">communications</tspan>
|
||||
</text>
|
||||
<g
|
||||
id="id2991_Graphic"
|
||||
transform="translate(-5.1122503,29.395439)">
|
||||
<rect
|
||||
style="fill:#ffffff"
|
||||
id="rect205"
|
||||
height="33"
|
||||
width="116.90818"
|
||||
y="110"
|
||||
x="22.091818" />
|
||||
<rect
|
||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
||||
id="rect207"
|
||||
height="33"
|
||||
width="116.90818"
|
||||
y="110"
|
||||
x="22.091818" />
|
||||
<text
|
||||
style="fill:#000000"
|
||||
id="text209"
|
||||
x="22.618599"
|
||||
y="86.909409">
|
||||
<tspan
|
||||
style="font-size:9.60000038px;font-weight:500;font-family:Helvetica"
|
||||
id="tspan211"
|
||||
textLength="94.740234"
|
||||
y="97.909409"
|
||||
x="28.702574"
|
||||
font-weight="500"
|
||||
font-size="12">swift-account-server</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g
|
||||
id="id2992_Graphic"
|
||||
transform="translate(-5.1122503,29.395439)">
|
||||
<rect
|
||||
style="fill:#ffffff"
|
||||
id="rect214"
|
||||
height="33"
|
||||
width="116.90818"
|
||||
y="145.5"
|
||||
x="22.091818" />
|
||||
<rect
|
||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
||||
id="rect216"
|
||||
height="33"
|
||||
width="116.90818"
|
||||
y="145.5"
|
||||
x="22.091818" />
|
||||
<text
|
||||
style="fill:#000000"
|
||||
id="text218"
|
||||
x="0.25250414"
|
||||
y="153.72192">
|
||||
<tspan
|
||||
style="font-size:9.60000038px;font-weight:500;font-family:Helvetica"
|
||||
id="tspan220"
|
||||
textLength="38.021484"
|
||||
y="164.72192"
|
||||
x="34.695854"
|
||||
font-weight="500"
|
||||
font-size="12">swift-object-server</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<line
|
||||
style="stroke:#0033cc;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7.99999999, 4.99999999"
|
||||
id="line222"
|
||||
y2="74.395447"
|
||||
x2="144.80484"
|
||||
y1="36.477646"
|
||||
x1="199.5034" />
|
||||
<line
|
||||
style="stroke:#0033cc;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:8.0000001, 5.00000007"
|
||||
id="line226"
|
||||
y2="25.970657"
|
||||
x2="318.05356"
|
||||
y1="70.259567"
|
||||
x1="387.81421" />
|
||||
<g
|
||||
id="id3007_Graphic"
|
||||
transform="translate(-5.1122503,-0.31951564)">
|
||||
<rect
|
||||
style="fill:#ffffff"
|
||||
id="rect231"
|
||||
height="27"
|
||||
width="116.90818"
|
||||
y="127"
|
||||
x="405.5459" />
|
||||
<rect
|
||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
||||
id="rect233"
|
||||
height="27"
|
||||
width="116.90818"
|
||||
y="127"
|
||||
x="405.5459" />
|
||||
<text
|
||||
style="fill:#000000"
|
||||
id="text235"
|
||||
x="407.35074"
|
||||
y="133.5">
|
||||
<tspan
|
||||
style="font-size:11.19999981px;font-weight:500;font-family:Helvetica"
|
||||
id="tspan237"
|
||||
textLength="106.70508"
|
||||
y="144.5"
|
||||
x="407.4523"
|
||||
font-weight="500"
|
||||
font-size="12">memcached service</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<g
|
||||
id="id3008_Graphic"
|
||||
transform="translate(-5.1122503,29.395439)">
|
||||
<rect
|
||||
style="fill:#ffffff"
|
||||
id="rect240"
|
||||
height="33"
|
||||
width="116.90818"
|
||||
y="181"
|
||||
x="22.091818" />
|
||||
<rect
|
||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
||||
id="rect242"
|
||||
height="33"
|
||||
width="116.90818"
|
||||
y="181"
|
||||
x="22.091818" />
|
||||
<text
|
||||
style="fill:#000000"
|
||||
id="text244"
|
||||
transform="translate(27.091818,190.5)">
|
||||
<tspan
|
||||
style="font-size:9.60000038px;font-weight:500;font-family:Helvetica"
|
||||
id="tspan246"
|
||||
textLength="28.669922"
|
||||
y="11"
|
||||
x="39.119129"
|
||||
font-weight="500"
|
||||
font-size="12">rsync</tspan>
|
||||
</text>
|
||||
</g>
|
||||
<line
|
||||
style="stroke:#ff0000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:8, 4, 1, 4"
|
||||
id="line248"
|
||||
y2="233.78802"
|
||||
x2="131.04532"
|
||||
y1="315.36096"
|
||||
x1="180.71121" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="230.19286"
|
||||
y="67.543045"
|
||||
id="text3701"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3703"
|
||||
x="230.19286"
|
||||
y="67.543045"
|
||||
style="font-size:11.19999981px">Tenant API</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="54.459255"
|
||||
y="159.56354"
|
||||
id="text3731"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3733"
|
||||
x="54.459255"
|
||||
y="159.56354"
|
||||
style="font-size:10.39999962px">SQLite</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 410.5776,68.416345 499.24319,145.1001"
|
||||
id="path3781"
|
||||
inkscape:connector-curvature="0"
|
||||
transform="matrix(0.8,0,0,0.8,-12,-7)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 264.39919,69.215135 196.50212,145.89889"
|
||||
id="path3783"
|
||||
inkscape:connector-curvature="0"
|
||||
transform="matrix(0.8,0,0,0.8,-12,-7)" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 75 KiB |
@@ -15,7 +15,7 @@
|
||||
height="328.62103"
|
||||
id="svg19253"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48.0 r9654"
|
||||
inkscape:version="0.48.2 r9819"
|
||||
version="1.0"
|
||||
sodipodi:docname="swift_install_arch.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
@@ -10521,7 +10521,7 @@
|
||||
inkscape:window-width="1526"
|
||||
inkscape:window-height="867"
|
||||
inkscape:window-x="111"
|
||||
inkscape:window-y="17"
|
||||
inkscape:window-y="22"
|
||||
inkscape:window-maximized="0"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
@@ -14172,7 +14172,7 @@
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5195"
|
||||
d="m 372.55031,376.07607 179.37255,91.75094"
|
||||
d="m 485.72376,437.41435 66.1991,30.41265"
|
||||
style="fill:none;stroke:#808080;stroke-width:4.24047613;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
@@ -14626,320 +14626,7 @@
|
||||
height="20.734068"
|
||||
x="489.84235"
|
||||
y="102.9304" /></flowRegion><flowPara
|
||||
id="flowPara5191">Private Switch</flowPara></flowRoot> <flowRoot
|
||||
xml:space="preserve"
|
||||
id="flowRoot5197"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
transform="translate(232.71406,209.78539)"><flowRegion
|
||||
id="flowRegion5199"><rect
|
||||
id="rect5201"
|
||||
width="122.67657"
|
||||
height="14.686631"
|
||||
x="97.622902"
|
||||
y="106.38608" /></flowRegion><flowPara
|
||||
id="flowPara5203">Auth node</flowPara></flowRoot> <g
|
||||
style="display:inline;enable-background:new"
|
||||
transform="matrix(0.56110858,0,0,0.56110858,-1055.2547,437.5501)"
|
||||
id="g5242">
|
||||
<g
|
||||
transform="translate(2350.6149,-222.65428)"
|
||||
id="g5244">
|
||||
<g
|
||||
transform="matrix(2.7721412,0,0,2.7721412,162.13246,32.470516)"
|
||||
inkscape:label="Calque 1"
|
||||
id="g5246">
|
||||
<path
|
||||
style="fill:#888888;fill-opacity:1;stroke:none"
|
||||
d=""
|
||||
id="path5248"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#888888;fill-opacity:1;stroke:none"
|
||||
d=""
|
||||
id="path5250"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#888888;fill-opacity:1;stroke:none"
|
||||
d=""
|
||||
id="path5252"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
id="g5254">
|
||||
<path
|
||||
style="fill:#888888;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
d="M 2,11 22,1 42,11 22,21 2,11 z"
|
||||
id="path5256"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#888888;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
d="M 2,11 2,41 22,51 22,21 2,11 z"
|
||||
id="path5258"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:url(#linearGradient5343);fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
d="M 22,51 42,41 42,11 22,21 22,51 z"
|
||||
id="path5260"
|
||||
sodipodi:nodetypes="ccccc"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccccc"
|
||||
id="path5262"
|
||||
d="M 22,2.4375 18.875,4 22,5.5625 25.125,4 22,2.4375 z"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path5264"
|
||||
d="m 26,4.4375 -0.21875,0.125 -2,1 L 22.875,6 l 0.90625,0.4375 2,1 0.21875,0.125 0.21875,-0.125 2,-1 L 29.125,6 28.21875,5.5625 l -2,-1 L 26,4.4375 z M 26,5.5625 26.90625,6 26,6.4375 25.09375,6 26,5.5625 z"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccccc"
|
||||
id="path5266"
|
||||
d="M 30,6.4375 26.875,8 30,9.5625 33.125,8 30,6.4375 z"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path5268"
|
||||
d="m 34,8.4375 -0.21875,0.125 -2,1 L 30.875,10 l 0.90625,0.4375 2,1 0.21875,0.125 0.21875,-0.125 2,-1 L 37.125,10 36.21875,9.5625 l -2,-1 L 34,8.4375 z M 34,9.5625 34.90625,10 34,10.4375 33.09375,10 34,9.5625 z"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccccc"
|
||||
id="path5270"
|
||||
d="M 14,6.4375 10.875,8 14,9.5625 17.125,8 14,6.4375 z"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path5272"
|
||||
d="m 18,4.4375 -0.21875,0.125 -2,1 L 14.875,6 l 0.90625,0.4375 2,1 0.21875,0.125 0.21875,-0.125 2,-1 L 21.125,6 20.21875,5.5625 l -2,-1 L 18,4.4375 z M 18,5.5625 18.90625,6 18,6.4375 17.09375,6 18,5.5625 z"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path5274"
|
||||
d="m 10,8.4375 -0.21875,0.125 -2,1 L 6.875,10 l 0.90625,0.4375 2,1 0.21875,0.125 0.21875,-0.125 2,-1 L 13.125,10 12.21875,9.5625 l -2,-1 L 10,8.4375 z M 10,9.5625 10.90625,10 10,10.4375 9.09375,10 10,9.5625 z"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:url(#radialGradient5345);fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
d="m 11.95092,32.021472 8,4 0,9.000001 -8,-4 0,-9.000001 z"
|
||||
id="path5276"
|
||||
sodipodi:nodetypes="ccccc"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path5278"
|
||||
d="m 11.5,31.1875 0,0.8125 0,9 0,0.3125 0.28125,0.125 8,4 0.71875,0.375 0,-0.8125 0,-9 0,-0.3125 -0.28125,-0.125 -8,-4 L 11.5,31.1875 z m 1,1.625 7,3.5 0,7.875 -7,-3.5 0,-7.875 z"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path5280"
|
||||
d="m 3.5,15.1875 0,0.8125 0,24 0,0.3125 0.28125,0.125 2,1 L 6.5,41.8125 6.5,41 l 0,-24 0,-0.3125 -0.28125,-0.125 -2,-1 L 3.5,15.1875 z m 1,1.625 1,0.5 0,22.875 -1,-0.5 0,-22.875 z"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccccc"
|
||||
id="path5282"
|
||||
d="m 7,16.6875 0,25.125 3,1.5 0,-25.125 -3,-1.5 z"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path5284"
|
||||
d="m 11.5,18.1875 0,0.8125 0,10 0,0.3125 0.28125,0.125 4,2 0.71875,0.375 0,-0.8125 0,-10 0,-0.3125 -0.28125,-0.125 -4,-2 L 11.5,18.1875 z m 1,1.625 3,1.5 0,8.875 -3,-1.5 0,-8.875 z"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path5286"
|
||||
d="m 17.5,21.1875 0,0.8125 0,11 0,0.3125 0.28125,0.125 2,1 0.71875,0.375 0,-0.8125 0,-11 0,-0.3125 -0.28125,-0.125 -2,-1 L 17.5,21.1875 z m 1,1.625 1,0.5 0,9.875 -1,-0.5 0,-9.875 z"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path5288"
|
||||
d="m 22,0.4375 -0.21875,0.125 -20,10 L 1.5,10.6875 1.5,11 l 0,30 0,0.3125 0.28125,0.125 20,10 0.21875,0.125 0.21875,-0.125 20,-10 0.28125,-0.125 0,-0.3125 0,-30 0,-0.3125 -0.28125,-0.125 -20,-10 L 22,0.4375 z m 0,1.125 19.5,9.75 0,29.375 -19.5,9.75 -19.5,-9.75 0,-29.375 19.5,-9.75 z"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g5290"
|
||||
transform="matrix(0.7,-0.35,0,1,2334.3228,-284.85697)">
|
||||
<rect
|
||||
y="293.20496"
|
||||
x="358.0549"
|
||||
height="9.7841024"
|
||||
width="9.7841024"
|
||||
id="rect5292"
|
||||
style="fill:#00ff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<rect
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect5294"
|
||||
width="9.7841024"
|
||||
height="9.7841024"
|
||||
x="368.0549"
|
||||
y="293.20496" />
|
||||
<rect
|
||||
y="293.20496"
|
||||
x="378.0549"
|
||||
height="9.7841024"
|
||||
width="9.7841024"
|
||||
id="rect5296"
|
||||
style="fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<rect
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect5298"
|
||||
width="9.7841024"
|
||||
height="9.7841024"
|
||||
x="388.0549"
|
||||
y="293.20496" />
|
||||
<rect
|
||||
y="293.20496"
|
||||
x="398.0549"
|
||||
height="9.7841024"
|
||||
width="9.7841024"
|
||||
id="rect5300"
|
||||
style="fill:#ff00ff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<rect
|
||||
style="fill:#ff00ff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect5302"
|
||||
width="9.7841024"
|
||||
height="9.7841024"
|
||||
x="358.0549"
|
||||
y="303.20496" />
|
||||
<rect
|
||||
y="303.20496"
|
||||
x="368.0549"
|
||||
height="9.7841024"
|
||||
width="9.7841024"
|
||||
id="rect5304"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<rect
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect5306"
|
||||
width="9.7841024"
|
||||
height="9.7841024"
|
||||
x="378.0549"
|
||||
y="303.20496" />
|
||||
<rect
|
||||
y="303.20496"
|
||||
x="388.0549"
|
||||
height="9.7841024"
|
||||
width="9.7841024"
|
||||
id="rect5308"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<rect
|
||||
style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect5310"
|
||||
width="9.7841024"
|
||||
height="9.7841024"
|
||||
x="398.0549"
|
||||
y="303.20496" />
|
||||
<rect
|
||||
y="313.20496"
|
||||
x="358.0549"
|
||||
height="9.7841024"
|
||||
width="9.7841024"
|
||||
id="rect5312"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<rect
|
||||
style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect5314"
|
||||
width="9.7841024"
|
||||
height="9.7841024"
|
||||
x="368.0549"
|
||||
y="313.20496" />
|
||||
<rect
|
||||
y="313.20496"
|
||||
x="378.0549"
|
||||
height="9.7841024"
|
||||
width="9.7841024"
|
||||
id="rect5316"
|
||||
style="fill:#00ff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<rect
|
||||
style="fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect5318"
|
||||
width="9.7841024"
|
||||
height="9.7841024"
|
||||
x="388.0549"
|
||||
y="313.20496" />
|
||||
<rect
|
||||
y="313.20496"
|
||||
x="398.0549"
|
||||
height="9.7841024"
|
||||
width="9.7841024"
|
||||
id="rect5320"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<rect
|
||||
style="fill:#00ff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect5322"
|
||||
width="9.7841024"
|
||||
height="9.7841024"
|
||||
x="358.0549"
|
||||
y="323.20496" />
|
||||
<rect
|
||||
y="323.20496"
|
||||
x="368.0549"
|
||||
height="9.7841024"
|
||||
width="9.7841024"
|
||||
id="rect5324"
|
||||
style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<rect
|
||||
style="fill:#ff00ff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect5326"
|
||||
width="9.7841024"
|
||||
height="9.7841024"
|
||||
x="378.0549"
|
||||
y="323.20496" />
|
||||
<rect
|
||||
y="323.20496"
|
||||
x="388.0549"
|
||||
height="9.7841024"
|
||||
width="9.7841024"
|
||||
id="rect5328"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<rect
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect5330"
|
||||
width="9.7841024"
|
||||
height="9.7841024"
|
||||
x="398.0549"
|
||||
y="323.20496" />
|
||||
<rect
|
||||
y="333.20496"
|
||||
x="358.0549"
|
||||
height="9.7841024"
|
||||
width="9.7841024"
|
||||
id="rect5332"
|
||||
style="fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<rect
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect5334"
|
||||
width="9.7841024"
|
||||
height="9.7841024"
|
||||
x="368.0549"
|
||||
y="333.20496" />
|
||||
<rect
|
||||
y="333.20496"
|
||||
x="378.0549"
|
||||
height="9.7841024"
|
||||
width="9.7841024"
|
||||
id="rect5336"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<rect
|
||||
style="fill:#00ff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect5338"
|
||||
width="9.7841024"
|
||||
height="9.7841024"
|
||||
x="388.0549"
|
||||
y="333.20496" />
|
||||
<rect
|
||||
y="333.20496"
|
||||
x="398.0549"
|
||||
height="9.7841024"
|
||||
width="9.7841024"
|
||||
id="rect5340"
|
||||
style="fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21589765px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="flowPara5191">Private Switch</flowPara></flowRoot> <g
|
||||
id="g5397"
|
||||
transform="matrix(0.56110858,0,0,0.56110858,-904.06879,523.94205)"
|
||||
style="display:inline;enable-background:new">
|
||||
|
Before Width: | Height: | Size: 621 KiB After Width: | Height: | Size: 602 KiB |
@@ -10,11 +10,11 @@
|
||||
Object Storage services.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Proxy node. Runs Proxy services.</para>
|
||||
<para>Proxy node. Runs proxy services.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Storage node. Runs Account, Container, and Object
|
||||
services.</para>
|
||||
<para>Storage node. Runs account, container, and object
|
||||
services. Contains the SQLite databases.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Ring. A set of mappings between OpenStack Object
|
||||
@@ -28,6 +28,13 @@
|
||||
<para>Zone. A logically separate section of the cluster,
|
||||
related to independent failure characteristics.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Region (optional). A logically separate section of
|
||||
the cluster, representing distinct physical locations
|
||||
such as cities or countries. Similar to zones but
|
||||
representing physical locations of portions of the
|
||||
cluster rather than logical segments.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
<para>To increase reliability and performance, you can add
|
||||
additional proxy servers.</para>
|
||||
@@ -38,10 +45,10 @@
|
||||
ring guarantees that every replica is stored in a separate
|
||||
zone. This diagram shows one possible configuration for a
|
||||
minimal installation:</para>
|
||||
<!-- we need to fix this diagram - the auth node isn't a thing anymore-->
|
||||
<para><inlinemediaobject>
|
||||
<imageobject>
|
||||
<imagedata fileref="../figures/swift_install_arch.png"
|
||||
<imagedata
|
||||
fileref="../figures/swift_install_arch.png"
|
||||
/>
|
||||
</imageobject>
|
||||
</inlinemediaobject></para>
|
||||
|
@@ -10,16 +10,16 @@
|
||||
performance for the swift use case after considerable
|
||||
testing and benchmarking at Rackspace. It is also the only
|
||||
file system that has been thoroughly tested. See the <link
|
||||
xlink:href="http://docs.openstack.org/havana/config-reference/content/"
|
||||
xlink:href="http://docs.openstack.org/trunk/config-reference/content/"
|
||||
><citetitle>OpenStack Configuration
|
||||
Reference</citetitle></link> for additional
|
||||
recommendations.</para>
|
||||
</note>
|
||||
<procedure>
|
||||
<step>
|
||||
<para>Install Storage node packages:</para>
|
||||
<para>Install storage node packages:</para>
|
||||
<para>
|
||||
<screen os="ubuntu"><prompt>#</prompt> <userinput>apt-get install swift-account swift-container swift-object xfsprogs</userinput></screen>
|
||||
<screen os="ubuntu"><prompt>#</prompt> <userinput>apt-get install swift swift-account swift-container swift-object xfsprogs</userinput></screen>
|
||||
<screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>yum install openstack-swift-account openstack-swift-container \
|
||||
openstack-swift-object xfsprogs xinetd</userinput></screen>
|
||||
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>zypper install openstack-swift-account openstack-swift-container \
|
||||
|
@@ -12,7 +12,7 @@
|
||||
suggested.</para>
|
||||
<para>This guide describes the following networks:<itemizedlist>
|
||||
<listitem>
|
||||
<para>A mandatory public network. Connects to the Proxy
|
||||
<para>A mandatory public network. Connects to the proxy
|
||||
server.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
@@ -22,11 +22,21 @@ the cluster. All nodes connect to this network.</para>
|
||||
<listitem>
|
||||
<para>An optional replication network. Not accessible from
|
||||
outside the cluster. Dedicated to replication traffic among
|
||||
Storage nodes. Must be configured in the Ring.</para>
|
||||
storage nodes. Must be configured in the Ring.</para>
|
||||
</listitem>
|
||||
</itemizedlist></para>
|
||||
<para>This figure shows the basic architecture for the public
|
||||
network, the storage network, and the optional replication
|
||||
network.</para>
|
||||
<para><inlinemediaobject>
|
||||
<imageobject>
|
||||
<imagedata
|
||||
fileref="../figures/networking-interactions-swift.png"
|
||||
/>
|
||||
</imageobject>
|
||||
</inlinemediaobject></para>
|
||||
<para>By default, all of the OpenStack Object Storage services, as
|
||||
well as the rsync daemon on the Storage nodes, are configured to
|
||||
well as the rsync daemon on the storage nodes, are configured to
|
||||
listen on their <literal>STORAGE_LOCAL_NET</literal> IP
|
||||
addresses.</para>
|
||||
<para>If you configure a replication network in the Ring, the
|
||||
|
@@ -8,7 +8,7 @@
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
||||
<?dbhtml-stop-chunking?>
|
||||
<title>System requirements</title>
|
||||
<title>System requirements for Object Storage</title>
|
||||
<para><emphasis role="bold">Hardware</emphasis>: OpenStack Object
|
||||
Storage is designed to run on commodity hardware.</para>
|
||||
<note>
|
||||
|