DRモードLVSアナログおよびHA
1、実験環境:
keepalivedのサーバー(同じ2つの設定)の設定:
1、コンパイルしてインストールするインストールパッケージをダウンロードしてください
keepalivedの-2.0.6.tar.gz#のソースパッケージをコンパイルしてからインストールする必要があります。
タール-zxf圧縮ファイル-extracting keepalivedの-2.0.6.tar.gz#
オープン解凍ファイルを入力するCDがkeepalivedの-2.0.6を#
#はソースパッケージのコンパイルにソフトウェアサポートインストール-yのyumのgccのopenssl-develのインストール
は./configureを- -prefix =は/ usr / local / keepalivedの --with-INIT = systemdに# コンパイラ
#がインストールmake installを&&作ります
ipvsadmのLVS 2、インストール管理ツール
のyum -y管理ツールをインストールするipvsadmの#をインストールするには
注意:ポリシー設定のみを必要としない、ツールをインストールする必要があります。
3セットのリンク、簡単にアクセスkeepalivedのプロフィール
ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/keepalived/etc/keepalived/ /etc
ln -s /usr/local/keepalived/sbin/keepalived /sbin
図4は、設定ファイルの編集keepalivedの
172.25.13.110を
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost #节点宕机了将会接收到异常邮件的主机
}
notification_email_from keepalived@localohost #邮件发送人
smtp_server 127.0.0.1 #发送的服务器
smtp_connect_timeout 30 #指定连接超时时间
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state MASTER #主节点表示
interface eth0
virtual_router_id 13
priority 100 #权重
advert_int 1 #检查的间隔1s
authentication {
auth_type PASS #认证方式
auth_pass 1111 #认证的密码
}
virtual_ipaddress {
172.25.13.100
}
}
virtual_server 172.25.13.100 80 {
delay_loop 6 #连接失败六次之后,发送邮件
lb_algo rr #lvs调度算法
lb_kind DR #lvs该工作方式
protocol TCP # 端口
real_server 172.25.13.130 80 {
TCP_CHECK {
weight 1
connect_port 80
connect_timeout 3
}
}
real_server 172.25.13.140 80 {
TCP_CHECK {
weight 1
connect_port 80
connect_timeout 3
}
}
}
172.25.13.120
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost #节点宕机了将会接收到异常邮件的主机
}
notification_email_from keepalived@localohost #邮件发送人
smtp_server 127.0.0.1 #发送的服务器
smtp_connect_timeout 30 #指定连接超时时间
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state BACKUP #主节点表示
interface eth0
virtual_router_id 13
priority 50 #权重
advert_int 1 #检查的间隔1s
authentication {
auth_type PASS #认证方式
auth_pass 1111 #认证的密码
}
virtual_ipaddress {
172.25.13.100
}
}
virtual_server 172.25.13.100 80 {
delay_loop 6 #连接失败六次之后,发送邮件
lb_algo rr #lvs调度算法
lb_kind DR #lvs该工作方式
protocol TCP # 端口
real_server 172.25.13.130 80 {
TCP_CHECK {
weight 1
connect_port 80
connect_timeout 3
}
}
real_server 172.25.13.140 80 {
TCP_CHECK {
weight 1
connect_port 80
connect_timeout 3
}
}
}
5ターンサービス、および開始自動的に起動するようにサービスを設定して
スタートkeepalivedのsystemctl
keepalivedのを有効にsystemctlを
実サーバの設定は、
1ページにアクセスするためのhttpd起動時の設定をインストール
、ロードバランシング、異なるバックエンドサーバーから別のアクセス内容、明確にマークされたコンテンツを設定し、実際のバックエンドサーバの効果を検証するために施設:注意を。
2、それぞれの物理的なネットワークカードのVIPに追加
IPアドレスをaddrに一時的にIPを追加する172.25.13.100/24のdevのeth0の#1のeth0 NICを追加
すべてのユーザーに取り組むための3セットarptable戦略はVIP DSにリクエストを送信する代わりに、RS
yumの管理ツールをインストールする#-y arptablesをインストール
172.25.47.100 -j DROP番号の設定-d arptables -A INPUTが彼らのVIPのための要求に応答しません
arptablesの-A OUTPUT -s 172.25.47.100 -jマングル--mangle -ip-S 172.25.47.120
パケット送信される修正VIPを設定し、送信元IP#
テスト:
1、すべてのipvsadmのは、自動的に2つのスケジューラの負荷分散ポリシーを生成見るために実サーバの完了後に設定します。
[root@toto2 keepalived-2.0.6]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.25.13.100:http rr
-> 172.25.13.130:http Route 1 0 0
-> 172.25.13.140:http Route 1 0 0
2クライアントホストのテストを使用しました:
通常の負荷分散
[kiosk@foundation13 Desktop]$ curl 172.25.13.100
toto3————real_server
[kiosk@foundation13 Desktop]$ curl 172.25.13.100
toto4————real_server
[kiosk@foundation13 Desktop]$ curl 172.25.13.100
toto3————real_server
[kiosk@foundation13 Desktop]$ curl 172.25.13.100
toto4————real_server
実サーバの172.25.13.140の3閉じるHTTPサービス。シミュレーションサーバ障害、リストから追い出されることに加えて、実際のテストサーバーが自動的にリストに追加されますとき、通常のサービス時間
[root@toto4 ~]# systemctl stop httpd # 关闭一个真实服务器
[root@toto2 keepalived-2.0.6]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.25.13.100:http rr
-> 172.25.13.130:http Route 1 0 0 # 已经关闭的服务器被移除出列表。
クライアントアクセス:
[kiosk@foundation13 Desktop]$ curl 172.25.13.100
toto3————real_server
[kiosk@foundation13 Desktop]$ curl 172.25.13.100
toto3————real_server
[kiosk@foundation13 Desktop]$ curl 172.25.13.100
toto3————real_server
障害の発生したサーバーの復旧後、それが自動的にリストに追加検出します。
[root@toto4 ~]# systemctl start httpd
[root@toto2 keepalived-2.0.6]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.25.13.100:http rr
-> 172.25.13.130:http Route 1 0 0
-> 172.25.13.140:http Route 1 0 0 #恢复之后自动添加
マスターサーバー上で動作するサーバーのバランスをとる4現在の負荷は、マスターサーバーが異常メインサーバkeepalivedの、シミュレートされた負荷分散マスターサーバーの電源をオフにし、VIPを追加し、この時間は、サーバからロード・バランシング・サービスを提供するために切り替わります、とVIPは、自動的にセカンダリサーバに移行します。
172.25.13.110:マスター
[root@toto1 samples]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:ca:52:c8 brd ff:ff:ff:ff:ff:ff
inet 172.25.13.110/24 brd 172.25.13.255 scope global eth0
valid_lft forever preferred_lft forever
inet 172.25.13.100/32 scope global eth0 # 添加vip自动
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:feca:52c8/64 scope link
valid_lft forever preferred_lft forever
#关闭keepalived 模拟主服务器异常,
[root@toto1 samples]# systemctl stop keepalived
#再次查看ip,vip已经不在该主机上面
[root@toto1 samples]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:ca:52:c8 brd ff:ff:ff:ff:ff:ff
inet 172.25.13.110/24 brd 172.25.13.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:feca:52c8/64 scope link
valid_lft forever preferred_lft forever
マスターサーバーのバランス異常な負荷、サービスがセカンダリサーバによって提供され、VIPは自動的にセカンダリサーバに移行します。
[root@toto2 keepalived-2.0.6]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:43:f6:eb brd ff:ff:ff:ff:ff:ff
inet 172.25.13.120/24 brd 172.25.13.255 scope global eth0
valid_lft forever preferred_lft forever
inet 172.25.13.100/32 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:fe43:f6eb/64 scope link
valid_lft forever preferred_lft forever
#客户端测试服务正常:
[kiosk@foundation13 Desktop]$ curl 172.25.13.100
toto4————real_server
[kiosk@foundation13 Desktop]$ curl 172.25.13.100
toto3————real_server
[kiosk@foundation13 Desktop]$ curl 172.25.13.100
toto4————real_server
[kiosk@foundation13 Desktop]$ curl 172.25.13.100
toto3————real_server
分析:マスターロードバランサがハングアップ、バックアップのロードバランサは、高可用性、負荷分散を実現するために、単一障害点を回避するために、負荷分散機能を起動するための責任があります!!!