7d1a6bde03
Add further openSUSE instructions Change-Id: Id51704fd1e6099f273ca2b980ec8facd816c6785
94 lines
4.2 KiB
XML
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" >> /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 = <STORAGE_LOCAL_NET_IP>
|
|
|
|
[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 = <STORAGE_REPLICATION_NET_IP>
|
|
</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>
|