openstack-manuals/doc/install-guide/object-storage/section_object-storage-install-config-storage-nodes.xml
Andreas Jaeger bcf7f723d1 openSUSE instructions for swift
Note that openSUSE uses openstack-swift as user/group

Change-Id: I89a9f71c7c63c28cdf1ebe2e738e0791b8b4e2fb
2013-10-13 21:20:23 +02:00

134 lines
5.9 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>
<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. Consult the
<citetitle>OpenStack Configuration Reference</citetitle> for additional
recommendations.</para>
</note>
<procedure>
<step>
<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>
</step>
<step>
<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 os="ubuntu;debian;rhel;centos;fedora"><prompt>#</prompt> <userinput>fdisk /dev/sdb</userinput>
<prompt>#</prompt> <userinput>mkfs.xfs /dev/sdb1</userinput>
<prompt>#</prompt> <userinput>echo "/dev/sdb1 /srv/node/sdb1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 0" &gt;&gt; /etc/fstab</userinput>
<prompt>#</prompt> <userinput>mkdir -p /srv/node/sdb1</userinput>
<prompt>#</prompt> <userinput>mount /srv/node/sdb1</userinput>
<prompt>#</prompt> <userinput>chown -R swift:swift /srv/node</userinput></screen>
<screen os="opensuse"><prompt>#</prompt> <userinput>fdisk /dev/sdb</userinput>
<prompt>#</prompt> <userinput>mkfs.xfs /dev/sdb1</userinput>
<prompt>#</prompt> <userinput>echo "/dev/sdb1 /srv/node/sdb1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 0" &gt;&gt; /etc/fstab</userinput>
<prompt>#</prompt> <userinput>mkdir -p /srv/node/sdb1</userinput>
<prompt>#</prompt> <userinput>mount /srv/node/sdb1</userinput>
<prompt>#</prompt> <userinput>chown -R openstack-swift:openstack-swift /srv/node</userinput></screen>
</para>
</step>
<step>
<para>Create <filename>/etc/rsyncd.conf</filename>:</para>
<para>
<programlisting language="ini" os="ubuntu;debian;rhel;centos;fedora">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>
<programlisting language="ini" os="opensuse">uid = openstack-swift
gid = openstack-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>
</step>
<step>
<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>
</step>
<step>
<para>Edit the following line in
<filename>/etc/default/rsync</filename>:</para>
<para>
<literallayout class="monospaced">RSYNC_ENABLE = true</literallayout></para>
</step>
<step>
<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>
</step>
<step>
<para>Create the swift recon cache directory and set its
permissions.<screen os="ubuntu;debian;rhel;centos;fedora"><prompt>#</prompt> <userinput>mkdir -p /var/swift/recon</userinput>
<prompt>#</prompt> <userinput>chown -R swift:swift /var/swift/recon</userinput></screen>
<screen os="opensuse"><prompt>#</prompt> <userinput>mkdir -p /var/swift/recon</userinput>
<prompt>#</prompt> <userinput>chown -R openstack-swift:openstack-swift /var/swift/recon</userinput></screen>
</para>
</step>
</procedure>
</section>