Swiftのインストール方法を説明します。
Swift All In Oneのページを参考にしています。
このページではswiftのソースコードをダウンロードするところまでを説明します。
Swiftのドキュメントと同様、Ubuntu10.04を使用します。
ドキュメントでは、MacOSの上でVMWareを動かし、ゲストOSとしてUbuntuを入れています。
このページではKVMのゲストOSとして構築した環境で動作確認しています。
ドキュメントに沿って、順にコマンドを実行していきます。
なお、インストール用のスクリプトも作成してあるため、そちらを使うことを勧めます。
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
新しいパーティションを作成し、マウントの準備をします。
sdbやsdb1は使用環境にあわせて変更します。
OSインストールの段階で作成しておいた場合は、fdiskは不要です。
# 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
マウントし、必要なディレクトリを作成します。
nanodayoはこちらの環境でのユーザ名・グループ名です。
実際に使用するユーザ名、グループ名に読み替えてください。
# 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に以下の行を記述します。
デフォルトではfalseになっています。
RSYNC_ENABLE=true
ソースコードを入手します。
SwiftのソースはLaunchPadで配布されており、入手にはアカウントを作成する必要があります。
またSSHの鍵を作成し、LaunchPad?へ登録しておく必要があります。
まずは自分で作成したスクリプトを入れるためのディレクトリと、Swift用のディレクトリを作成します。
# mkdir ~/bin # mkdir ~/swift
続いて~/.bazaar/bazaar.confを以下の内容で作成します。
名前、メールアドレスはLaunchPad?のアカウントを入力します。
[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 - # bash swift_setup nanodayo sdb1
従来の手順での、rsyncの再起動までを行ってくれます。
続いて通常のユーザに戻り、swift_setup2を実行します。
引数はswift_setupと同じです。
また、ユーザ名はLaunchPad?のIDと同じであると想定しています。
違う場合は該当箇所を書き換えて使用してください。
# exit # ./swift_setup2 nanodayo sdb1
ソースコードの入手と、通常ユーザ用の~/.bashrcへの追記を行ないます。