openstack-manuals/doc/install-guide/section_install-config-storage-nodes.xml
Andreas Jaeger 7d1a6bde03 openSUSE Install Guide
Add further openSUSE instructions

Change-Id: Id51704fd1e6099f273ca2b980ec8facd816c6785
2013-09-10 21:37:59 +02:00

94 lines
4.2 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<section xml:id="installing-and-configuring-storage-nodes"
xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" >
<title>Installing and Configuring the Storage Nodes</title>
<note><title>Note</title>
<para>OpenStack Object Storage should work on any modern filesystem that supports
Extended Attributes (XATTRS). We currently recommend XFS as it
demonstrated the best overall performance for the swift use case after
considerable testing and benchmarking at Rackspace. It is also the
only filesystem that has been thoroughly tested.</para>
</note>
<orderedlist>
<listitem><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="rhel;centos;fedora"><prompt>#</prompt> <userinput>yum install openstack-swift-account openstack-swift-container openstack-swift-object xfsprogs</userinput></screen>
<screen os="opensuse"><prompt>#</prompt> <userinput>zypper install openstack-swift-account openstack-swift-container openstack-swift-object xfsprogs</userinput></screen>
</para>
</listitem>
<listitem>
<para>For every device on the node you wish to use for storage,
set up the XFS volume (<literal>/dev/sdb</literal> is used as an example). Use a single
partition per drive. For example, in a server with 12 disks you may use one or two disks
for the operating system which should not be touched in this step. The other 10 or 11
disks should be partitioned with a single partition, then formatted in XFS.
</para>
<para><screen><prompt>#</prompt> <userinput>fdisk /dev/sdb</userinput></screen>
<programlisting>mkfs.xfs /dev/sdb1
echo "/dev/sdb1 /srv/node/sdb1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 0" &gt;&gt; /etc/fstab
mkdir -p /srv/node/sdb1
mount /srv/node/sdb1
chown -R swift:swift /srv/node</programlisting>
</para>
</listitem>
<listitem><para>Create <filename>/etc/rsyncd.conf</filename>:</para>
<para>
<programlisting>uid = swift
gid = swift
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
address = &lt;STORAGE_LOCAL_NET_IP&gt;
[account]
max connections = 2
path = /srv/node/
read only = false
lock file = /var/lock/account.lock
[container]
max connections = 2
path = /srv/node/
read only = false
lock file = /var/lock/container.lock
[object]
max connections = 2
path = /srv/node/
read only = false
lock file = /var/lock/object.lock</programlisting>
</para>
</listitem>
<listitem><para>(Optional) If you want to separate rsync and replication traffic to
replication network, set <literal>STORAGE_REPLICATION_NET_IP</literal>
instead of <literal>STORAGE_LOCAL_NET_IP</literal>:</para>
<para>
<programlisting>
address = &lt;STORAGE_REPLICATION_NET_IP&gt;
</programlisting>
</para>
</listitem>
<listitem>
<para>Edit the following line in <filename>/etc/default/rsync</filename>:</para>
<para>
<literallayout class="monospaced">RSYNC_ENABLE = true</literallayout></para>
</listitem>
<listitem><para>Start rsync daemon:</para>
<para><screen><prompt>#</prompt> <userinput>service rsync start</userinput></screen></para>
<note><title>Note</title>
<para>The rsync daemon requires no authentication, so it should be run on
a local, private network.</para></note>
</listitem>
<listitem>
<para>Create the swift recon cache directory and set its
permissions.<screen><prompt>#</prompt> <userinput>mkdir -p /var/swift/recon</userinput>
<prompt>#</prompt> <userinput>chown -R swift:swift /var/swift/recon</userinput></screen>
</para>
</listitem>
</orderedlist>
</section>