「パソコン1台ではじめるロードバランサ体験 」試してみた

・パソコン1台ではじめるロードバランサ体験
http://dsas.blog.klab.org/archives/50934015.html

そろそろロードバランサとか使った環境で色々テストしたくなってきたので, ちょっと試してみた。
LVSを使う事だけ前提での個人的メモです。
というか、上記サイトの必要部分端折っただけです。ごめんなさい。


■ テスト環境
VM Player(http://www.vmware.com/ja/products/player/)はインストール済み。
クライアントはWindows Vista
タイプはlv1+WebServersを使用(あとでlv1でよかったと気付くけど…まぁいいよね)。


■ テスト用パッケージのDL
ここ(http://log.blog.klab.org/support/lvs-exp.zip)からDL。
解凍してlv1内のLVS.vmdkをlv1+WebServersに。
因みに、VMのOSはDebianみたいです。


VM Player, LVS起動
lv1+WebServers内のlv1+WebServers.vmxをクリック、VM Player起動。
VM起動後、Linuxブートローダが出てくるので、lv1+WebServersを選んでエンター。


■ 起動後にする(べき)こと
起動直後、rootでログイン(パスワード不要)してキーボード日本語化。

$ /root/change_keymap jp

そのあとpasswdコマンドでパスワード設定しといたほうが幸せかも...


SSHでログインできるように設定(但しコンソール上とは違い、WinSCPとかで操作してる場合はF1とかのショートカットは使えないよ)

1) コントロールパネル → ネットワーク接続 を開きます
2) 「VMware Network Adapter VMnet1」を探して右クリックし,「プロパティ」を選択します
3) 一覧から「インターネットプロトコル(TCP/IP)を選択し,「プロパティ」ボタンをクリックします.
4) 表示されたパネルの一番下にある「詳細設定」ボタンをクリックします.
5) 「IP 設定」タブの「追加」ボタンを押します.
6) 表示されたパネルに,以下の値を入力します
    IPアドレス: 192.168.31.1
 サブネットマスク: 255.255.255.0
7) 開いた各パネルの「OK」ボタンを,パネルを開いたのと逆の順序でクリックしていきます.


VMWare Playerを動かすマシンをクライアントとして使う場合の設定

1) コントロールパネル → ネットワーク接続 を開きます
2) 「VMware Network Adapter VMnet8」を探して右クリックし,「プロパティ」を選択します
3) 一覧から「インターネットプロトコル(TCP/IP)を選択し,「プロパティ」ボタンをクリックします.
4) 表示されたパネルの一番下にある「詳細設定」ボタンをクリックします.
5) 「IP 設定」タブの「追加」ボタンを押します.
6) 表示されたパネルに,以下の値を入力します
    IPアドレス: 10.10.31.200
 サブネットマスク: 255.255.255.0
7) 開いた各パネルの「OK」ボタンを,パネルを開いたのと逆の順序でクリックしていきます.


LVSの設定(説明省略)

$ ip addr add 10.10.31.100 label eth0:100 dev eth0
$ ip addr show eth0 label eth0:100

$ ipvsadm -C
$ ipvsadm -A -t 10.10.31.100:80 -s lc
$ ipvsadm -a -t 10.10.31.100:80 -r 192.168.31.101 -m
$ ipvsadm -a -t 10.10.31.100:80 -r 192.168.31.102 -m
$ ipvsadm -Ln


$ echo '1' > /proc/sys/net/ipv4/ip_forward


$ vi /etc/sysctl.conf
+ net.ipv4.ip_forward = 1
$ sysctl -p


■ 動作確認
ブラウザ上で、http://10.10.31.100/を開いてみる。
w101かw102が出ると思うので、別のブラウザも立ち上げて同じアドレスを開くと違うのが表示されてるはず。
一緒だったらまた別のブラウザで…とかやってると多分別の表示されるよね!(ね!)
そしたらとりあえずおっけーなはず!


■ 動作確認 その2
動的コンテンツは交互に表示されるはず。
なので、http://10.10.31.100/health.cgiを今度は開いてみて同じブラウザでリロードしてみる。
で、交互に表示されればok。


■ その他

マシン名とアドレスの対応表
  lv1: 192.168.31.11
  lv2: 192.168.31.12
 cl01: 192.168.31.200
  wbs: 192.168.31.201
 w100: 192.168.31.100
 w101: 192.168.31.101
 w102: 192.168.31.102