*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]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS