keepalived を CentOS 5 にインストールする(3)

keepalived を CentOS 5 にインストールする方法について説明しています。今回まででだいたいのインストールが完了し、残りは設定と起動になります。

リアルサーバのルーティング設定

リアルサーバにルーティング設定を行います。この設定は keepalived を NAT 構成で構築したい場合のみ必要です。DSR 構成の場合は読み飛ばして下さい。(この辺りの詳細は を参照下さい)

# yum -y install make rpm-build openssl-devel gcc
# cd /etc/sysconfig/network-scripts
# vi ifcfg-eth0

"GATEWAY" をバーチャルサーバのリアルサーバ向けバーチャル IP を設定します。また、ifcfg-eth0 の番号箇所は利用するインタフェースに応じて変わります

次に設定内容を反映します

# service network restart
# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
xxx.xxx.xx.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 xxx.xxx.xx.193 0.0.0.0 UG 0 0 0 eth0

GATEWAY が設定されていることを確認する

リアルサーバの healthcheck 設定

次にリアルサーバへの healthcheck 設定を行います。healthcheck はバーチャルサーバからリアルサーバへ http 経由で行います。今回はこの設定を apache で行います。

apache 自体は既にインストールされていることを前提とします。以下のような例で最初に apache を設定します。

# cd /etc/httpd/conf.d
# system-config-securitylevel

http ポートを開放する

# vi healthcheck.conf
# vim: syntax=apache ts=2
# ==========================================
# Load Balancer が行う health check 用の Virtual Host
# ==========================================

<VirtualHost *:80>
DocumentRoot /var/www/vhost/healthcheck
ServerName healthcheck
ErrorLog logs/healthcheck_error.log
CustomLog logs/healthcheck_access.log common
<Directory />
Options +ExecCGI
AddHandler cgi-script .cgi
</Directory>
</VirtualHost>

そして仮の healthcheck.cgi を作成します

# mkdir -p /var/www/vhost/healthcheck
# setfacl -m u:apache:rx /var/www/vhost
# setfacl -m u:apache:rx /var/www/vhost/healthcheck
# cd /var/www/vhost/healthcheck/
# vi healthcheck.cgi

healthcheck.cgi の例を以下に記載します。

#! /bin/bash

function main {
echo "Content-Type: text/plain"
echo ""
printf "%s OKn" ${HOSTNAME}
}

main $*

これは無制限に OK を返すだけの内容です。実際にはシステムに応じて変更する必要があります。例えば、システムが tomcat 等の Web アプリケーションでできているのであればそのポートを叩いたり URL を叩いて実際に確認した結果を返すことになります(今回は長くなるので省略)。

また、ここでは 1つのサーバしか行っていませんが、この healthcheck の設定は NAT 構成 DSR 構成に限らず全てのリアルサーバに行う必要があります。

この時の keepalived のバージョンは IPVS とは依存していない為、同じである必要はありません。

次のページへ

【お勧め】負荷分散関連の記事

【お勧め】インストール関連の記事

No Comments - Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *

*