Swift/起動用スクリプトの作成

Swiftのインストールと、設定ファイルの作成後、各種サーバの起動等を行うスクリプトを作成します。
このページもSwift All In Oneを参考にしています。

$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も参照ください。

~/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で説明しています。

作成後、これらのスクリプトを実行可能にします。

# chmod +x ~/bin/*

次は実際に使ってみましょう

スクリプトからの生成

# swift_script_gen <user> <dev> 

<user>には使用するユーザ名とグループ名、<dev>にはSwift用のパーティションの名前を指定します。
ユーザ名とグループ名は同じ名前を想定しています。

リンク

Swift All In One


添付ファイル: fileswift_script_gen 2054件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-01-13 (木) 11:29:18 (5014d)