Note | |
---|---|
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 OpenStack Configuration Reference for additional recommendations. |
Install storage node packages:
# zypper install openstack-swift-account openstack-swift-container \ openstack-swift-object python-xml xfsprogs xinetd
For each device on the node that you want to use for storage, set up the XFS volume (
/dev/sdb
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.# fdisk /dev/sdb # 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
Replace the content of
/etc/rsyncd.conf
with: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(Optional) If you want to separate rsync and replication traffic to replication network, set
STORAGE_REPLICATION_NET_IP
instead ofSTORAGE_LOCAL_NET_IP
:address =
STORAGE_REPLICATION_NET_IP
Edit the following line in
/etc/xinetd.d/rsync
:disable = false
Start the
xinetd
service and configure it to start when the system boots:# service xinetd start # chkconfig xinetd on
Note The rsync service requires no authentication, so run it on a local, private network.
Create the swift recon cache directory and set its permissions:
# mkdir -p /var/swift/recon # chown -R swift:swift /var/swift/recon