1. keepalivedの高可用性ソフトウェア
keepalivedのソフトウェアは、もともと管理し、LVSクラスタシステムの各サービスノードの状態を監視するために設計されたLVS負荷分散ソフトウェア用に設計された、と後でVRRPは、高可用性機能を実現することができ加わりました。そのため、管理にkeepalivedのほかには、ソフトウェアをLVS、だけでなく、他のサービスの高可用性ソフトウェアソリューションとして使用することができます。
keepalivedのソフトウェアは、VRRPプロトコルを介して高可用性機能を実現することです。VRRPは仮想ルータ冗長プロトコル(仮想ルータ冗長プロトコル)の頭文字で、目的は、個々のノードがダウンしたときに、ネットワーク全体が中断されずに実行できるようにすることができVRRPは障害スタティックルーティングの単一のポイントを見える解決することです。だから、一方ではLVS構成管理機能をkeepalivedの、だけでなく、LVSノードのヘルスチェックのために以下の機能があり、一方で、システムのネットワーク・サービスの高可用性機能を実現することができます。
2. keepalivedの展開(DSを解決するための単一障害点)
次のように<1>環境を所望の
主DSを:SERVER1のDIP:172.25.33.1 VIP: 172.25.33.100は
DSを準備:それぞれServer2 DIP:172.25.33.4 VIP:172.25.33.100
RS:サーバー2(172.25.33.2)とサーバー3(172.25.33.3を)
<2> server1と次のように行わ同じservr4。
[root@server1 ~]tar zxf keepalived-2.0.17.tar.gz #解压keepalived软件
[root@server1 ~]cd keepalived-2.0.17/
[root@server1 keepalived-2.0.17]yum install -y gcc openssl-devel
[root@server1 keepalived-2.0.17]./configure --prefix=/usr/local/keepalived --with-init=systemd #编译
[root@server1 keepalived-2.0.17]make && make install #安装软件
[root@server1 keepalived-2.0.17]cd /usr/local/keepalived/
[root@server1 keepalived]ln -s /usr/local/keepalived/etc/keepalived/ /etc #创建软连接
次のように<3>サーバー1作っ:
紛争とldirectord keepalivedの、近いldirectord、編集プロファイルをkeepalivedの
[root@server1 keepalived]/etc/init.d/ldirectord stop
[root@server1 keepalived]chkconfig ldirectord off
[root@server1 keepalived]vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost ##节点宕机了将会接收到异常邮件的主机
}
notification_email_from keepalived@localhost ##邮件发送人
smtp_server 127.0.0.1 ##发送的服务器
smtp_connect_timeout 30 #指定连接超时时间
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
# vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state MASTER ##主节点
interface eth0
virtual_router_id 33
priority 100 ##权重
advert_int 1 ##检查间隔时间为1s
authentication {
auth_type PASS ##认证方式
auth_pass 1111 ##认证密码
}
virtual_ipaddress {
172.25.33.100 ##虚拟ip
}
}
virtual_server 172.25.33.100 80 {
delay_loop 3 ##连接失败3次以后发送邮件
lb_algo rr ##lvs的调度算法为rr
lb_kind DR ##lvs的调度方法为DR轮询
# persistence_timeout 50
protocol TCP ##端口
real_server 172.25.33.2 80 {
TCP_CHECK {
weight 1
connect_port 80
connect_timeout 3
}
}
real_server 172.25.33.3 80 {
TCP_CHECK {
weight 1
connect_port 80
connect_timeout 3
}
}
}
[root@server1 keepalived]# systemctl start keepalived
次のように<4> SERVER4作ら。
vim /etc/keepalived/keepalived.conf
18 state BACKUP
21 priority 50
systemctl start keepalived.service
次のように<5>本当のテストは次のとおりです。
主に停止DSは、DSを準備するときに、ユーザーが知覚しない
RSはほかに再生することができ、1を停止し、上の別の駅へのアクセスRS進み
注:
状態検出keepalivedのクラスタノードを実現することができるので、keepalivedのLVSは、最初に、設計されており、ロード・バランシングがIPVSを達成することができ
、容易に負荷分散システムを開発することができ、サードパーティモジュールkeepalivedのIPVSによって、このように(実施スケジューラ高可用性およびフェイルオーバWebサーバ)
keepalivedのは、一緒に仕事してIPVSことができるので、ここで誤解が、それは一般的にkeepalivedのは、負荷分散ソフトウェアであるが考えているされ、この理解は間違っています
我々は、複数のウェブバックエンドサーバーをスケジュールするスケジューラの前にある
スケジューラが作業をしていない場合、すべて悪いのWebサーバがアクセスできるかどうすべきバックアップスケジューラを必要とする、だけでなく、
高可用性のため、リード線keepalivedのクラスタは、
スケジューラの複数(メインも用意)で、通常の作業スケジューラ確保keepalivedのWebサービスを使用して
同時にすべてのスケジュールされたダウンタイムの可能性が小さいです