記事のディレクトリ
一、keepalivedの
どのような(1)keepalivedのIS
(2)keepalivedの作品
第二に、の設定手順:
ステップ1:設定2 DR
ステップ2:最初のノードサーバweb1とを設定します
第三工程:第2ノードサーバーWEB2を構成
ステップ4:クライアントのテスト
ステップ5:デプロイkeepalivedの
ステップ6:実験結果
一、keepalivedの:
どのような(1)keepalivedのIS
keepalivedのクラスタ管理は、ハートビートのような関数は、単一障害点を防止するための高可用性クラスタサービスソフトウェアを、確実にするためです。
図1は、3つのコアモジュールをkeepalivedの。
コアコアモジュール
chechヘルスモニタリング
仮想ルータ冗長プロトコルVRRP
2、3の重要な機能keepalivedのサービス:
管理LVS
LVSは、クラスタノードをチェックします
ネットワークサービスのシステムとして、高可用性機能
(2)keepalivedの作品
keepalivedの1は、VRRPプロトコルベースを達成することである、VRRPは仮想ルータ冗長プロトコル、または仮想ルーティング冗長プロトコルの略です。
図2に示すように、仮想ルーティング冗長プロトコル、プロトコルルータは、ステージNルータへについて、高可用性と考えることができるルータ群の同じ機能、マスタと複数のバックアップを持つグループを提供し、外部のサービスプロバイダ上記マスタがありますバックアップは、マスター遊び人アウトは、その後、あなたが選挙の優先度に応じVRRPが必要であることを考慮VRRPパケットを受信しない場合、マスターは、マルチキャスト送信されますVIP(VIPのためにあるルータのLAN内の他のマシンへのデフォルトルート)ときにバックアップマスター。だから我々は、ルータの高可用性を確保することができます。
図3は、三つの主要なモジュール、すなわちコア、小切手とVRRPがあるkeepalivedの。コア、開始、維持、および負荷グローバルコンフィギュレーションファイルを解析するための責任とメインプロセスとしてkeepalivedのコアモジュール。一般的な検査方法の多様含む健康診断、責任をチェック。VRRP VRRPモジュールは、合意を達成することです。
第二に、の設定手順:
実験環境の説明:
4台の仮想マシン、二つのサーバのスケジューリングを調製(1)、二つのサーバノード。
(2)スケジューリングサーバとkeepalivedの展開LVS、負荷分散とステートフルフェールオーバー。
(3)仮想IPアドレスを介してクライアントホスト、バックエンドWebサーバーページへのアクセス。
(4)実験結果:前記1つのDRの停止時間、通常アクセス通常通りすべてのサービス。
IPアドレスの役割
DRLスケジューリングサーバ(マスター)192.168.100.201
スケジューリングサーバ(スタンバイ)のDR2 192.168.100.202
ノードサーバweb1と192.168.100.221
ノードサーバーWEB2 192.168.100.222
仮想IP 192.168.100.10
クライアントテストマシンwin7の192.168.100.50
ステップ1:設定2 DR
(1)インストールとkeepalivedのパケットipvsadmの
yum install ipvsadm keepalived -y
(2)次のコードを追加し、に/etc/sysctl.confファイルを変更します。
net.ipv4.ip_forward=1
//proc响应关闭重定向功能
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
sysctl -p 这条命令是让以上配置生效
(3)の構成の仮想NIC(ens33:0):
/ etc / sysconfig / network-scriptsに/:1は、パスをメモ
2、直接コピーする既存のカード情報は、変更することができます。
cp ifcfg-ens33 ifcfg-ens33:0
vim ifcfg-ens33:0
删除原来所有信息,添加以下代码:
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.100.10
NETMASK=255.255.255.0
3、仮想NICを有効にします。
ifup ens33:0
/etc/init.dの:(4)は、サービスの起動スクリプト、パスを書きます
次のように1、vimのdr.shスクリプトが読み取ります。
#!/bin/bash
GW=192.168.100.1
VIP=192.168.100.10
RIP1=192.168.100.221
RIP2=192.168.100.222
case "$1" in
start)
/sbin/ipvsadm --save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm
/sbin/ifconfig ens33:0 $VIP broadcast $VIP netmask 255.255.255.255 broadcast $VIP up
/sbin/route add -host $VIP dev ens33:0
/sbin/ipvsadm -A -t $VIP:80 -s rr
/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
echo "ipvsadm starting------------------[ok]"
;;
stop)
/sbin/ipvsadm -C
systemctl stop ipvsadm
ifconfig ens33:0 down
route del $VIP
echo "ipvsamd stoped--------------------[ok]"
;;
stop)
/sbin/ipvsadm -C
systemctl stop ipvsadm
ifconfig ens33:0 down
route del $VIP
echo "ipvsamd stoped--------------------[ok]"
;;
status)
if [ ! -e ar/lock/subsys/ipvsadm ];then
echo "ipvsadm stoped--------------------"
exit 1
else
echo "ipvsamd Runing-------------[ok]"
fi
;;
*)
echo "Usage: $0 {start|stop|status}"
exit 1
esac
exit 0
2、パーミッション、スタートアップスクリプトを追加
chmod +x dr.sh
service dr.sh start
(5)第DR第一の構成と同様に、動作が外観に繰り返されます
ステップ2:最初のノードサーバweb1とを設定します
(1)インストールのhttpd
yum install httpd -y
systemctl start httpd.service //开启服务
(2)は、サイト上のテストページを書き、それがテスト結果の背中を検証するために簡単になります
路径:/var/www/html
echo "this is accp web" > index.html
(3)は、仮想ネットワークアダプタを作成します
1、路径:/etc/sysconfig/network-scripts/
2、复制网卡信息加以修改
cp ifcfg-lo ifcfg-lo:0
3、vim ifcfg-lo:0
删除原来所有信息,添加以下内容:
DEVICE=lo:0
IPADDR=192.168.100.10
NETMASK=255.255.255.0
ONBOOT=yes
/etc/init.dの:(4)は、サービスの起動スクリプト、パスを書きます
次のように1、vimのweb.shスクリプトが読み取ります。
#!/bin/bash
VIP=192.168.100.10
case "$1" in
start)
ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP
/sbin/route add -host $VIP dev lo:0
echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
sysctl -p > /dev/null 2>&1
echo "RealServer Start OK "
;;
stop)
ifconfig lo:0 down
route del $VIP /dev/null 2>&1
echo "0" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce
echo "RealServer Stoped"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
2、権限を追加し、実行
chmod +x web.sh //添加权限
service web.sh start //启动服务
(5)オープン仮想ネットワークカード
ifup lo:0
(6)テストページが正しくかどうか
第三工程:第2ノードサーバーWEB2を構成
第一ウェブと同一の第2の構成は、唯一の違いは、実験、2段目のコンテンツのテストページの効果を区別するために、それです。
路径:/var/www/html
echo "this is benet web" > index.html
テストページは正常です。
ステップ4:クライアントのテスト
(1)は、クライアントの良いのIPアドレスを設定します
(2)試験
1、192.168.100.10を通信する能力を有します。
2、アクセスのWebページは正常です
ステップ5:デプロイkeepalivedの
A、最初の配備DRに:
(1)は、ディレクトリの/ etc / keepalivedの/ファイルを変更keepalived.conf
以下を変更します。
(2)サービスを開始します
systemctl start keepalived.service
第二に、第二の展開DRに:
(1)keepalived.confファイルを変更
(2)サービスを開始します
systemctl start keepalived.service
ステップ6:実験結果
LVSの展開とkeepalivedの、オブジェクト、ロードバランシングとホットスタンバイ以来。
クライアントはまだすることができ、および仮想IPアドレスの相互運用性、およびサイトにアクセスすることができ、それはDR2がAを達成するためにDR1の仕事、単一障害点を防止する効果を置き換えます示している場合は、この時点で、私たちは、どのような障害、駅DR1の1撃墜をシミュレート。
(1)故障シミュレーション:DR1撃墜
ifdown ens33:0
(2)検証結果
1、クライアントは仮想IPをping
2、まだウェブサイトにアクセスすることがあります