*Swift/インストール方法 [#p8268e99] Swiftのインストール方法を説明します。~ [[Swift All In Oneのページ>http://swift.openstack.org/development_saio.html]]を参考にしています。~ ここではswiftのソースコードをダウンロードするところまでを説明します。~ またここでの操作をまとめた、インストール用のスクリプトも作成してあります。 *動作環境 [#ja420773] Swiftのドキュメントと同様、Ubuntu10.04を使用します。~ ドキュメントでは、MacOSの上でVMWareを動かし、ゲストOSとしてUbuntuを入れています。~ このページではKVMのゲストOSとして構築した環境で動作確認しています。~ 1台のPC上で各サーバを動作させる構成を想定しています。 **環境の要件 [#p93f85c4] Objectサーバ、Containerサーバ、Accountサーバには~ メタデータに対応したファイルシステムが必要です。 パッケージとしては以下の2つが必要です。 -python2.6 -rsync3.0 また以下のpythonライブラリも必要です。 -Eventlet 0.9.8 -WebOb 0.9.8 -Setuptools -Simplejson -Xattr -Nose -Sphinx *インストール [#n9a07631] ドキュメントに沿って、順にコマンドを実行していきます。~ なお、インストール用のスクリプトも作成してあります。 **必要なパッケージのインストール [#ye0de555] root権限が必要なコマンドが続くので、まずはrootになっておきます。 # sudo su - apt-getで必要なパッケージをインストールします。~ ※現在はswift自身も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の入手 [#v7ee9887] ソースコードを入手します。~ Swiftのソースは[[LaunchPad>http://launchpad.net/]]で配布されており、入手にはアカウントを作成する必要があります。~ またSSHの鍵を作成し、LaunchPadへ登録しておく必要があります。 ※現在はtar.gz形式で、Swiftのサイトでも配布しているようです。 またSSHの鍵を作成し、LaunchPadへ登録しておく必要があります。~ ※現在はtar.gz形式で、Swiftのサイトでも配布しているようです。またapt-getでもインストール可能です。 まずは自分で作成したスクリプトを入れるためのディレクトリと、Swift用のディレクトリを作成します。 # mkdir ~/bin # mkdir ~/swift 続いて~/.bazaar/bazaar.confを以下の内容で作成します。~ 名前、メールアドレスはLaunchPadのアカウントを入力します。 [DEFAULT] email = Your Name <your-email-address> 作成後、LaunchPadにログインし、ソースコードを入手します。~ 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/設定ファイルの作成]]していきます。 *スクリプトでのインストール [#l376872e] 添付してあるswift_setupとswift_setup2でのインストール方法です。 事前準備として、以下の作業を行っておきます。 -LaunchPadのアカウント登録 -LaunchPadへの公開鍵の登録(秘密鍵はSwift用のPCにあるものとします) -bazaarの設定ファイル(~/.bazaar/bazaar.conf)の作成 -Swift用のパーティションの作成(fdisk) rootになって、swift_setupを実行します。 第一引数にユーザ名、第二引数にSwift用のパーティション名を指定します。 # sudo su - # cd <スクリプトのあるディレクトリ> # bash swift_setup nanodayo sdb1 従来の手順での、rsyncの再起動までを行ってくれます。 続いて通常のユーザに戻り、swift_setup2を実行します。 引数はswift_setupと同じです。~ また、ユーザ名はLaunchPadのIDと同じであると想定しています。 違う場合は該当箇所を書き換えて使用してください。 # exit # ./swift_setup2 nanodayo sdb1 ソースコードの入手と、通常ユーザ用の~/.bashrcへの追記を行ないます。 *リンク [#c513e90c] -[[LaunchPad>http://launchpad.net/]] -[[Swift All In One>http://swift.openstack.org/development_saio.html]] -[[Installing Object Storage (Swift)>http://wiki.openstack.org/SwiftInstall/Austin]] -[[Configuring OpenStack Object Store (Swift)>http://wiki.openstack.org/ConfigureSwift]]