一.高可用
1.1.什麼是高可用?
計算機系統的可用性(availability)是通過系統的可靠性(reliability)和可維護性(maintainability)來度量的。 工程上通常用平均無故障時間(MTTF)來度量系統的可靠性,用平均維修時間(MTTR)來度量系統的可維護性。 于是可用性被定義為: MTTF/(MTTF+MTTR)*100%
1)負載均衡伺服器的高可用性
為了屏蔽負載均衡伺服器的失效,需要建立一個備份機。主伺服器和備份機上都運作High Availability監控程式,通過傳送諸如“I am alive”這樣的資訊來監控對方的運作狀況。當備份機不能在一定的時間内收到這樣的資訊時,它就接管主伺服器的服務IP并繼續提供服務;當備份管理器又從主管理器收到“I am alive”這樣的資訊是,它就釋放服務IP位址,這樣的主管理器就開開始再次進行叢集管理的工作了。為在主伺服器失效的情況下系統能正常工作,我們在主、備份機之間實作負載叢集系統配置資訊的同步與備份,保持二者系統的基本一緻。
2)HA的容錯備援運作過程
自動偵測(Auto-Detect)階段 由主機上的軟體通過備援偵測線,經由複雜的監聽程式。邏輯判斷,來互相偵測對方運作的情況,所檢查的項目有:主機硬體(CPU和周邊)、主機網絡、主機作業系統、資料庫引擎及其它應用程式、主機與磁盤陣列連線。為確定偵測的正确性,而防止錯誤的判斷,可設定安全偵測時間,包括偵測時間間隔,偵測次數以調整安全系數,并且由主機的備援通信連線,将所彙集的訊息記錄下來,以供維護參考。 自動切換(Auto-Switch)階段 某一主機如果确認對方故障,則正常主機除繼續進行原來的任務,還将依據各種容錯備援模式接管預先設定的備援作業程式,并進行後續的程式及服務。 自動恢複(Auto-Recovery)階段 在正常主機代替故障主機工作後,故障主機可離線進行修複工作。在故障主機修複後,透過備援通訊線與原正常主機連線,自動切換回修複完成的主機上。整個回複過程完成由EDI-HA自動完成,亦可依據預先配置,選擇回複動作為半自動或不回複。
1.2.HA三種工作方式:
(1)主從方式 (非對稱方式)工作原理:主機工作,備機處于監控準備狀況;當主機當機時,備機接管主機的一切工作,待主機恢複正常後,按使用者的設定以自動或手動方式将服務切換到主機上運作,資料的一緻性通過共享存儲系統解決。
(2)雙機雙工方式(互備互援)工作原理:兩台主機同時運作各自的服務工作且互相監測情況,當任一台主機當機時,另一台主機立即接管它的一切工作,保證工作實時,應用服務系統的關鍵資料存放在共享存儲系統中。
(3)叢集工作方式(多伺服器互備方式)工作原理:多台主機一起工作,各自運作一個或幾個服務,各為服務定義一個或多個備用主機,當某個主機故障時,運作在其上的服務就可以被其它主機接管。
二.叢集
2.1 什麼是叢集?
簡單的說,叢集(cluster)就是一組計算機,它們作為一個整體向使用者提供一組網絡資源。這些單個的計算機系統就是叢集的節點(node)。 更詳細的說,叢集(一組協同工作的計算機)是充分利用計算資源的一個重要概念,因為它能夠将工作負載從一個超載的系統(或節點)遷移到叢集中的另一個系統上。其處理能力是與專用計算機(小型機,大型機)可相比,但其成本效益高于專用計算機. 常見的硬體有:結點,網絡,存儲,軟體有:機群系統,節點系統,應用支撐軟體。 Cluster叢集技術可如下定義:一組互相獨立的伺服器在網絡中表現為單一的系統,并以單一系統的模式加以管理。此單一系統為客戶工作站提供高可靠性的服務。大多數模式下,叢集中所有的計算機擁有一個共同的名稱,叢集内任一系統上運作的服務可被所有的網絡客戶所使用。Cluster必須可以協調管理各分離的元件的錯誤和失敗,并可透明地向Cluster中加入元件。一個Cluster包含多台(至少二台)擁有共享資料存儲空間的伺服器。任何一台伺服器運作一個應用時,應用資料被存儲在共享的資料空間内。每台伺服器的作業系統和應用程式檔案存儲在其各自的本地儲存空間上。Cluster内各節點伺服器通過一内部區域網路互相通訊。當一台節點伺服器發生故障時,這台伺服器上所運作的應用程式将在另一節點伺服器上被自動接管。當一個應用服務發生故障時,應用服務将被重新啟動或被另一台伺服器接管。當以上的任一故障發生時,客戶都将能很快連接配接到新的應用服務上。
2.2 叢集系統的主要優點:
- (1)高可擴充性:
- (2)高可用性HA:叢集中的一個節點失效,它的任務可傳遞給其他節點。可以有效防止單點失效。
- (3)高性能:負載平衡叢集允許系統同時接入更多的使用者。
- (4)高成本效益:可以采用廉價的符合工業标準的硬體構造高性能的系統。
2.3 叢集系統的分類
雖然,根據叢集系統的不同特征可以有多種分類方法,但是一般把叢集系統分為兩類:
- (1)高可用(High Availability)叢集,簡稱HA叢集。 這類叢集緻力于提供高度可靠的服務。就是利用叢集系統的容錯性對外提供7*24小時不間斷的服務,如高可用的檔案伺服器、資料庫服務等關鍵應用。 負載均衡叢集:使任務可以在叢集中盡可能平均地分攤不同的計算機進行處理,充分利用叢集的處理能力,提高對任務的處理效率。 在實際應用中這幾種叢集類型可能會混合使用,以提供更加高效穩定的服務。如在一個使用的網絡流量負載均衡叢集中,就會包含高可用的網絡檔案系統、高可用的網絡服務。
- (2)、性能計算(High Perfermance Computing)叢集,簡稱HPC叢集,也稱為科學計算叢集。 在這種叢集上運作的是專門開發的并行應用程式,它可以把一個問題的資料分布到多台的計算機上,利用這些計算機的共同資源來完成計算任務,進而可以解決單機不能勝任的工作(如問題規模太大,單機計算速度太慢)。 這類叢集緻力于提供單個計算機所不能提供的強大的計算能力。如天氣預報、石油勘探與油藏模拟、分子模拟、生物計算等。
三.Keepalived
3.1簡介
Keepalived的作用是檢測伺服器的狀态,如果有一台web伺服器當機,或工作出現故障,Keepalived将檢測到,并将有故障的伺服器從系統中剔除,同時使用其他伺服器代替該伺服器的工作,當伺服器工作正常後Keepalived自動将伺服器加入到伺服器群中,這些工作全部自動完成,不需要人工幹涉,需要人工做的隻是修複故障的伺服器。
3.2原理
Layer3,4&5工作在IP/TCP協定棧的IP層,TCP層,及應用層,原理分别如下: Layer3:Keepalived使用Layer3的方式工作式時,Keepalived會定期向伺服器群中的伺服器發送一個ICMP的資料包(既我們平時用的Ping程式),如果發現某台服務的IP位址沒有激活,Keepalived便報告這台伺服器失效,并将它從伺服器群中剔除,這種情況的典型例子是某台伺服器被非法關機。Layer3的方式是以伺服器的IP位址是否有效作為伺服器工作正常與否的标準。 Layer4:如果您了解了Layer3的方式,Layer4就容易了。Layer4主要以TCP端口的狀态來決定伺服器工作正常與否。如web server的服務端口一般是80,如果Keepalived檢測到80端口沒有啟動,則Keepalived将把這台伺服器從伺服器群中剔除。 Layer5:Layer5對指定的URL執行HTTP GET。然後使用MD5算法對HTTP GET結果進行求和。如果這個總數與預期值不符,那麼測試是錯誤的,伺服器将從伺服器池中移除。該子產品對同一服務實施多URL擷取檢查。如果您使用承載多個應用程式伺服器的伺服器,則此功能很有用。此功能使您能夠檢查應用程式伺服器是否正常工作。
3.3作用
主要用作RealServer的健康狀态檢查以及LoadBalance主機和BackUP主機之間failover的實作。
四.實作架構
場景說明:
1.伺服器作業系統
5台伺服器均為centos7.3作業系統
2.應用軟體
- [root@node01 ~]# rpm -qa | grep haproxy
- haproxy-1.5.18-7.el7.x86_64
- [root@node01 /]# rpm -qa | grep keepalived
- keepalived-1.3.5-6.el7.x86_64
- [root@node01 /]#
- [root@web01 ~]# httpd -v
- Server version: Apache/2.4.6 (CentOS)
- Server built: Apr 20 2018 18:10:38
3.伺服器IP規劃
負載均衡器2台:
192.168.150.71/24
192.168.150.72/24
虛拟IP: 192.168.150.70/24
Web伺服器3台:
192.168.150.73/24
192.168.150.74/24
192.168.150.75/24
五.系統軟體安裝與部署
本次主要配置haproxy+keepalived實作高可用負載均衡的功能。 2台haproxy提供負載均衡和應用代理服務。 其中node01作為主伺服器MASTER,node02作為備份伺服器BACKUP。 對外表現為一個虛拟IP,主伺服器會發送特定的消息給備份伺服器,當備份伺服器收不到這個消息的時候,即主伺服器當機的時候,備份伺服器就會接管虛拟IP,繼續提供服務,進而保證了高可用性。Keepalived是VRRP的完美實作。
1.安裝前的準備工作
1)分别在5台伺服器上安裝CENTOS7.3系統; 2)更改主機名并按規劃的IP位址進行位址配置設定; 3)關閉防火牆和SElinux
- [root@node01 ~]# systemctl disable firewalld
- [root@node01 ~]# systemctl stop firewalld
- [root@node01 ~]#
- [root@node01 ~]# vi /etc/sysconfig/selinux
- This file controls the state of SELinux on the system.
- # SELINUX= can take one of these three values:
- # enforcing - SELinux security policy is enforced.
- # permissive - SELinux prints warnings instead of enforcing.
- # disabled - No SELinux policy is loaded.
- SELINUX=disabled
- # SELINUXTYPE= can take one of three two values:
- # targeted - Targeted processes are protected,
- # minimum - Modification of targeted policy. Only selected processes are protected.
- # mls - Multi Level Security protection.
- SELINUXTYPE=targeted
在備份節點上node02進行同樣的操作。
2.yum方式安裝haproxy和keepalived軟體
在兩台負載均衡伺服器node01和node02上安裝:
- [root@node01 /]# yum install haproxy keepalived -y
- 已加載插件:fastestmirror, langpacks
- base | 3.6 kB 00:00:00
- extras | 3.4 kB 00:00:00
- updates | 3.4 kB 00:00:00
- updates/7/x86_64/primary_db | 2.0 MB 00:00:00
- Loading mirror speeds from cached hostfile
- * base: mirrors.aliyun.com
- * extras: mirrors.huaweicloud.com
- * updates: mirrors.huaweicloud.com
- 軟體包 haproxy-1.5.18-7.el7.x86_64 已安裝并且是最新版本
- 軟體包 keepalived-1.3.5-6.el7.x86_64 已安裝并且是最新版本
- 無須任何處理
- [root@node01 /]#
3.配置keepalived主節點和備份節點及通知腳本
1)主節點配置檔案
- [root@node01 keepalived]# pwd
- /etc/keepalived
- [root@node01 keepalived]# cat 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 node01
- vrrp_macst_group4 224.0.100.19
- }
- vrrp_instance http {
- state MASTER
- interface enp2s0
- virtual_router_id 51
- priority 100
- advert_int 1
- authentication {
- auth_type PASS
- auth_pass haopython
- }
- virtual_ipaddress {
- 192.168.150.70/24 dev enp2s0
- }
- }
- notify_master "/etc/keepalived/notify.sh master"
- notify_backup "/etc/keepalived/notify.sh backup"
- notify_fault "/etc/keepalived/notify.sh fault"
- }
- [root@node01 keepalived]#
2)備份節點配置檔案:
- [root@node02 keepalived]# pwd
- /etc/keepalived
- [root@node02 keepalived]# ls
- keepalived.conf notify.sh
- [root@node02 keepalived]# cat 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 inode2
- vrrp_macst_group4 224.0.100.19
- }
- vrrp_instance http {
- state BACKUP
- interface enp2s0
- virtual_router_id 51
- priority 98
- advert_int 1
- authentication {
- auth_type PASS
- auth_pass haopython
- }
- virtual_ipaddress {
- 192.168.150.70/24 dev enp2s0
- }
- }
- notify_master "/etc/keepalived/notify.sh master"
- notify_backup "/etc/keepalived/notify.sh backup"
- notify_fault "/etc/keepalived/notify.sh fault"
- }
- [root@node02 keepalived]#
3)編寫通知腳本在主備份伺服器上編寫如下腳本 主備一樣:
- [root@node01 keepalived]# cat notify.sh
- #!/bin/bash
- #
- contact='root@localhost'
- notify() {
- mailsubject="$(hostname) to be $1, vip floating"
- mailbody="$(date +'%F %T'): vrrp transition, $(hostname) changed to be $1"
- echo "$mailbody" | mail -s "$mailsubject" $contact
- }
- case $1 in
- master)
- notify master
- ;;
- backup)
- notify backup
- ;;
- fault)
- notify fault
- ;;
- *)
- echo "Usage: $(basename $0) {master|backup|fault}"
- exit 1
- ;;
- esac
- [root@node01 keepalived]#
備份節點
- [root@node02 keepalived]# cat notify.sh
- #!/bin/bash
- #
- contact='root@localhost'
- notify() {
- mailsubject="$(hostname) to be $1, vip floating"
- mailbody="$(date +'%F %T'): vrrp transition, $(hostname) changed to be $1"
- echo "$mailbody" | mail -s "$mailsubject" $contact
- }
- case $1 in
- master)
- notify master
- ;;
- backup)
- notify backup
- ;;
- fault)
- notify fault
- ;;
- *)
- echo "Usage: $(basename $0) {master|backup|fault}"
- exit 1
- ;;
- esac
- [root@node02 keepalived]# pwd
- /etc/keepalived
- [root@node02 keepalived]#
4.配置haproxy
Node01和node02兩個節點的配置是一樣的
- [root@node01 haproxy]# pwd
- /etc/haproxy
- [root@node01 haproxy]# cat haproxy.cfg
- #---------------------------------------------------------------------
- # Example configuration for a possible web application. See the
- # full configuration options online.
- #
- # http://haproxy.1wt.eu/download/1.4/doc/configuration.txt
- #
- #---------------------------------------------------------------------
- #---------------------------------------------------------------------
- # Global settings
- #---------------------------------------------------------------------
- global
- # to have these messages end up in /var/log/haproxy.log you will
- # need to:
- #
- # 1) configure syslog to accept network log events. This is done
- # by adding the '-r' option to the SYSLOGD_OPTIONS in
- # /etc/sysconfig/syslog
- #
- # 2) configure local2 events to go to the /var/log/haproxy.log
- # file. A line like the following can be added to
- # /etc/sysconfig/syslog
- #
- # local2.* /var/log/haproxy.log
- #
- log 127.0.0.1 local2
- chroot /var/lib/haproxy
- pidfile /etc/haproxy/haproxy.cfg
- maxconn 4000
- user haproxy
- group haproxy
- daemon
- # turn on stats unix socket
- stats socket /var/lib/haproxy/stats
- #---------------------------------------------------------------------
- # common defaults that all the 'listen' and 'backend' sections will
- # use if not designated in their block
- #---------------------------------------------------------------------
- defaults
- mode http
- log global
- option httplog
- option dontlognull
- option http-server-close
- option forwardfor except 127.0.0.0/8
- option redispatch
- retries 3
- timeout http-request 10s
- timeout queue 1m
- timeout connect 10s
- timeout client 1m
- timeout server 1m
- timeout http-keep-alive 10s
- timeout check 10s
- maxconn 3000
- #---------------------------------------------------------------------
- # main frontend which proxys to the backends
- #---------------------------------------------------------------------
- frontend web *:80
- acl url_static path_beg -i /static /images /javascript /stylesheets
- acl url_static path_end -i .jpg .gif .png .css .js
- use_backend static if url_static
- default_backend app
- #---------------------------------------------------------------------
- # static backend for serving up images, stylesheets and such
- #---------------------------------------------------------------------
- backend static
- balance roundrobin
- server static1 192.168.150.73:80 check
- server static2 192.168.150.74:80 check
- #---------------------------------------------------------------------
- # round robin balancing between the various backends
- #---------------------------------------------------------------------
- backend app
- balance roundrobin
- server app1 192.168.150.73:80 check
- server app2 192.168.150.74:80 check
- listen stats
- bind :10086
- stats uri /admin?stats
- stats auth admin:admin
- stats admin if TRUE
- [root@node01 haproxy]#
六.啟動服務
- [root@node01 /]# systemctl start haproxy
- [root@node01 /]# systemctl start keepalived
- [root@node01 /]#
- [root@node02 /]# systemctl start haproxy
- [root@node02 /]# systemctl start keepalived
- [root@node02 /]#
七.測試服務啟動情況
Node01節點:
- [root@node01 /]# systemctl start keepalived
- [root@node01 /]# systemctl status -l keepalived
- ● keepalived.service - LVS and VRRP High Availability Monitor
- Loaded: loaded (/usr/lib/systemd/system/keepalived.service; disabled; vendor preset: disabled)
- Active: active (running) since 二 2018-05-29 08:49:17 CST; 55min ago
- Process: 27208 ExecStart=/usr/sbin/keepalived $KEEPALIVED_OPTIONS (code=exited, status=0/SUCCESS)
- Main PID: 27211 (keepalived)
- CGroup: /system.slice/keepalived.service
- ├─27211 /usr/sbin/keepalived -D
- ├─27212 /usr/sbin/keepalived -D
- └─27213 /usr/sbin/keepalived -D
- 5月 29 08:49:18 node01 Keepalived_vrrp[27213]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 08:49:18 node01 Keepalived_vrrp[27213]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 08:49:18 node01 Keepalived_vrrp[27213]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 08:49:18 node01 Keepalived_vrrp[27213]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 08:49:23 node01 Keepalived_vrrp[27213]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 08:49:23 node01 Keepalived_vrrp[27213]: VRRP_Instance(VI_1) Sending/queueing gratuitous ARPs on enp2s0 for 192.168.150.70
- 5月 29 08:49:23 node01 Keepalived_vrrp[27213]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 08:49:23 node01 Keepalived_vrrp[27213]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 08:49:23 node01 Keepalived_vrrp[27213]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 08:49:23 node01 Keepalived_vrrp[27213]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- [root@node01 /]#
NODE02節點:
- [root@node02 /]# systemctl status -l keepalived
- ● keepalived.service - LVS and VRRP High Availability Monitor
- Loaded: loaded (/usr/lib/systemd/system/keepalived.service; disabled; vendor preset: disabled)
- Active: active (running) since 六 2018-05-26 10:26:44 CST; 2 days ago
- Process: 3143 ExecStart=/usr/sbin/keepalived $KEEPALIVED_OPTIONS (code=exited, status=0/SUCCESS)
- Main PID: 3144 (keepalived)
- CGroup: /system.slice/keepalived.service
- ├─3144 /usr/sbin/keepalived -D
- ├─3145 /usr/sbin/keepalived -D
- └─3146 /usr/sbin/keepalived -D
- 5月 29 08:48:36 node02 Keepalived_vrrp[3146]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 08:48:41 node02 Keepalived_vrrp[3146]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 08:48:41 node02 Keepalived_vrrp[3146]: VRRP_Instance(http) Sending/queueing gratuitous ARPs on enp2s0 for 192.168.150.70
- 5月 29 08:48:41 node02 Keepalived_vrrp[3146]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 08:48:41 node02 Keepalived_vrrp[3146]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 08:48:41 node02 Keepalived_vrrp[3146]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 08:48:41 node02 Keepalived_vrrp[3146]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 08:49:17 node02 Keepalived_vrrp[3146]: VRRP_Instance(http) Received advert with higher priority 100, ours 98
- 5月 29 08:49:17 node02 Keepalived_vrrp[3146]: VRRP_Instance(http) Entering BACKUP STATE
- 5月 29 08:49:17 node02 Keepalived_vrrp[3146]: VRRP_Instance(http) removing protocol VIPs.
- [root@node02 /]#
NODE01節點:
- [root@node01 /]# systemctl status -l haproxy
- ● haproxy.service - HAProxy Load Balancer
- Loaded: loaded (/usr/lib/systemd/system/haproxy.service; disabled; vendor preset: disabled)
- Active: active (running) since 二 2018-05-29 08:49:08 CST; 58min ago
- Main PID: 27195 (haproxy-systemd)
- CGroup: /system.slice/haproxy.service
- ├─27195 /usr/sbin/haproxy-systemd-wrapper -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
- ├─27197 /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -Ds
- └─27199 /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -Ds
- 5月 29 08:49:08 node01 systemd[1]: Started HAProxy Load Balancer.
- 5月 29 08:49:08 node01 systemd[1]: Starting HAProxy Load Balancer...
- 5月 29 08:49:08 node01 haproxy-systemd-wrapper[27195]: haproxy-systemd-wrapper: executing /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -Ds
- [root@node01 /]#
NODE02節點:
- [root@node02 /]# systemctl status -l haproxy
- ● haproxy.service - HAProxy Load Balancer
- Loaded: loaded (/usr/lib/systemd/system/haproxy.service; disabled; vendor preset: disabled)
- Active: active (running) since 二 2018-05-29 08:46:45 CST; 1h 2min ago
- Main PID: 8945 (haproxy-systemd)
- CGroup: /system.slice/haproxy.service
- ├─8945 /usr/sbin/haproxy-systemd-wrapper -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
- ├─8946 /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -Ds
- └─8947 /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -Ds
- 5月 29 08:46:45 node02 systemd[1]: Started HAProxy Load Balancer.
- 5月 29 08:46:45 node02 systemd[1]: Starting HAProxy Load Balancer...
- 5月 29 08:46:45 node02 haproxy-systemd-wrapper[8945]: haproxy-systemd-wrapper: executing /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -Ds
- [root@node02 /]#
下面停掉NODE01節點,然後在NODE02上檢視NODE02的狀态變化
- [root@node01 /]# systemctl stop haproxy
- [root@node01 /]# systemctl stop keepalived
- [root@node01 /]#
- [root@node02 /]# systemctl status -l keepalived
- ● keepalived.service - LVS and VRRP High Availability Monitor
- Loaded: loaded (/usr/lib/systemd/system/keepalived.service; disabled; vendor preset: disabled)
- Active: active (running) since 六 2018-05-26 10:26:44 CST; 2 days ago
- Process: 3143 ExecStart=/usr/sbin/keepalived $KEEPALIVED_OPTIONS (code=exited, status=0/SUCCESS)
- Main PID: 3144 (keepalived)
- CGroup: /system.slice/keepalived.service
- ├─3144 /usr/sbin/keepalived -D
- ├─3145 /usr/sbin/keepalived -D
- └─3146 /usr/sbin/keepalived -D
- 5月 29 10:00:52 node02 Keepalived_vrrp[3146]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 10:00:52 node02 Keepalived_vrrp[3146]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 10:00:52 node02 Keepalived_vrrp[3146]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 10:00:52 node02 Keepalived_vrrp[3146]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 10:00:57 node02 Keepalived_vrrp[3146]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 10:00:57 node02 Keepalived_vrrp[3146]: VRRP_Instance(http) Sending/queueing gratuitous ARPs on enp2s0 for 192.168.150.70
- 5月 29 10:00:57 node02 Keepalived_vrrp[3146]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 10:00:57 node02 Keepalived_vrrp[3146]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 10:00:57 node02 Keepalived_vrrp[3146]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 10:00:57 node02 Keepalived_vrrp[3146]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- [root@node02 /]#
- [root@node02 /]#
- [root@node02 /]# systemctl status -l haproxy
- ● haproxy.service - HAProxy Load Balancer
- Loaded: loaded (/usr/lib/systemd/system/haproxy.service; disabled; vendor preset: disabled)
- Active: active (running) since 二 2018-05-29 08:46:45 CST; 1h 14min ago
- Main PID: 8945 (haproxy-systemd)
- CGroup: /system.slice/haproxy.service
- ├─8945 /usr/sbin/haproxy-systemd-wrapper -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
- ├─8946 /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -Ds
- └─8947 /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -Ds
- 5月 29 08:46:45 node02 systemd[1]: Started HAProxy Load Balancer.
- 5月 29 08:46:45 node02 systemd[1]: Starting HAProxy Load Balancer...
- 5月 29 08:46:45 node02 haproxy-systemd-wrapper[8945]: haproxy-systemd-wrapper: executing /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -Ds
- [root@node02 /]#
Node01節點:
- [root@node01 /]# systemctl status -l keepalived
- ● keepalived.service - LVS and VRRP High Availability Monitor
- Loaded: loaded (/usr/lib/systemd/system/keepalived.service; disabled; vendor preset: disabled)
- Active: inactive (dead)
- 5月 29 08:49:23 node01 Keepalived_vrrp[27213]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 08:49:23 node01 Keepalived_vrrp[27213]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 08:49:23 node01 Keepalived_vrrp[27213]: Sending gratuitous ARP on enp2s0 for 192.168.150.70
- 5月 29 10:00:51 node01 Keepalived[27211]: Stopping
- 5月 29 10:00:51 node01 systemd[1]: Stopping LVS and VRRP High Availability Monitor...
- 5月 29 10:00:51 node01 Keepalived_vrrp[27213]: VRRP_Instance(VI_1) sent 0 priority
- 5月 29 10:00:51 node01 Keepalived_vrrp[27213]: VRRP_Instance(VI_1) removing protocol VIPs.
- 5月 29 10:00:52 node01 Keepalived_vrrp[27213]: Stopped
- 5月 29 10:00:52 node01 Keepalived[27211]: Stopped Keepalived v1.3.5 (03/19,2017), git commit v1.3.5-6-g6fa32f2
- 5月 29 10:00:52 node01 systemd[1]: Stopped LVS and VRRP High Availability Monitor.
- [root@node01 /]#