Swift/インストール方法

Swiftのインストール方法を説明します。
Swift All In Oneのページを参考にしています。
ここではswiftのソースコードをダウンロードするところまでを説明します。
またここでの操作をまとめた、インストール用のスクリプトも作成してあります。

動作環境

Swiftのドキュメントと同様、Ubuntu10.04を使用します。
ドキュメントでは、MacOSの上でVMWareを動かし、ゲストOSとしてUbuntuを入れています。
このページではKVMのゲストOSとして構築した環境で動作確認しています。

1台のPC上で各サーバを動作させる構成を想定しています。

環境の要件

Objectサーバ、Containerサーバ、Accountサーバには
メタデータに対応したファイルシステムが必要です。

パッケージとしては以下の2つが必要です。

  • python2.6
  • rsync3.0

また以下のpythonライブラリも必要です。

  • Eventlet 0.9.8
  • WebOb? 0.9.8
  • Setuptools
  • Simplejson
  • Xattr
  • Nose
  • Sphinx

インストール

ドキュメントに沿って、順にコマンドを実行していきます。
なお、インストール用のスクリプトも作成してあります。

必要なパッケージのインストール

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の入手

ソースコードを入手します。
SwiftのソースはLaunchPadで配布されており、入手にはアカウントを作成する必要があります。
また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_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への追記を行ないます。

リンク


添付ファイル: fileswift_setup 965件 [詳細] fileswift_setup2 896件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-11-12 (金) 10:06:40 (2990d)