一、 介紹
keepalived:是一個類似於 layer3, 4 & 7 交換機制的軟件,也就是我們平時說的第 3 層、第 4 層和第 7層交換。 Keepalived 的作用是檢測 web 服務器的狀態,如果有一台 web 服務器死機,或工作出現故障,Keepalived 將檢測到,並將有故障的 web 服務器從系統中剔除,當 web 服務器工作正常后 Keepalived 自動將web 服務器加入到服務器群中,這些工作全部自動完成,不需要人工干涉,需要人工做的只是修復故障的web 服務器。
keepalived程序是vrrp協議在linux主機上以守護進程方式的實現,能夠根據配置文件生成IPVS規則 ,並對各real server的健康做檢測,以及Loadbalance主機和backup主機之間failover的實現,keepalived在Centos6.4+收錄到了發行版光盤中
keepalived 理論工作原理
Layer3,4&5 工作在 IP/TCP 協議棧的 IP 層, TCP 層,及應用層,。
原理分別如下:
Layer3: Keepalived 使用 Layer3 的方式工作式時, Keepalived 會定期向服務器群中的服務器發送一個 ICMP 的數據包(既我們平時用的 Ping 程序) , 如果發現某台服務的 IP 地址沒有激活,
Keepalived 便報告這台服務器失效,並將它從服務器群中剔除,這種情況的典型例子是某台服務器被非法關機。 Layer3 的方式是以服務器的 IP 地址是否有效作為服務器工作正常與否的標准。
Layer4: 主要以 TCP 端口的狀態來決定服務器工作正常與否。如 web server 的服務端口一般是
80,如果 Keepalived 檢測到 80 端口沒有啟動,則 Keepalived 將把這台服務器從服務器群中刪除。
Layer7:Layer5 就是工作在具體的應用層了,比 Layer3,Layer4 要復雜一點,在網絡上占用的帶寬也要大一些。 Keepalived 將根據用戶的設定檢查服務器程序的運行是否正常,如果與用戶的設定不相符,則 Keepalived 將把服務器從服務器群中剔除。
比如說訪問一個頁面,它有沒有這個頁面,沒有的話,它就會把它踢除啊
keepalived作用:
1.管理 VIP(虛擬IP) VIP 會在 LVS 之間漂移
2.監控 LVS分發器
運行在主分發的 Keepalived 會以組播的形式向網絡中宣告自己,即主分發器還活着,備用節點能收到。當備用節點,在一個時間單位中收不到組播,備用節點會認為主 LVS 掛了,開始接手主分發器工作,把 VIP 配給自己。
3.管理 RS
Keepalived 會每隔一個時間段去做一次類似於訪問的操作如:
探針: elinks http://192.168.3.64 -dump
keepalived 官網
http://www.keepalived.org/
LVS:Linux Virtual Server的簡寫,意即Linux虛擬服務器,是一個虛擬的服務器集群系統,此項目在1998年5月由章文嵩博士成立,是中國國內最早出現的自由軟件項目之一。
中文官方網站:http://zh.linuxvirtualserver.org/ http://www.linux-vs.org/zh/
二、keepalived+lvs-DR模式配置高可用負載均衡
拓撲如下:
IP地址與主機分配如下 :
機器角色 |
機器IP |
網關 |
機器作用 |
xuegod63 |
RIP:192.168.1.63/24 |
192.168.1.1 |
RS1- WEB1 |
xuegod64 |
RIP:192.168.1.64/24 |
192.168.1.1 |
RS2- WEB2 |
xuegod66 |
DIP:192.168.1.66/24 VIP:192.168.1.200/24 |
192.168.1.1 |
主-LVS |
xuegod67 |
DIP:192.168.1.67/24 VIP:192.168.1.200/24 |
192.168.1.1 |
備-LVS |
二、 在master和bakcup分別安裝ipvsadm和keepalived軟件包
注:安裝完成ipvsadm后不需要任何配置,啟動方式由keepalived來控制
keepalived包下載地址:http://www.keepalived.org/software/keepalived-1.2.16.tar.gz
ipvsadm包自帶系統光盤中含有
1.在master上面安裝
安裝ipvsadm
[root@xuegod66 ~]# cd /media/Packages/
[root@xuegod66 Packages]# rpm -ivh ipvsadm-1.26-2.el6.x86_64.rpm
warning: ipvsadm-1.26-2.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ########################################### [100%]
1:ipvsadm ########################################### [100%]
[root@xuegod66 Packages]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
檢查模版是否加入了內核
[root@xuegod66 Packages]# lsmod | grep ip_vs
ip_vs 125220 0
libcrc32c 1246 1 ip_vs
ipv6 317340 158 ip_vs,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6
安裝keepalived
[root@xuegod66 tmp]# wget http://www.keepalived.org/software/keepalived-1.2.16.tar.gz
[root@xuegod66 tmp]# tar zxf keepalived-1.2.16.tar.gz
[root@xuegod66 tmp]# cd keepalived-1.2.16
[root@xuegod66 keepalived-1.2.16]# ./configure --prefix=/usr/local/keepalived
Keepalived configuration
------------------------
Keepalived version : 1.2.16
Compiler : gcc
Compiler flags : -g -O2
Extra Lib : -lssl -lcrypto -lcrypt
Use IPVS Framework : Yes
IPVS sync daemon support : Yes
IPVS use libnl : No
fwmark socket support : Yes
Use VRRP Framework : Yes
Use VRRP VMAC : Yes
SNMP support : No
SHA1 support : No
Use Debug flags : No
拓展:VRRP
虛擬路由冗余協議(Virtual Router Redundancy Protocol,簡稱VRRP)是由IETF提出的解決局域網中配置靜態網關出現單點失效現象的路由協議。使用組播方式通信。
VRRP是一種路由容錯協議,也可以叫做備份路由協議。一個局域網絡內的所有主機都設置缺省路由(默認網關),當網內主機發出的目的地址不在本網段時,報文將被通過缺省路由發往外部路由器,從而實現了主機與外部網絡的通信。當缺省路由器down掉(即端口關閉)之后,內部主機將無法與外部通信,如果路由器設置了VRRP時,那么這時,虛擬路由將啟用備份路由器,從而實現全網通信。所有局域網中的PC機,默認網關為10.1.1.13!
工作流程如圖:
[root@xuegod66 keepalived-1.2.16]# make && make install
查看安裝后生成的文件:
[root@xuegod66 keepalived-1.2.16]# ls /usr/local/keepalived/
bin etc sbin share
主配置文件:
[root@xuegod66 ]# ls /usr/local/keepalived/etc/keepalived/keepalived.conf
/usr/local/keepalived/etc/keepalived/keepalived.conf
建立啟動腳本:
[root@xuegod66 ~]# cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d
查看有沒有執行權限,如果沒有要給它一個執行權限
[root@xuegod66 ~]# ll /etc/init.d/keepalived
-rwxr-xr-x 1 root root 1308 8月 9 15:34 /etc/init.d/keepalived
因為我們使用的是非默認路徑(/usr/local)安裝keepalived,所以需要修改啟動文件幾處地方,以保證keepalived能夠正常啟動,需要修改的文件如下:
[root@xuegod66 ~]# vi /etc/init.d/keepalived
# Source configuration file (we set KEEPALIVED_OPTIONS there)
#. /etc/sysconfig/keepalived #注釋掉
RETVAL=0
prog="keepalived"
exec="/usr/local/keepalived/sbin/keepalived" #添加
config="/usr/local/keepalived/etc/keepalived/keepalived.conf" #添加
start() {
echo -n $"Starting $prog: "
daemon keepalived ${KEEPALIVED_OPTIONS} àà原來這一行改為下面這樣寫法
daemon $exec -D -f $config
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
}
[root@xuegod66 ~]# service keepalived restart
切勿忘記將此服務設置為開機啟動
[root@xuegod66 ~]# chkconfig keepalived on
默認的配置文件中,指定了三個數個虛擬IP : 192.168.200.16 192.168.200.17 192.168.200.18
[root@xuegod66 ~]# ip addr
……….
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:62:21:a6 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.66/24 brd 192.168.1.255 scope global eth0
inet 192.168.200.16/32 scope global eth0
inet 192.168.200.17/32 scope global eth0
inet 192.168.200.18/32 scope global eth0
inet6 fe80::20c:29ff:fe62:21a6/64 scope link
到此我們就安裝成功了
實戰1:使用keepalived配置LVS-DR 主-備高可用集群模式
描述:
在這種模式下,虛擬IP在某時刻只能屬於某一個節點,另一個節點作為備用節點存在。當主節點不可用時,備用節點接管虛擬IP,提供正常服務。
配置參數:
節點 xuegod66(主節點); 節點 xuegod67(備用節點) ; 虛擬 IP 192.168.1.200對外提供服務的 IP。 要求默認情況下由節點 xuegod66 提供服務,當節點 xuegod66 不可用時,由節點 xuegod67 提供服務(即虛擬 IP 漂移至節點 xuegod67)
配置xuegod66為keepalived主:
[root@xuegod66 keepalived]# vim etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
xuegod@localhost
}
notification_email_from xuegod@localhost
smtp_server localhost
smtp_connect_timeout 30
router_id xuegod66
}
vrrp_instance apache {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.200
}
}
virtual_server 192.168.1.200 80 {
delay_loop 6
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
persistence_timeout 50
protocol TCP
real_server 192.168.1.63 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.1.64 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
#默認配置文件中還有兩個 virtual_server 模版,把剩下的都刪除了,就可以。 如:
#virtual_server 10.10.10.2 1358 { 。。。 }
#virtual_server 10.10.10.3 1358 { 。。。 }
配置文件說明
Global configuration : 全局配置
global_defs{
…
}
VRRP Configuration : 配置VRRP實例
vrrp_instance name{
…
}
LVS Configuration : IPVS的相關配置
virtual_server ip port {
…
real_server ip port {
…
}
}
#全局定義部分 global_defs { notification_email { dba.gao@gmail.com #設置報警郵件地址,收件人郵箱,可以設置多個,每行一個。注意,如果要開啟郵件報警,需要開啟本機的sendmail服務。 ixdba@163.com } notification_email_from Keepalived@localhost #發件人郵箱。 smtp_server 192.168.200.1 #設置smtp server地址。 smtp_connect_timeout 30 #設置連接smtp服務器超時時間。 router_id LVS_MASTER #運行Keepalived服務器的一個標識。建議寫主機名 } #vrrp實例定義部分 vrrp_instance VI_1 { state MASTER #指定Keepalived的角色,MASTER表示此主機是主用服務器,BACKUP表示是備用服務器。 interface eth0 #指定HA監測網絡的接口。 virtual_router_id 51 #虛擬路由標識,這個標識是一個數字,並且同一個vrrp實例使用唯一的標識,即同一個vrrp_instance下,MASTER和BACKUP必須是一致的。 priority 100 #定義優先級,數字越大,優先級越高,在一個vrrp_instance下,MASTER的優先級必須大於BACKUP的優先級。 advert_int 1 #設定MASTER與BACKUP負載均衡器之間同步檢查的時間間隔,單位是秒。 authentication { #設定驗證類型和密碼。 auth_type PASS #設置驗證類型,主要有PASS和AH兩種。 auth_pass 1111 #設置驗證密碼,在一個vrrp_instance下,MASTER與BACKUP必須使用相同的密碼才能正常通信。 } virtual_ipaddress { #設置虛擬IP地址,可以設置多個虛擬IP地址,每行一個。 192.168.12.135 } } #虛擬服務器定義部分 virtual_server 192.168.12.135 80 { #設置虛擬服務器,需要指定虛擬ip地址和服務端口,ip與端口之間用空格隔開。 delay_loop 6 #設置健康檢查時間,單位是秒。 lb_algo rr #設置負載調度算法,這里設置為rr,即輪詢算法。 lb_kind DR #設置LVS實現負載均衡的機制,可以有NAT、TUN和DR三個模式可選。 persistence_timeout 50 #會話保持時間,單位是秒,這個選項對於動態網頁是非常有用的,為集群系統中session共享提供了一個很好的解決方案。有了這個會話保持功能,用戶的請求會被一直分發到某個服務節點,直到超過這個會話保持時間。需要注意的是,這個會話保持時間,是最大無響應超時時間,也就是說用戶在操作動態頁面時,如果在50秒內沒有執行任何操作,那么接下來的操作會被分發到另外節點,但是如果一直在操作動態頁面,則不受50秒的時間限制。0為不可用 protocol TCP #指定轉發協議類型,有tcp和udp兩種。 real_server 192.168.12.246 80 { #配置服務節點1,需要指定real server的真實IP地址和端口,ip與端口之間用空格隔開。 weight 3 #配置服務節點的權值,權值大小用數字表示,數字越大,權值越高,設置權值的大小可以為不同性能的服務器分配不同的負載,可以對性能高的服務器設置較高的權值,而對性能較低的服務器設置相對較低的權值,這樣就合理的利用和分配了系統資源。 TCP_CHECK { #realserve的狀態檢測設置部分,單位是秒 connect_timeout 10 #10秒無響應超時 nb_get_retry 3 #重試次數 delay_before_retry 3 #重試間隔 } } real_server 192.168.12.237 80 { #配置服務節點2 weight 1 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } } |
[root@xuegod66 keepalived]# service keepalived restart
測試是否可以加載VIP地址
[root@xuegod66 keepalived]# ipvsadm -L –n
IP Virtual Server version 1.2.1(size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.1.200:80 rr persistent 50
#注:沒有看到 realserver,是因為兩台 realserver 沒有開啟 httpd 服務。
2.在bakcup上面安裝
[root@xuegod67 Packages]# rpm -ivh ipvsadm-1.26-2.el6.x86_64.rpm
warning: ipvsadm-1.26-2.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ########################################### [100%]
1:ipvsadm ########################################### [100%]
[root@xuegod67 Packages]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
檢查模版是否加入了內核
[root@xuegod67 Packages]# lsmod|grep ip_vs
ip_vs 125220 0
libcrc32c 1246 1 ip_vs
ipv6 317340 158 ip_vs,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6
安裝keepalived
[root@xuegod67 ~]# wget http://www.keepalived.org/software/keepalived-1.2.16.tar.gz
[root@xuegod67 ~]# tar zxf keepalived-1.2.16.tar.gz
[root@xuegod67 ~]# cd keepalived-1.2.16
[root@xuegod67 keepalived-1.2.16]# ./configure --prefix=/usr/local/keepalived
Keepalived configuration
------------------------
Keepalived version : 1.2.16
Compiler : gcc
Compiler flags : -g -O2
Extra Lib : -lssl -lcrypto -lcrypt
Use IPVS Framework : Yes
IPVS sync daemon support : Yes
IPVS use libnl : No
fwmark socket support : Yes
Use VRRP Framework : Yes
Use VRRP VMAC : Yes
SNMP support : No
SHA1 support : No
Use Debug flags : No
[root@xuegod67 keepalived-1.2.16]# make && make install
將xuegod66上的啟動文件和配置文件復制到xuegod67的相應位置
[root@xuegod66 ~]# scp /etc/init.d/keepalived xuegod67:/etc/init.d/
[root@xuegod66 ~]# scp /usr/local/keepalived/etc/keepalived/keepalived.conf xuegod67:/usr/local/keepalived/etc/keepalived/
復制過來的啟動文件就不需要再修改了,配置文件還要做一定的修改
[root@xuegod67 ~]# vi /usr/local/keepalived/etc/keepalived/keepalived.conf
global_defs {
notification_email {
root@localhost
}
notification_email_from root@localhost
smtp_server localhost
smtp_connect_timeout 30
router_id xuegod67 #運行 keepalived 的機器標示符
}
vrrp_instance apache {
state BACKUP #當前 LVS 狀態為從分發器
interface eth0
virtual_router_id 51
priority 90 #前 LVS 優先級,備的要比主的小
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.200
}
}
……………………
[root@xuegod67 keepalived]# service keepalived restart
測試:高可用
[root@xuegod66 keepalived]# /etc/init.d/keepalived stop #xueogd66上停止keepalived
[root@xuegod67 keepalived]# ip addr
……
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:ae:04:06 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.67/24 brd 192.168.1.255 scope global eth0
inet 192.168.1.200/32 scope global eth0
inet6 fe80::20c:29ff:feae:406/64 scope link
valid_lft forever preferred_lft forever
[root@xuegod67 keepalived]# ipvsadm -L –n
IP Virtual Server version 1.2.1(size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.1.200:80 rr persistent 50
#看到192.168.1.63飄移過來了,就證明一切正常了
或查看日志:
[root@xuegod61 ~]# tail -f /var/log/messages
三、配置WEB服務器
配置RS1
[root@xuegod63 ~]# vim /etc/init.d/lvsrsdr
#!/bin/bash
#description:start relserver
VIP=192.168.1.200
source /etc/init.d/functions #加載環境變量(可以加載所有的環境變量)
case $1 in
start)
echo 'start LVS of Realserver DR'
/sbin/ifconfig lo:1 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev lo:1
echo '1' > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo '2' > /proc/sys/net/ipv4/conf/lo/arp_announce
echo '1' > /proc/sys/net/ipv4/conf/all/arp_ignore
echo '2' > /proc/sys/net/ipv4/conf/all/arp_announce
;;
stop)
/sbin/ifconfig lo:1 down
echo 'Close LVS of Realserver DR'
echo '0' > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo '0' > /proc/sys/net/ipv4/conf/lo/arp_announce
echo '0' > /proc/sys/net/ipv4/conf/all/arp_ignore
echo '0' > /proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
echo "Usage:$0(start|stop)"
exit 1
esac
[root@xuegod63 ~]# /etc/init.d/lvsrsdr start
[root@xuegod63 ~]# echo "/etc/init.d/lvsrsdr start " > /etc/rc.local
[root@xuegod63 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet 192.168.1.200/32 brd 192.168.1.200 scope global lo:1
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
[root@xuegod63 ~]# yum install -y httpd
[root@xuegod63 ~]# service httpd restart
[root@xuegod63 ~]# echo 192.168.1.63 > /var/www/html/index.html
[root@xuegod63 ~]# service httpd restart
配置RS2
[root@xuegod64 ~]# scp /etc/init.d/lvsrsdr 192.168.1.64:/etc/init.d #從Xuegod63上導入腳本
[root@xuegod64 ~]# /etc/init.d/lvsrsdr start
[root@xuegod64 ~]# echo "/etc/init.d/lvsrsdr start " > /etc/rc.local
[root@xuegod64 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet 192.168.1.200/32 brd 192.168.1.200 scope global lo:1
inet6 ::1/128 scope host
[root@xuegod64 ~]# yum install -y httpd php
[root@xuegod64 ~]# echo 192.168.1.64 > /var/www/html/index.html
[root@xuegod64 ~]# service httpd restart
測試
我們先清空瀏覽器緩存
等待50S之后再看一下
測試:主備切換
首先在主上Xueogd66查看狀態
[root@xuegod66 keepalived]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.1.200:80 rr persistent 50
-> 192.168.1.63:80 Route 1 0 0
-> 192.168.1.64:80 Route 1 0 14
在備上查看Xuegod67的狀態
[root@xuegod64 keepalived]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@xuegod66 keepalived]# service keepalived stop //在xuegod66上停掉keepalived模擬故障,在查看xuegod67
[root@xuegod67 keepalived]# ipvsadm -L –n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.1.200:80 rr persistent 50
-> 192.168.1.63:80 Route 1 0 0
-> 192.168.1.64:80 Route 1 0 0
[root@xuegod67 keepalived]# ip addr
……
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:ae:04:06 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.67/24 brd 192.168.1.255 scope global eth0
inet 192.168.1.200/32 scope global eth0
inet6 fe80::20c:29ff:feae:406/64 scope link
valid_lft forever preferred_lft forever
從日志看:
[root@xuegod67 keepalived]# tailf /var/log/messages
當我們重啟了主上的keepalived,自動從備分發器轉到主分發器上。因為備的優先級低。
[root@xuegod66 keepalived]# service keepalived restart
測試RS容錯
停掉Xueogd64的httpd之后xuegod63查看
[root@xuegod63 keepalived]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.1.200:80 rr persistent 50
-> 192.168.1.63:80 Route 1 0 0
打開主 LVS 的日志(/var/log/message),使其滾動從 LVS 中移除。答案都是提示的。
使用 ipvsadm -ln 可以看到剛才關閉的那台機器的 IP不在列表中了。
當 keepalived 主從優先級一樣時,當主恢復后,還是要回切資源的。第一次建立主從關系時,需要10s 左右的認證時間。
常見錯誤
1:編譯報錯
由提示可以看到,沒有發現 gcc cc 編譯工具,只需要安裝即可。 解決方法:
#yum install gcc gcc-c++
2:編譯完成還不支持
解決方法: 內核源碼做軟鏈接,查看是否有內核源碼
#ls /usr/src/kernels/ #yum install kernel-devel ipvsadm
#ln -s /usr/src/kernels/2.6.32-220.el6.x86_64/ /usr/src/linux //上面 ln 軟鏈接時源地址根據系統版本的不同,目錄名也不同
視頻講課:鏈接:https://pan.baidu.com/s/1o79mNEi 密碼:請在評論處留下郵箱,統一發送