第2回 クラウドサーバ勉強会に参加してきた

第2回クラウドサーバ勉強会に参加してきました。
今回はXOOPS初心者勉強会の横でやってたのですがほとんどの時間関係ないことやってたのであまり出来ませんでしたorz
そんな訳であまり時間かけずにできそうだったLVSの設定をちょこっとだけやってみた位ですが一応ログ残しておきます。

サーバ

今回はLVSを1台とwebを2台さくらのクラウドで用意しました。
その際にスイッチネットワークを1つ作成し、LVSのeth1とwebのeth0をそのネットワークに当てています。

ルーターの設定

今回はグローバルIP勿体無い気がしたのでNATでやってみたのでグローバルIPを持っているLVSからローカルIPしかないwebサーバが外部につながるようにします。
とりあえずシンプルに、iptablesの設定クリアしてから他のネットワーク内のサーバが外部に接続できるようにします。

iptables -F
iptables -t nat -F
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

これでデフォルトゲートウェイをLVSにしたwebサーバでdigとか実行すると結果が返ってきてネットにちゃんと繋がってるのがわかると思います。

今回LVSのローカルIPが192.168.1.11なのでwebサーバのgatewayをLVSに設定します。

/etc/network/interfaces
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 192.168.1.51
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        gateway 192.168.1.11

これでwebサーバがLVSを通してネットに繋がるようになっていると思います。

LVSの設定

LVSにipvsadmを入れて設定します。まず、分散させるIP:portを登録し、分散対象のサーバを追加していきます。
-s rrでラウンドロビンに設定し、-mでNATにしています。なので、この2つのパラメータを変更すれば他の方法で分散することができるようになります。

ipvsadm -A -t {LVS_IP}:80 -s rr
ipvsadm -a -t {LVS_IP}:80 -r 192.168.1.51:80 -m
ipvsadm -a -t {LVS_IP}:80 -r 192.168.1.52:80 -m

ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  133.242.52.61:80 rr
  -> 192.168.1.51:80              Masq    1      1          1
  -> 192.168.1.52:80              Masq    1      2          1

これでブラウザから133.242.52.61にアクセスするとweb1とweb2に振り分けられていることが確認できます。

終わり

今回このくらいしかできなかったので結構テキトーです。
本当はもう1台LVSを用意してLVSが片方落ちても大丈夫にしてみたりとかしたかったのですが……

Comments