[実験環境]
- CentOSの7.2
- nginxの
以下は、テストで使用されるアドレスです。
- VIP:192.168.136.100
- LVS-1:192.168.136.170
- LVS-2:192.168.136.166
[インストール]
両方のノードにインストールされ、LVS、keepalivedの(予め既にインストールnginxの)
yumをインストールipvsadmのkeepalivedの-y
設定する設定スクリプト
Vimのipvsadm.sh
#!/ binに/ bashのの VIP = 192。168。136。100 のifconfig LO:0 $ VIP放送$のVIPのネットマスク255。255。255。255 までの ルートが追加 -host $のVIP用のdevのLOを:0 エコー" 1 " >は、/ proc / sys / net / IPv4の/ confに/ LO / arp_ignore エコー" 2 " >は、/ proc / sys / net / IPv4の/ confに/ LO / arp_announceを エコー" 1 " >は、/ proc / sys / net / IPv4の/ confに/すべて/ arp_ignore エコー」2" >は、/ proc / sys / net / IPv4の/ confに/すべて/ arp_announce のsysctl -p>を/ dev / null 2 >&1
スクリプトの実行(2つのLVSホスト上でスクリプトを実行)
SH ipvsadm.sh
成功したかどうかを確認します
[ルート@ localhostの/]#のIP 1:LO: <ループバック、UP、LOWER_UP> MTU 65536なqdisc NOQUEUE状態UNKNOWN QLEN 1 リンク/ループバック00:00:00:00:00:00 BRD 00:00:00:00:00:00 INET 127。0。0。1 / 8 スコープホストloが 永遠に永遠にpreferred_lft valid_lft INET 192.168.136.100/32 BRD 192.168.136.100の範囲グローバルLO:0 valid_lft永遠preferred_lft永遠 :: inet6の1 / 128個の範囲のホストは preferred_lft永遠に永遠にvalid_lft
[設定] keepalivedの
マスターノード(マスター)、ファイルの内容を空
Vimの /etc/keepalived/keepalived.conf
global_defs { ROUTER_ID LVS_DEVEL } VI_1 {vrrp_instance 状態マスター ens33インタフェース virtual_router_id 51 プライオリティ100 advert_int 1つの 認証{ AUTH_TYPEパス auth_pass 1111 } virtual_ipaddress { 192.168。136.100 } } VIRTUAL_SERVER 192.168。136.100 80 { delay_loop 6 lb_algoのRR lb_kind DRは persistence_timeout 0を プロトコルTCP real_server 192.168。136.170 80 { 体重1 TCP_CHECK { CONNECT_TIMEOUT 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } real_server 192.168。136.166 80 { 体重1 TCP_CHECK { CONNECT_TIMEOUT 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } }
ノード(バックアップ)からは、ファイルの内容を空にする
Vimの /etc/keepalived/keepalived.conf
global_defs { ROUTER_ID LVS_DEVEL } VI_1 {vrrp_instance 状態バックアップ ens33インタフェース virtual_router_id 51 優先99 advert_int 1つの 認証{ AUTH_TYPEパス auth_pass 1111 } virtual_ipaddress { 192.168。136.100 } } VIRTUAL_SERVER 192.168。136.100 80 { delay_loop 6 lb_algoのRR lb_kind DRは persistence_timeout 0を プロトコルTCP real_server 192.168。136.170 80 { 体重1 TCP_CHECK { CONNECT_TIMEOUT 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } real_server 192.168。136.166 80 { 体重1 TCP_CHECK { CONNECT_TIMEOUT 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } }
マスターノードとスレーブノードとの間の差
マスターノード:マスター スレーブノード:BACKUP 状態MASTER - > 状態BACKUPの ノードの優先順位:100 ノードの優先順位から:99 優先順位100 - >優先90 さらに:インタフェースens33なお、前記ens33インタフェース名、その後、ここでホストに合わせて変更
オープンルートの転送
使い捨てオープン: エコー " 1 " >は、/ proc / sys / net / IPv4の/ ip_forward :永久にオープン VIMの/ etc / sysctl.confのの #が追加 net.ipv4.ip_forward = 1つ の出口の保存 を有効にする#設定を sysctlを -p
(マスタから順に、第一の開口部の後に)開始keepalivedの
keepalived.serviceを開始systemctl
成功を開くかどうかを確認してください
[ルート@ localhostの/]#のipvsadmの- LN IP仮想サーバーのバージョン1.2。1(サイズ= 4096 ) ProtのをlocalAddress:ポートスケジューラ旗 - > [リモート:ポートフォワード重ActiveConn InActConn TCP 192.168。136.100:80 RR - > 192.168。136.166:80 国道 1 0 0 - > 192.168。136.170:80 ルート 1 0 0
成功した場合には成功したアクセス試行が自動的に別のサーバーにアクセスしたかどうかを確認するために切り替わります、駅を切断する場合は、ブラウザを開いて、表示するVIPアドレスを入力してください。