実は簡単に設置できるLVSの構築をメモしておきます。
運用や設定は少し知識がいるのですが、そういうのも本番勝負するよりは仮想環境でテストしてしまいましょう。
全体構成
|Wan or Lan|
| 172.31.1.100
|server1|
| 192.168.33.30
|
| ------
| |192.168.33.32
|server2| |server3|
192.168.33.31
server1にLVSのモジュール(ipvsadm)をインストール
server2,3にapacheをインストールして各々個別の設定をする
ipvsadmのインストール
server1にsshでログインして以下インストールコマンドを入力
$ sudo yum -y install ipvsadm
ipvsadmのインストールから設定
# 外向きのIPを登録
$ sudo ipvsadm -A -t 172.31.1.100:80
# バランシングするサーバーを登録
$ sudo ipvsadm -a -t 172.31.1.100:80 -r 192.168.33.31:80 -m
$ sudo ipvsadm -a -t 172.31.1.100:80 -r 192.168.33.32:80 -m
# セットしたデータの保存
$ sudo /etc/init.d/ipvsadm save
# データ反映
$ sudo /etc/init.d/ipvsadm restart
# データ確認
$ sudo ipvsadm -ln
コンテンツサーバー群にapacheのインストール
各サーバーにログインして下記を実行
# インストールの確認(インストール済みの場合は以下処理は不用)
$ rpm -qa | grep httpd
#apacheインストール
$ sudo yum -y install httpd httpd-tools
# apacheの起動
$ sudo service httpd start
# 再起動時のオート起動設定(確認)
$ chkconfig --list
# 自動起動設定
$ chkconfig httpd on
バランシングするサーバーの設定
server2,3でapacheのインストール
$ sudo yum -y install httpd
各々のサーバーに違いが分かるようにhtmlを設置
# それぞれのサーバー名(または任意の文字)でhtmlを作成
$ sudo "server2" > /var/www/html/server.html
ポートフォワーディング設定
server1で以下のネット設定を行う
# 0 → 1 にする
$ echo "1" > /proc/sys/net/ipv4/ip_forward
>> net.ipv4.ip_forward = 0
server2,3で以下のデフォルトゲートウェイをLBに向ける設定を行う
$ netstat add default gw 192.168.33.30
server1にブラウザでアクセスする
ブラウザアドレスは「http://172.31.1.100/」
これで何度かリロードすると、server2とserver3が表示されていれば、バランシング成功です。
それぞれのサーバーに、記述の違うファイルを設置して、バランシングされていることを確認しましょう。
おまけ
server1にもapacheをセットして、80番ポートはipvsadmで使用しているので、
apacheのvhost設定に8080ポートでのアクセスを追加して以下の登録を行うことで、LBサーバーもバランシングに加える事ができる。
$ sudo ipvsadm -a -t 172.31.1.100:80 -r 192.168.33.30:8080 -m
本来ならば、LB専用機を用意する方がいいが、サーバーリソースが乏しい場合は、是非こういう方法でも安定化をはかってください。
0 件のコメント:
コメントを投稿