42b23e8c84
Closes-Bug: #1249082 Change-Id: I9f68073da5ca25867b2b8c099cce5df34f6a3eec author: diane fleming
131 lines
5.8 KiB
XML
131 lines
5.8 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>Install and configure storage nodes</title>
|
|
<note>
|
|
<para>Object Storage works on any file system that supports
|
|
Extended Attributes (XATTRS). XFS shows the best overall
|
|
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/"
|
|
><citetitle>OpenStack Configuration
|
|
Reference</citetitle></link> 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;sles"><prompt>#</prompt> <userinput>zypper install openstack-swift-account openstack-swift-container \
|
|
openstack-swift-object xfsprogs</userinput></screen></para>
|
|
</step>
|
|
<step>
|
|
<para>For each device on the node that you want 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>
|
|
<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" >> /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;sles"><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" >> /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>
|
|
</step>
|
|
<step>
|
|
<para>Create <filename>/etc/rsyncd.conf</filename>:</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 = <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>
|
|
<programlisting language="ini" os="opensuse;sles">uid = openstack-swift
|
|
gid = openstack-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>
|
|
</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>
|
|
<programlisting language="ini">address = <STORAGE_REPLICATION_NET_IP></programlisting>
|
|
</step>
|
|
<step>
|
|
<para>Edit the following line in
|
|
<filename>/etc/default/rsync</filename>:</para>
|
|
<programlisting language="ini">RSYNC_ENABLE = true</programlisting>
|
|
</step>
|
|
<step>
|
|
<para>Start rsync daemon:</para>
|
|
<screen><prompt>#</prompt> <userinput>service rsync start</userinput></screen>
|
|
<note>
|
|
<para>The rsync daemon requires no authentication, so
|
|
run it on a local, private network.</para>
|
|
</note>
|
|
</step>
|
|
<step>
|
|
<para>Create the swift recon cache directory and set its
|
|
permissions.</para>
|
|
<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;sles"><prompt>#</prompt> <userinput>mkdir -p /var/swift/recon</userinput>
|
|
<prompt>#</prompt> <userinput>chown -R openstack-swift:openstack-swift /var/swift/recon</userinput></screen>
|
|
</step>
|
|
</procedure>
|
|
</section>
|