The "Default configuration files vary by distribution." note is duplicated in a lot of files. This patch moves this note into a separate file and includes this file in all files using this note. Change-Id: Ie61e378a217539259180f2e56282b137dd8aa30a
7.4 KiB
Install and configure the storage nodes
This section describes how to install and configure storage nodes
that operate the account, container, and object services. For
simplicity, this configuration references two storage nodes, each
containing two empty local block storage devices. Each of the devices,
/dev/sdb and /dev/sdc, must contain a
suitable partition table with one partition occupying the entire device.
Although the Object Storage service supports any file system with extended attributes (xattr),
testing and benchmarking indicate the best performance and reliability
on XFS. For more
information on horizontally scaling your environment, see the Deployment
Guide.
To configure prerequisites
You must configure each storage node before you install and configure
the Object Storage service on it. Similar to the controller node, each
storage node contains one network interface on the management network.
Optionally, each storage node can contain a second network interface on
a separate network for replication. For more information, see environment.
Configure unique items on the first storage node:
Configure the management interface:
- IP address:
10.0.0.51 - Network mask:
255.255.255.0(or/24) - Default gateway:
10.0.0.1
Set the hostname of the node to
object1.- IP address:
Configure unique items on the second storage node:
Configure the management interface:
- IP address:
10.0.0.52 - Network mask:
255.255.255.0(or/24) - Default gateway:
10.0.0.1
Set the hostname of the node to
object2.- IP address:
Configure shared items on both storage nodes:
Copy the contents of the
/etc/hostsfile from the controller node and add the following to it:# object1 10.0.0.51 object1 # object2 10.0.0.52 object2Also add this content to the
/etc/hostsfile on all other nodes in your environment.Install and configure
NTPusing the instructions inenvironment-ntp.Install the supporting utility packages:
ubuntu or debian
# apt-get install xfsprogs rsyncrdo
# yum install xfsprogs rsyncobs
# zypper install xfsprogs rsyncFormat the
/dev/sdb1and/dev/sdc1partitions as XFS:# mkfs.xfs /dev/sdb1 # mkfs.xfs /dev/sdc1Create the mount point directory structure:
# mkdir -p /srv/node/sdb1 # mkdir -p /srv/node/sdc1Edit the
/etc/fstabfile and add the following to it:/dev/sdb1 /srv/node/sdb1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 2 /dev/sdc1 /srv/node/sdc1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 2Mount the devices:
# mount /srv/node/sdb1 # mount /srv/node/sdc1
Edit the
/etc/rsyncd.conffile and add the following to it:uid = swift gid = swift log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid address = MANAGEMENT_INTERFACE_IP_ADDRESS [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.lockReplace
MANAGEMENT_INTERFACE_IP_ADDRESSwith the IP address of the management network on the storage node.Note
The
rsyncservice requires no authentication, so consider running it on a private network.
ubuntu or debian
Edit the
/etc/default/rsyncfile and enable thersyncservice:RSYNC_ENABLE=trueStart the
rsyncservice:# service rsync start
obs or rdo
Start the
rsyncdservice and configure it to start when the system boots:# systemctl enable rsyncd.service # systemctl start rsyncd.service
Install and configure storage node components
Note
Perform these steps on each storage node.
Install the packages:
ubuntu or debian
# apt-get install swift swift-account swift-container swift-objectrdo
# yum install openstack-swift-account openstack-swift-container \ openstack-swift-objectobs
# zypper install openstack-swift-account \ openstack-swift-container openstack-swift-object python-xml
ubuntu or rdo or debian
Obtain the accounting, container, object, container-reconciler, and object-expirer service configuration files from the Object Storage source repository:
# curl -o /etc/swift/account-server.conf \ https://git.openstack.org/cgit/openstack/swift/plain/etc/account-server.conf-sample?h=stable/kilo # curl -o /etc/swift/container-server.conf \ https://git.openstack.org/cgit/openstack/swift/plain/etc/container-server.conf-sample?h=stable/kilo # curl -o /etc/swift/object-server.conf \ https://git.openstack.org/cgit/openstack/swift/plain/etc/object-server.conf-sample?h=stable/kilo # curl -o /etc/swift/container-reconciler.conf \ https://git.openstack.org/cgit/openstack/swift/plain/etc/container-reconciler.conf-sample?h=stable/kilo # curl -o /etc/swift/object-expirer.conf \ https://git.openstack.org/cgit/openstack/swift/plain/etc/object-expirer.conf-sample?h=stable/kiloEnsure proper ownership of the mount point directory structure:
# chown -R swift:swift /srv/nodeCreate the
recondirectory and ensure proper ownership of it:# mkdir -p /var/cache/swift # chown -R swift:swift /var/cache/swift
obs
Ensure proper ownership of the mount point directory structure:
# chown -R swift:swift /srv/nodeCreate the
recondirectory and ensure proper ownership of it:# mkdir -p /var/cache/swift # chown -R swift:swift /var/cache/swift