Lvs+Keepalived問題彙總

編譯安裝問題:

1../configure

Keepalived configuration

------------------------

Keepalived version : 1.1.15

Compiler : gcc

Compiler flags : -g -O2

Extra Lib : -lpopt -lssl -lcrypto

Use IPVS Framework : Yes

IPVS sync daemon support : Yes

Use VRRP Framework : Yes

Use LinkWatch : No

Use Debug flags : No

如果Use IPVS Framework 爲No 則使用keepalived啓用後將無法條用ipvsadm,所以

安裝時需要指定kernel:

./configure --with-kernel-dir=/usr/src/kernels/2.6.18-194.32.1.el5-i686

ü 2. Can not include OpenSSL
!!! OpenSSL is not properly installed on your system. !!!
  !!! Can not include OpenSSL headers files.            !!!

提示open-ssl未安裝:yum openssl-devel

ü .make時出現如下亂碼錯誤:

check_http.c:459: 警告:對指針賦值時目標與指針有/無符號不一致

check_http.c:461: 警告:傳遞參數 1 (屬於 ‘sprintf’) 給指針時目標與指針有/無符號不一致

check_http.c:463: 警告:傳遞參數 1 (屬於 ‘strlen’) 給指針時目標與指針有/無符號不一致

check_http.c:463: 警告:傳遞參數 2 (屬於 ‘__builtin_strcmp’) 給指針時目標與指針有/無符號不一致

check_http.c:463: 警告:傳遞參數 2 (屬於 ‘__builtin_strcmp’) 給指針時目標與指針有/無符號不一致

check_http.c:463: 警告:傳遞參數 1 (屬於 ‘strlen’) 給指針時目標與指針有/無符號不一致

check_http.c:463: 警告:傳遞參數 2 (屬於 ‘__builtin_strcmp’) 給指針時目標與指針有/無符號不一致

check_http.c:463: 警告:傳遞參數 2 (屬於 ‘__builtin_strcmp’) 給指針時目標與指針有/無符號不一致

儘量保持kernel版本一致,如:

[root@hbchen ~]# rpm -qa|grep kernel

kernel-2.6.18-164.el5

kernel-headers-2.6.18-164.el5

kernel-devel-2.6.18-164.el5

(keepalived對於一些kernel不兼容,所以kernel都要保持一致,Version 1.1.19以下的版本都兼容性比較好,

所以安裝1.1.19以上的版本make時會出現很多亂七八糟的錯誤)

注意下這裏2.6.18-194.32.1.el5-i686要替換爲你自己系統的核心,用uname -r 查詢

解決方法:yum install kernel-devel

ln -s /usr/src/kernels/2.6.9-22.EL-i686/ /usr/src/linux

ü ip_vs文件錯誤

/usr/include/sys/types.h:62: 錯誤:與 ‘dev_t’ 類型衝突

/usr/src/kernels/2.6.18-194.3.1.el5-i686/include/linux/types.h:22: 錯誤:‘dev_t’ 的上一個聲明在此

/usr/include/sys/types.h:67: 錯誤:與 ‘gid_t’ 類型衝突

/usr/src/kernels/2.6.18-194.3.1.el5-i686/include/linux/types.h:54: 錯誤:‘gid_t’ 的上一個聲明在此

/usr/include/sys/types.h:72: 錯誤:與 ‘mode_t’ 類型衝突

/usr/src/kernels/2.6.18-194.3.1.el5-i686/include/linux/types.h:24: 錯誤:‘mode_t’ 的上一個聲明在此

/usr/include/sys/types.h:77: 錯誤:與 ‘nlink_t’ 類型衝突

/usr/src/kernels/2.6.18-194.3.1.el5-i686/include/linux/types.h:25: 錯誤:‘nlink_t’ 的上一個聲明在此

/usr/include/sys/types.h:82: 錯誤:與 ‘uid_t’ 類型衝突

/usr/src/kernels/2.6.18-194.3.1.el5-i686/include/linux/types.h:53: 錯誤:‘uid_t’ 的上一個聲明

.找到ip_vs.h文件.

find / -name ip_vs.h copy to /usr/include/net下

[root@hbchen /]# cp /usr/src/kernels/2.6.18-164.el5-i686/include/net/ip_vs.h /usr/include/net/

/usr/src/kernels/2.6.18-194.32.1.el5-i686/include/net/ip_vs.h 這個是我係統上的路徑,

2.6.18-194.32.1.el5-i686要替換爲你自己系統的核心沒有這個路徑的話用find命令查找

find / -name ip_vs.h (若找不到這個文件,你先要先把kernel-devel 安裝好)

ü 加載ipvs模塊

3.實現lvs羣集的兩個重要部件是ipvs內核模塊和ipvsadm工具包。當前內核版本的系統已經包含ipvs內核模塊,

但默認並沒有加載到內核中,可以手工加載或安裝ipvsadm之後會被加載。使用modprobe命令手工加載ipvs模塊

並查詢模塊是否加

[root@hbchen ~]# modprobe ip_vs

[root@hbchen ~]# lsmod |grep ip_vs

ip_vs_wlc 6080 1

ü Keepalived_vrrp不生效

在/var/log/messages中Keepalived_vrrp不生效,即無vrrp日誌

Nov 23 17:46:41 SN2008-06-070 Keepalived_vrrp: receive an invalid ip number count associated with VRID!

Nov 23 17:46:41 SN2008-06-070 Keepalived_vrrp: bogus VRRP packet received on eth0 !!!

Nov 23 17:46:41 SN2008-06-070 Keepalived_vrrp: VRRP_Instance(VI_1) Dropping received VRRP packet...

Nov 23 17:46:42 SN2008-06-070 Keepalived_vrrp: receive an invalid ip number count associated with VRID!

Nov 23 17:46:42 SN2008-06-070 Keepalived_vrrp: bogus VRRP packet received on eth0 !!!

Nov 23 17:46:42 SN2008-06-070 Keepalived_vrrp: VRRP_Instance(VI_1) Dropping received VRRP packet...

重新編譯源碼包,可能是由於修改types.h後才configure

Ipvsadm啓動問題

Ipvsadm可以通過腳本直接啓動不用啓動服務(service ipvsadm start)

若要直接啓動,報錯如下:

Applying IPVS configuration: /etc/init.d/ipvsadm: line 62: /etc/sysconfig/ipvsadm: 沒有那個文件或目錄

[失敗]

[root@localhost init.d]# service ipvsadm save

Saving IPVS table to /etc/sysconfig/ipvsadm: [確定]

[root@localhost init.d]# service ipvsadm start

Clearing the current IPVS table: [確定]

Applying IPVS configuration: [確定]

此時只需要保存ipvsadm表即可!(service ipvsadm save)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章