コンテンツのハイライト:
一、keepalivedの:
第二に、の設定手順:
一、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をインストールipvsadmのkeepalivedの-y
(2)次のコードを追加し、に/etc/sysctl.confファイルを変更します。
=。1 net.ipv4.ip_forwardという名前で、 リダイレクト応答オフ// PROC net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.ens33.send_redirects = 0
このコマンドは-pのsysctlは、上記の構成を有効にすることです
(3)の構成の仮想NIC(ens33:0):
/ etc / sysconfig / network-scriptsに/:1は、パスをメモ
2、直接コピーする既存のカード情報は、変更することができます。
ifcfg-ens33のifcfg-CPのens33:0 VIMのifcfg-ens33:0 削除すべて元の情報、次のコードを追加します。 DEVICE = ens33:0 ONBOOT = yesの IPADDR = 192.168.100.10 NETMASK = 255.255.255.0を
3、仮想NICを有効にします。
0:ens33 ifupを
/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 の場合と"$ 1" スタート) / sbinに/ ipvsadmの--save>の/ etc /のsysconfig / ipvsadmの systemctl ipvsadmの起動 の/ sbin / ifconfigコマンドens33:0 $ VIP放送の$のVIPのネットマスク255.255.255.255ブロードキャスト$のVIPアップ / sbinに/ルートの追加-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 エコー「ipvsadmの開始-------- ---------- [OK]」 ;; ストップ) / sbinに/ ipvsadmの-C systemctl停止ipvsadmの ifconfigコマンドens33:0ダウン ルートデル$ VIP エコー"立ち止まっipvsamd -------------------- [OK]" ;; ストップ) / sbinに/ ipvsadmの-C systemctl停止ipvsadmの ifconfigコマンドens33:0ダウン ルートデル$ VIP エコー"立ち止まっipvsamd -------------------- [OK]" ;; ステータス) [あれば!-e AR /ロック/ SUBSYS / ipvsadmの];次に、 "ipvsadmのは--------------------立ち止まっ"エコー 出口1 他 エコー「がruningてipvsamd ------ ------- [OK]」 Fiの ;; *) エコー"使い方:$ 0 {開始|停止|ステータス}" ESACの 終了0
2、パーミッション、スタートアップスクリプトを追加
chmodの+ X dr.sh サービスdr.sh開始
(5)第DR第一の構成と同様に、動作が外観に繰り返されます
ステップ2:最初のノードサーバweb1とを設定します
(1)インストールのhttpd
yumをインストールhttpdの-y
systemctl開始httpd.service //サービスを開始
(2)は、サイト上のテストページを書き、それがテスト結果の背中を検証するために簡単になります
路径:/ var / www / htmlと設定 エコー"これはACCPウェブで"> index.htmlを
(3)は、仮想ネットワークアダプタを作成します
図1に示すように、パス:は/ etc / sysconfig / network-スクリプト/ 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)测试网页是否正常
第三步:配置第二台节点服务器 web2
第二台web和第一台配置一模一样,唯一不同的是,为了区分实验效果,第二台的测试网页内容换了:
路径:/var/www/html echo "this is benet web" > index.html
测试网页是否正常:
第四步:客户端测试
(1)配置好客户端的IP地址
(2)测试
1、与 192.168.100.10 能否互通:
2、访问网页是否正常
第五步:部署 keepalived
一、在第一台 DR 上部署:
(1)修改 keepalived.conf 文件,路径 /etc/keepalived/
修改以下内容:
(2)启动服务
systemctl start keepalived.service
二、在第二台 DR 上部署:
(1)修改 keepalived.conf 文件
(2)启动服务
systemctl start keepalived.service
第六步:实验结果验证
由于部署了 LVS 和 keepalived,目的是,负载均衡和双机热备。
此时,我们模拟一下故障,宕掉其中一台 DR1,如果客户端依旧可以和虚拟 IP地址 互通,且能够正常访问网站的话,就说明 DR2 就代替 DR1 工作了,防止单点故障的效果实现了。
(1)故障模拟:宕掉 DR1
ifdown ens33:0
(2)结果验证
1、在客户端 ping 一下虚拟ip
2、网站也依旧能够访问