*Swift/起動用スクリプトの作成 [#m7ed6328] [[Swiftのインストール>Swift/インストール方法]]と、[[設定ファイルの作成後>Swift/設定ファイルの作成]]、各種サーバの起動等を行うスクリプトを作成します。~ このページも[[Swift All In One>http://swift.openstack.org/development_saio.html]]を参考にしています。 $devとなっている部分は、使用する環境に合わせて変更してください。~ Swift用に用意したパーティションの名前が入ります。~ $user、$groupも同様に変更が必要です。~ またこれらも、スクリプトを生成するスクリプトを作成してあります。 ~~/bin/resetswift #!/bin/bash swift-init all stop sleep 5 sudo umount /mnt/$dev sudo mkfs.xfs -f -i size=1024 /dev/$dev sudo mount /mnt/$dev sudo mkdir /mnt/$dev/1 /mnt/$dev/2 /mnt/$dev/3 /mnt/$dev/4 /mnt/$dev/test sudo chown $user:$group /mnt/$dev/* mkdir -p /srv/1/node/sdb1 /srv/2/node/sdb2 /srv/3/node/sdb3 /srv/4/node/sdb4 sudo rm -f /var/log/debug /var/log/messages /var/log/rsyncd.log /var/log/syslog sudo service rsyslog restart sudo service memcached restart swift用を動作させるための、準備をやり直すスクリプトです。~ mountのし直しや、必要なサービスの再起動を行います。 ~~/bin/remakerings #!/bin/bash cd /etc/swift rm -f *.builder *.ring.gz backups/*.builder backups/*.ring.gz swift-ring-builder object.builder create 18 3 1 swift-ring-builder object.builder add z1-127.0.0.1:6010/sdb1 1 swift-ring-builder object.builder add z2-127.0.0.1:6020/sdb2 1 swift-ring-builder object.builder add z3-127.0.0.1:6030/sdb3 1 swift-ring-builder object.builder add z4-127.0.0.1:6040/sdb4 1 swift-ring-builder object.builder rebalance swift-ring-builder container.builder create 18 3 1 swift-ring-builder container.builder add z1-127.0.0.1:6011/sdb1 1 swift-ring-builder container.builder add z2-127.0.0.1:6021/sdb2 1 swift-ring-builder container.builder add z3-127.0.0.1:6031/sdb3 1 swift-ring-builder container.builder add z4-127.0.0.1:6041/sdb4 1 swift-ring-builder container.builder rebalance swift-ring-builder account.builder create 18 3 1 swift-ring-builder account.builder add z1-127.0.0.1:6012/sdb1 1 swift-ring-builder account.builder add z2-127.0.0.1:6022/sdb2 1 swift-ring-builder account.builder add z3-127.0.0.1:6032/sdb3 1 swift-ring-builder account.builder add z4-127.0.0.1:6042/sdb4 1 swift-ring-builder account.builder rebalance ringを作成しなおします。~ ringとは、swiftでオブジェクトの場所をマッピングするためのものです。~ 複数台のノードを用いた構成にする場合、こちらでIPアドレスやport番号を指定します。~ ringについては[[Rings>Swift/Rings]]も参照ください。 ~~/bin/startmain #!/bin/bash swift-init auth-server start swift-init proxy-server start swift-init account-server start swift-init container-server start swift-init object-server start swiftの各種サービスを起動します。 ~~/bin/startrest #!/bin/bash export LANGUAGE=C swift-auth-recreate-accounts -K $devauth swift-init object-updater start swift-init container-updater start swift-init object-replicator start swift-init container-replicator start swift-init account-replicator start swift-init object-auditor start swift-init container-auditor start swift-init account-auditor start swift-init account-reaper start アカウントを作り直し、各種サーバのupdater等を起動します。~ updaterとは、エラーの類などで書き込みに失敗した場合に、後で再度書き込むための仕組みです。~ 言語を設定しているのは、ちょっとした不具合対策です。~ 詳しくは[[memo>Swift/memo]]で説明しています。 作成後、これらのスクリプトを実行可能にします。 # chmod +x ~/bin/* 次は[[実際に使ってみましょう>Swift/サーバの起動とテスト]] *スクリプトからの生成 [#x214dfd6] # swift_script_gen <user> <dev> # swift_script_gen <user> <dev> ~<user>には使用するユーザ名とグループ名、<dev>にはSwift用のパーティションの名前を指定します。~ ユーザ名とグループ名は同じ名前を想定しています。 *リンク [#ka44d919] [[Swift All In One>http://swift.openstack.org/development_saio.html]]