企業モデル3つのLVS:DRモード+ keepalivedの(HA HA)

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

分析:マスターロードバランサがハングアップ、バックアップのロードバランサは、高可用性、負荷分散を実現するために、単一障害点を回避するために、負荷分散機能を起動するための責任があります!

おすすめ

転載: blog.csdn.net/Y950904/article/details/93485492