[Vagrant] マルチサーバー環境を構築してインフラ構築検証を行う #3「LVSをセットして検証環境を構築」

2015年7月9日

サーバー テクノロジー

実は簡単に設置できる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専用機を用意する方がいいが、サーバーリソースが乏しい場合は、是非こういう方法でも安定化をはかってください。

人気の投稿

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。

ブログ アーカイブ