はじめに
OpenBlockS 600の最大の特長は堅牢性にあります。筐体のみで排熱するよう設計されており、
本記事では、
LVS
LVSは、
ネットワーク構成図

ロードバランサobs600は、
これからWebサーバのLVSをIPVSとKeepalivedで作ってみましょう。
- IPVS
- IPVS
(IP Virtual Server) はLinuxカーネルに実装されたロードバランサです。OpenBlockS 600のカーネルはIPVSを有効にしているので、 カーネルの再構築は必要ありません。IPVSを使うためには、 ipvsadmユーティリティが必要です。 - Keepalived
- Keepalivedはリアルサーバがダウンしていないか監視します。IPVSと連携して、
ダウンしたリアルサーバを除いた他のリアルサーバでサービスするようにします。
OpenBlockS 600にDebianをインストール
それでは、
OpenBlockS 600の標準OSはSSD/
コンパクトフラッシュの用意
Debianはコンパクトフラッシュ
Webインターフェースの
ファイルのダウンロード
必要なファイル
USBメモリの準備
容量128Mバイト以上のUSBメモリを用意してください。
ファイルシステムはFAT、
# mke2fs -j -b 4096 /dev/sda1
ボリュームラベルを
# e2label /dev/sda1 MSF
USBメモリのルートディレクトリにディレクトリ
ファイル | ファイル名 |
---|---|
OS イメージ | lenny-powerpc-obs600-20100119-00. |
カーネル | uImage. |
カーネルモジュール | kern. |
半自動インストール用スクリプト | msf_ |
シリアル接続
Tera Termやminicomなどの端末エミュレータソフトウェアの動作するホストを用意してください。OpenBlockS 600にシリアル接続します。端末エミュレータの設定値は表2のとおりです。
項目 | 設定値 |
---|---|
Baud rate | 115,200bps |
Data | 8bit |
Parity | none |
Stop bits | 1bit |
Flow Control | none |
インストールの実行
OpenBlockS 600の電源が切れていることを確認し、
端末エミュレータの画面にインストール中の様子が出力されていることを確認してください。何も出力されていなかったり、
再起動後の操作
OpenBlockS 600の電源を入れ、
# depmod -a
カーネルとカーネルモジュールの更新
これでOpenBlockS 600がDebianで動くようになりました。これからはDebianの作法にしたがって、
カーネルにセキュリティフィックスなどがあった場合には、
カーネル
OpenBlockS 600へのipvsadmとkeepalivedの導入
一時的なネットワークの設定
Debianのパッケージを取得するために、
# dhclient eth0 # export ftp_proxy=http://proxy.example.jp:8080 # export http_proxy=http://proxy.example.jp:8080
Debianの更新
すでにインストールされているパッケージを更新します
# apt-get update # apt-get upgrade
ipvsadmとkeepalivedパッケージのインストール
ipvsadmとkeepalivedパッケージをインストールします
# apt-get install keepalived
OpenBlockS 600のネットワーク設定
一時的なネットワークの設定の無効化
上記の一時的なネットワークの設定を無効にしてください。
- /etc/
resolv. conf ファイル/etc/
resolv. confを空にします。 - /etc/
network/ interfaces イーサネットインターフェースeth0とeth1をdownします
(図8)。 図8 イーサネットインターフェースのdown # ifdown eth0 # ifdown eth1
ファイル/etc/
network/ interfacesをリスト1のとおり変更してください。eth0はクライアント側です。eth0:120は仮想IPアドレスです。eth1は仮想サーバ側です。ゲートウェイは設定しません。 リスト1 /etc/ network/ interfaces # Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or # /usr/
share/ doc/ ifupdown/ examples for more information. auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192. 168. 253. 254 netmask 255. 255. 255. 0 auto eth0:120 iface eth0:120 inet static address 192. 168. 253. 120 netmask 255. 255. 255. 0 auto eth1 iface eth1 inet static address 172. 16. 14. 120 netmask 255. 255. 255. 0 イーサネットインターフェースeth0、
eth0:120、 eth1をupします (図9)。 図9 イーサネットインターフェースのup # ifup eth0 # ifup eth0:120 # ifup eth1
- /etc/
hostname - ファイル/etc/
hostnameにホストobs600を設定します。
IPフォワーディングの有効化
IPフォワーディングを有効にするために、
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward = 1
obs600# sysctl -p net.ipv4.ip_forward = 1
IPフォワーディングが有効か無効か確認するには図11のとおりsysctlコマンドを実行します。変数net.
obs600# sysctl net.ipv4.ip_forward
パケットフィルタの設定をしていないので、
リアルサーバの構築
リアルサーバを3台用意してください。ここではOSはDebianとします。ホスト名はrealserver1、
CPU | Intel Core2 Quad Q9300 2. |
---|---|
メモリ | 1Gバイト |
イーサネット | 1000Base-T |
ネットワーク設定
リアルサーバのネットワーク設定は表4のとおりです。デフォルトゲートウェイがobs600のeth1のIPアドレスになっていることに注意してください。
ホスト名 | IPアドレス | デフォルトゲートウェイ |
---|---|---|
realserver1 | 172. | 172. |
realserver2 | 172. | 172. |
realserver3 | 172. | 172. |
Apacheのインストール
apache2パッケージをインストールします。
クライアントの構築
クライアントを1台用意してください。OSはリアルサーバと同じDebianとします。ホスト名はclientです。ハードウェア仕様はリアルサーバと同じです
ネットワーク設定
クライアントのネットワーク設定は表5のとおりです。デフォルトゲートウェイはobs600のeth0のIPアドレスになります。
ホスト名 | IPアドレス | デフォルトゲートウェイ |
---|---|---|
client | 192. | 192. |
cURLのインストール
ブラウザの代わりとしてcURLを使います。もちろんブラウザを使ってもかまいません。curlパッケージをインストールします。
ApacheBenchのインストール
Apacheに付属しているベンチマークツールApacheBenchを使います。apache2-utilsパッケージをインストールします。
接続確認
クライアントclientからcurlコマンドでリアルサーバに接続して応答があるか確認してみましょう。
リアルサーバのコンテンツ
リアルサーバのコンテンツは、
ドキュメントルートに、
cURLでの接続と応答
クライアントclientで図12のとおりcurlコマンドを実行してください。指定したURLのホストのホスト名が表示されれば、
client$ curl http://172.16.14.121/ realserver1 client$ curl http://172.16.14.122/ realserver2 client$ curl http://172.16.14.123/
応答がない場合、
前編のまとめ
前編では、
後編では、
参考ページ
- The Linux Virtual Server Project
- URL:http://
www. linuxvirtualserver. org/ - IPVS Software
- URL:http://
www. linuxvirtualserver. org/ software/ ipvs. html - Keepalived
- URL:http://
www. keepalived. org/ - 他OSのインストール方法
(OBS600) - URL:http://
openblocks. plathome. co. jp/ support/ documentation/ other_ os. html - LVSで実現するロードバランサ
- URL:http://
lab. klab. org/ wiki/ LVSで実現するロードバランサ