LVS+Keepalived高可用性負荷等化クラスタのテスト

5700 ワード

LVS+Keepalived高可用性負荷等化クラスタのテスト
1.LVS高可用性クラスタサービスを起動する
Keepalivedサービスのシステムログ情報は次のように表示されます.
[root@localhost ~]# tail -f /var/log/messages

Feb 28 10:01:56 localhost Keepalived: Starting Keepalived v1.1.19 (02/27,2011)

Feb 28 10:01:56 localhost Keepalived_healthcheckers: Netlink reflector reports IP 192.168.12.25 added Feb 28 10:01:56 localhost Keepalived_healthcheckers: Opening file '/etc/keepalived/keepalived.conf'. Feb 28 10:01:56 localhost Keepalived_healthcheckers: Configuration is using : 12063 Bytes

Feb 28 10:01:56 localhost Keepalived: Starting Healthcheck child process, pid=4623

Feb 28 10:01:56 localhost Keepalived_vrrp: Netlink reflector reports IP 192.168.12.25 added

Feb 28 10:01:56 localhost Keepalived: Starting VRRP child process, pid=4624 Feb 28 10:01:56 localhost Keepalived_healthcheckers: Activating healtchecker for service [192.168.12.246:80] 
Feb 28 10:01:56 localhost Keepalived_vrrp: Opening file '/etc/keepalived/keepalived.conf'.

Feb 28 10:01:56 localhost Keepalived_healthcheckers: Activating healtchecker for service [192.168.12.237:80] 
Feb 28 10:01:57 localhost Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE

Feb 28 10:01:58 localhost Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE

Feb 28 10:01:58 localhost Keepalived_vrrp: VRRP_Instance(VI_1) setting protocol VIPs.

Feb 28 10:01:58 localhost Keepalived_healthcheckers: Netlink reflector reports IP 192.168.12.135 added

Feb 28 10:01:58 localhost avahi-daemon[2778]: Registering new address record for 192.168.12.135 on eth0.

2、高可用性機能テスト
高可用性は、LVSの2つのDirector Serverによって達成されます.障害をシミュレートするために、まずプライマリDirector Serverの上にあるKeepalivedサービスを停止し、スタンバイDirector ServerのKeepalivedの実行ログを観察します.情報は次のとおりです.
Feb 28 10:08:52 lvs-backup Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE
Feb 28 10:08:54 lvs-backup Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE
Feb 28 10:08:54 lvs-backup Keepalived_vrrp: VRRP_Instance(VI_1) setting protocol VIPs.
Feb 28 10:08:54 lvs-backup Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 192.168.12.135
Feb 28 10:08:54 lvs-backup Keepalived_vrrp: Netlink reflector reports IP 192.168.12.135 added
Feb 28 10:08:54 lvs-backup Keepalived_healthcheckers: Netlink reflector reports IP 192.168.12.135 added
Feb 28 10:08:54 lvs-backup avahi-daemon[3349]: Registering new address record for 192.168.12.135 on eth0.
Feb 28 10:08:59 lvs-backup Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 192.168.12.135
ログから分かるように、ホストに障害が発生した後、スタンバイはすぐに検出され、この時点でスタンバイはMASTERロールになり、ホストの仮想IPリソースを引き継ぎ、最後にeth 0デバイスに仮想IPをバインドします.
次に、プライマリ・ディレクトリ・サーバーのKeepalivedサービスを再起動し、スタンバイ・ディレクトリ・サーバーのログ・ステータスを引き続き確認します.
代替ディレクトリ・サーバーのログ・ステータス:
Feb 28 10:12:11 lvs-backup Keepalived_vrrp: VRRP_Instance(VI_1) Received higher prio advert
Feb 28 10:12:11 lvs-backup Keepalived_vrrp: VRRP_Instance(VI_1) Entering BACKUP STATE Feb 28 10:12:11 lvs-backup Keepalived_vrrp: VRRP_Instance(VI_1) removing protocol VIPs. Feb 28 10:12:11 lvs-backup Keepalived_vrrp: Netlink reflector reports IP 192.168.12.135 removed
Feb 28 10:12:11 lvs-backup Keepalived_healthcheckers: Netlink reflector reports IP 192.168.12.135 removed Feb 28 10:12:11 lvs-backup avahi-daemon[3349]: Withdrawing address record for 192.168.12.135 on eth0.

3、負荷等化テスト
ここでは、2つのreal serverノードがwwwサービスを構成するウェブファイルルートディレクトリが/webdata/wwwディレクトリであると仮定し、それぞれ次の操作を実行します.
real server 1で実行します.
echo "This is real server1" /webdata/www/index.html
real server 2で実行:
echo "This is real server2"/webdata/www/index.html
次にブラウザを開き、http://192.168.12.135このアドレスは、その後、このページを更新し続け、「This is real server 1」と「This is real server 2」をそれぞれ見ることができれば、LVSが負荷等化されていることを示します.
4、フェイルオーバーテスト
フェイルオーバーは、あるノードに障害が発生した後、Keepalivedモニタモジュールがタイムリーに発見できるかどうかをテストし、障害ノードを遮断し、サービスを通常のノードに移行して実行することです.
ここでreal server 1ノードサービスを停止し、このノードに障害が発生したと仮定し、プライマリ・スタンバイ・ログ情報を表示します.関連ログは次のとおりです.
Feb 28 10:14:12 localhost Keepalived_healthcheckers: TCP connection to [192.168.12.246:80] failed !!! Feb 28 10:14:12 localhost Keepalived_healthcheckers: Removing service [192.168.12.246:80] from VS [192.168.12.135:80] Feb 28 10:14:12 localhost Keepalived_healthcheckers: Remote SMTP server [192.168.12.1:25] connected.
Feb 28 10:14:12 localhost Keepalived_healthcheckers: SMTP alert successfully sent.

ログから分かるように、Keepalivedモニタリングモジュールは192.168.12.246というホストが正常に回復したことを検出した後、このノードをクラスタシステムに追加した.
再アクセスhttp://192.168.12.135このアドレスは、このページを更新し続け、「This is real server 1」と「This is real server 2」のページがそれぞれ表示されるはずです.これは、real server 1ノードが正常に戻った後、Keepalivedモニタリングモジュールがこのノードをクラスタシステムに追加したことを示しています.
これでLVSクラスタの構築とテストが完了しました!
.
.
.
本文は華章教育から抜粋した.