このセクションでは、アカウントサービス、コンテナーサービス、オブジェクトサービスを実行するストレージノードをインストールして設定する方法を説明します。この設定は簡単のため、それぞれ 2 つの空のローカルブロックストレージデバイスを持つ、2 つのストレージノードを利用します。この説明では /dev/sdb と /dev/sdc を使用しますが、お使いのノードに合わせて、別の値に置き換えることができます。
Object Storage は、拡張属性 (xattr) を持つ任意のファイルシステムをサポートしますが、テストとベンチマークによると XFS が最高のパフォーマンスと信頼性を示しています。お使いの環境を水平的にスケールさせる方法の詳細は Deployment Guide を参照してください。
ストレージノードに Object Storage サービスをインストールして設定する前に、ストレージデバイスを準備する必要があります。
注釈
各ストレージノードにおいて以下の手順を実行します。
補助ユーティリティーパッケージをインストールします。
# apt-get install xfsprogs rsync
パーティション /dev/sdb1 と /dev/sdc1 を XFS としてフォーマットします。
# mkfs.xfs /dev/sdb
# mkfs.xfs /dev/sdc
マウントポイントとなるディレクトリーを作成します。
# mkdir -p /srv/node/sdb
# mkdir -p /srv/node/sdc
/etc/fstab ファイルを編集し、以下の内容を追加します。
/dev/sdb /srv/node/sdb xfs noatime,nodiratime,nobarrier,logbufs=8 0 2
/dev/sdc /srv/node/sdc xfs noatime,nodiratime,nobarrier,logbufs=8 0 2
デバイスをマウントします。
# mount /srv/node/sdb
# mount /srv/node/sdc
/etc/rsyncd.conf ファイルを編集し、以下の内容を追加します。
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.lock
MANAGEMENT_INTERFACE_IP_ADDRESS はストレージノードの管理ネットワークの IP アドレスで置き換えます。
注釈
rsync サービスは認証を必要としないため、本番環境ではプライベートネットワークで実行することを検討してください。
/etc/default/rsync ファイルを編集し、rsync サービスを有効にします。
RSYNC_ENABLE=true
rsync サービスを起動します。
# service rsync start
注釈
設定ファイルのデフォルトは、ディストリビューションにより異なります。これらの既存のセクションとオプションを編集するのではなく、追加する必要があるかもしれません。また、設定のスニペットにある 省略 (...) は、保持すべきデフォルトの設定オプションを意味します。
注釈
各ストレージノードにおいて以下の手順を実行します。
パッケージをインストールします。
# apt-get install swift swift-account swift-container swift-object
Object Storage のソースリポジトリーからアカウント、コンテナー、オブジェクトのサービス設定ファイルを取得します。
# curl -o /etc/swift/account-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/account-server.conf-sample?h=stable/liberty
# curl -o /etc/swift/container-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/container-server.conf-sample?h=stable/liberty
# curl -o /etc/swift/object-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/object-server.conf-sample?h=stable/liberty
/etc/swift/account-server.conf ファイルを編集し、以下の作業をすべて行います。
[DEFAULT] セクションで、バインドする IP アドレス、バインドするポート、ユーザー、設定ディレクトリー、マウントポイントとなるディレクトリーを設定します。
[DEFAULT]
...
bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
bind_port = 6002
user = swift
swift_dir = /etc/swift
devices = /srv/node
mount_check = true
MANAGEMENT_INTERFACE_IP_ADDRESS はストレージノードの管理ネットワークの IP アドレスで置き換えます。
[pipeline:main] セクションで、適切なモジュールを有効にします。
[pipeline:main]
pipeline = healthcheck recon account-server
注釈
追加機能を有効にする他のモジュールに関する詳細は、Deployment Guide を参照してください。
[filter:recon] セクションに、recon (計測項目) キャッシュディレクトリーを設定します。
[filter:recon]
use = egg:swift#recon
...
recon_cache_path = /var/cache/swift
/etc/swift/container-server.conf ファイルを編集し、以下の作業をすべて行います。
[DEFAULT] セクションで、バインドする IP アドレス、バインドするポート、ユーザー、設定ディレクトリー、マウントポイントとなるディレクトリーを設定します。
[DEFAULT]
...
bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
bind_port = 6001
user = swift
swift_dir = /etc/swift
devices = /srv/node
mount_check = true
MANAGEMENT_INTERFACE_IP_ADDRESS はストレージノードの管理ネットワークの IP アドレスで置き換えます。
[pipeline:main] セクションで、適切なモジュールを有効にします。
[pipeline:main]
pipeline = healthcheck recon container-server
注釈
追加機能を有効にする他のモジュールに関する詳細は、Deployment Guide を参照してください。
[filter:recon] セクションに、recon (計測項目) キャッシュディレクトリーを設定します。
[filter:recon]
use = egg:swift#recon
...
recon_cache_path = /var/cache/swift
/etc/swift/object-server.conf ファイルを編集し、以下の作業をすべて行います。
[DEFAULT] セクションで、バインドする IP アドレス、バインドするポート、ユーザー、設定ディレクトリー、マウントポイントとなるディレクトリーを設定します。
[DEFAULT]
...
bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
bind_port = 6000
user = swift
swift_dir = /etc/swift
devices = /srv/node
mount_check = true
MANAGEMENT_INTERFACE_IP_ADDRESS はストレージノードの管理ネットワークの IP アドレスで置き換えます。
[pipeline:main] セクションで、適切なモジュールを有効にします。
[pipeline:main]
pipeline = healthcheck recon object-server
注釈
追加機能を有効にする他のモジュールに関する詳細は、Deployment Guide を参照してください。
[filter:recon] セクションに、recon (計測項目) キャッシュおよびロックディレクトリーを設定します。
[filter:recon]
use = egg:swift#recon
...
recon_cache_path = /var/cache/swift
recon_lock_path = /var/lock
マウントポイントのディレクトリー構造に適切な所有権を設定します。
# chown -R swift:swift /srv/node
recon ディレクトリーを作成し、適切な所有権を設定します。
# mkdir -p /var/cache/swift
# chown -R root:swift /var/cache/swift
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.