Swift/インストール方法 †Swiftのインストール方法を説明します。 動作環境 †Swiftのドキュメントと同様、Ubuntu10.04を使用します。 1台のPC上で各サーバを動作させる構成を想定しています。 環境の要件 †Objectサーバ、Containerサーバ、Accountサーバには パッケージとしては以下の2つが必要です。
また以下のpythonライブラリも必要です。
インストール †ドキュメントに沿って、順にコマンドを実行していきます。 必要なパッケージのインストール †root権限が必要なコマンドが続くので、まずはrootになっておきます。 # sudo su - apt-getで必要なパッケージをインストールします。 # apt-get install python-software-properties # add-apt-repository ppa:swift-core/ppa # apt-get update # apt-get install curl gcc bzr memcached python-configobj python-coverage \ python-dev python-nose python-setuptools python-simplejson python-xattr \ sqlite3 xfsprogs python-webob python-eventlet python-greenlet python-pastedeploy 新しいパーティションを作成し、マウントの準備をします。 # fdisk /dev/sdb # mkfs.xfs -i size=1024 /dev/sdb1 # mkdir -p /mnt/sdb1 以下の行を/etc/fstabに追加します。 /dev/sdb1 /mnt/sdb1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 0 マウントし、必要なディレクトリを作成します。 # mount /mnt/sdb1 # mkdir /mnt/sdb1/1 /mnt/sdb1/2 /mnt/sdb1/3 /mnt/sdb1/4 /mnt/sdb1/test # chown nanodayo:nanodayo /mnt/sdb1/* # mkdir /srv # for x in {1..4}; do ln -s /mnt/sdb1/$x /srv/$x; done # mkdir -p /etc/swift/object-server /etc/swift/container-server \ /etc/swift/account-server /srv/1/node/sdb1 /srv/2/node/sdb2 /srv/3/node/sdb3 \ /srv/4/node/sdb4 /var/run/swift # chown -R nanodayo:nanodayo /etc/swift /srv/[1-4]/ /var/run/swift /etc/rc.localに以下の行を追加します。exit 0よりも前に記述する必要があります。 mkdir /var/run/swift chown nanodayo:nanodayo /var/run/swift /etc/rsyncd.confを以下の内容で作成します。 uid = nanodayo gid = nanodayo log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid [account6012] max connections = 25 path = /srv/1/node/ read only = false lock file = /var/lock/account6012.lock [account6022] max connections = 25 path = /srv/2/node/ read only = false lock file = /var/lock/account6022.lock [account6032] max connections = 25 path = /srv/3/node/ read only = false lock file = /var/lock/account6032.lock [account6042] max connections = 25 path = /srv/4/node/ read only = false lock file = /var/lock/account6042.lock [container6011] max connections = 25 path = /srv/1/node/ read only = false lock file = /var/lock/container6011.lock [container6021] max connections = 25 path = /srv/2/node/ read only = false lock file = /var/lock/container6021.lock [container6031] max connections = 25 path = /srv/3/node/ read only = false lock file = /var/lock/container6031.lock [container6041] max connections = 25 path = /srv/4/node/ read only = false lock file = /var/lock/container6041.lock [object6010] max connections = 25 path = /srv/1/node/ read only = false lock file = /var/lock/object6010.lock [object6020] max connections = 25 path = /srv/2/node/ read only = false lock file = /var/lock/object6020.lock [object6030] max connections = 25 path = /srv/3/node/ read only = false lock file = /var/lock/object6030.lock [object6040] max connections = 25 path = /srv/4/node/ read only = false lock file = /var/lock/object6040.lock /etc/defaults/rsyncに以下の行を記述します。 RSYNC_ENABLE=true Swiftの入手 †ソースコードを入手します。 まずは自分で作成したスクリプトを入れるためのディレクトリと、Swift用のディレクトリを作成します。 # mkdir ~/bin # mkdir ~/swift 続いて~/.bazaar/bazaar.confを以下の内容で作成します。 [DEFAULT] email = Your Name <your-email-address> 作成後、LaunchPad?にログインし、ソースコードを入手します。 # bzr launchpad-login # bzr init-repo swift # cd ~/swift # bzr branch lp:swift trunk ダウンロード後、インストールします。 # cd ~/swift/trunk # sudo python setup.py develop ~/.bashrc等の後ろの方に以下の内容を加えます。 export PATH_TO_TEST_XFS=/mnt/sdb1/test export SWIFT_TEST_CONFIG_FILE=/etc/swift/func_test.conf export PATH=${PATH}:~/bin 反映させるため、読み込ませます。 # . ~/.bashrc 終わったらSwift用の設定ファイルを作成していきます。 スクリプトでのインストール †添付してあるswift_setupとswift_setup2でのインストール方法です。 事前準備として、以下の作業を行っておきます。
rootになって、swift_setupを実行します。 第一引数にユーザ名、第二引数にSwift用のパーティション名を指定します。 # sudo su - # cd <スクリプトのあるディレクトリ> # bash swift_setup nanodayo sdb1 従来の手順での、rsyncの再起動までを行ってくれます。 続いて通常のユーザに戻り、swift_setup2を実行します。
引数はswift_setupと同じです。 # exit # ./swift_setup2 nanodayo sdb1 ソースコードの入手と、通常ユーザ用の~/.bashrcへの追記を行ないます。 リンク † |