bcf7f723d1
Note that openSUSE uses openstack-swift as user/group Change-Id: I89a9f71c7c63c28cdf1ebe2e738e0791b8b4e2fb
134 lines
5.9 KiB
XML
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" >> /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" >> /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 = <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">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>
|
|
</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 = <STORAGE_REPLICATION_NET_IP>
|
|
</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>
|