準備として、インストールは終わっているものとします。
インストールのページ同様、Swift All In Oneのページを参考にしています。
設定項目の詳細についてはSwiftのページのDeployment Guideを参照してください。
またそのため、構成としては1台のPC上で全てのサーバを動かすことを想定しています。
SwiftにはAuthサーバ、proxyサーバ、Containerサーバ、Objectサーバ、Accountサーバがあり、それぞれ設定ファイルが必要になります。
AuthサーバとProxyサーバ以外は、それぞれ4つ動かしており、設定ファイルも4つずつ必要になります。
設定内容は、Swift All In Oneのページとは変えてあります。
$userは使用しているユーザ名に置き換えてください。各種サーバは、そのユーザの権限で実行されます。
なお、これらの設定ファイルを生成するスクリプトも作成してあります。
/etc/swift/auth-server.conf
[DEFAULT] user = $user [pipeline:main] pipeline = auth-server [app:auth-server] use = egg:swift#auth default_cluster_url = http://127.0.0.1:8080/v1 # Highly recommended to change this. super_admin_key = devauth
devauthは管理用パスワードとして機能し、後の操作で使用します。
/etc/swift/proxy-server.conf
[DEFAULT] bind_port = 8080 user = $user [auth] [pipeline:main] pipeline = healthcheck cache auth proxy-server [app:proxy-server] use = egg:swift#proxy [filter:auth] use = egg:swift#auth [filter:healthcheck] use = egg:swift#healthcheck [filter:cache] use = egg:swift#memcache
/etc/swift/account-server/1.conf
[DEFAULT] devices = /srv/1/node mount_check = false bind_port = 6012 user = $user [pipeline:main] pipeline = account-server [app:account-server] use = egg:swift#account [account-replicator] vm_test_mode = yes [account-auditor] [account-reaper]
/etc/swift/account-server/2.conf
[DEFAULT] devices = /srv/2/node mount_check = false bind_port = 6022 user = $user [pipeline:main] pipeline = account-server [app:account-server] use = egg:swift#account [account-replicator] vm_test_mode = yes [account-auditor] [account-reaper]
/etc/swift/account-server/3.conf
[DEFAULT] devices = /srv/3/node mount_check = false bind_port = 6032 user = $user [pipeline:main] pipeline = account-server [app:account-server] use = egg:swift#account [account-replicator] vm_test_mode = yes [account-auditor] [account-reaper]
/etc/swift/account-server/4.conf
[DEFAULT] devices = /srv/4/node mount_check = false bind_port = 6042 user = $user [pipeline:main] pipeline = account-server [app:account-server] use = egg:swift#account [account-replicator] vm_test_mode = yes [account-auditor] [account-reaper]
/etc/swift/container-server/1.conf
[DEFAULT] devices = /srv/1/node mount_check = false bind_port = 6011 user = $user [pipeline:main] pipeline = container-server [app:container-server] use = egg:swift#container [container-replicator] vm_test_mode = yes [container-updater] [container-auditor]
/etc/swift/container-server/2.conf
[DEFAULT] devices = /srv/2/node mount_check = false bind_port = 6021 user = $user [pipeline:main] pipeline = container-server [app:container-server] use = egg:swift#container [container-replicator] vm_test_mode = yes [container-updater] [container-auditor]
/etc/swift/container-server/3.conf
[DEFAULT] devices = /srv/3/node mount_check = false bind_port = 6031 user = $user [pipeline:main] pipeline = container-server [app:container-server] use = egg:swift#container [container-replicator] vm_test_mode = yes [container-updater] [container-auditor]
/etc/swift/container-server/4.conf
[DEFAULT] devices = /srv/4/node mount_check = false bind_port = 6041 user = $user [pipeline:main] pipeline = container-server [app:container-server] use = egg:swift#container [container-replicator] vm_test_mode = yes [container-updater] [container-auditor]
/etc/swift/object-server/1.conf
[DEFAULT] devices = /srv/1/node mount_check = false bind_port = 6010 user = $user [pipeline:main] pipeline = object-server [app:object-server] use = egg:swift#object [object-replicator] vm_test_mode = yes [object-updater] [object-auditor]
/etc/swift/object-server/2.conf
[DEFAULT] devices = /srv/2/node mount_check = false bind_port = 6020 user = $user [pipeline:main] pipeline = object-server [app:object-server] use = egg:swift#object [object-replicator] vm_test_mode = yes [object-updater] [object-auditor]
/etc/swift/object-server/3.conf
[DEFAULT] devices = /srv/3/node mount_check = false bind_port = 6030 user = $user [pipeline:main] pipeline = object-server [app:object-server] use = egg:swift#object [object-replicator] vm_test_mode = yes [object-updater] [object-auditor]
/etc/swift/object-server/4.conf
[DEFAULT] devices = /srv/4/node mount_check = false bind_port = 6040 user = $user [pipeline:main] pipeline = object-server [app:object-server] use = egg:swift#object [object-replicator] vm_test_mode = yes [object-updater] [object-auditor]
終わったら続いて起動用スクリプトの作成に入ります。
添付してあるスクリプトから生成する場合は、以下のように実行します。
# swift_conf_gen <user> <devauth>
<user>にはユーザ名、<devauth>はAuthサーバのsuper_admin_keyの値をそれぞれ指定します。