网站运维、系统运维管理研究
« »

LVS安装keepalived时遇到的问题

原创文章,转载请注明: 转载自听风细雨 – 大型网站运维

本文链接地址: LVS安装keepalived时遇到的问题

安装编译keeepalived时需要支持LVS时才可以做LVS调度

类似:

Keepalived configuration
————————
Keepalived version       : 1.1.19
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 Debug flags          : No

 

今天一个同事问我他怎么编译的时候一直是

Keepalived configuration
————————
Keepalived version       : 1.1.19
Compiler                 : gcc
Compiler flags           : -g -O2
Extra Lib                : -lpopt -lssl -lcrypto
Use IPVS Framework       : No
IPVS sync daemon support : No
Use VRRP Framework       : Yes
Use Debug flags          : No

由于也挺久没装了,居然也忘记原因了,只知道是没指定内核路径的缘故

于是……

[root@nd0302010299 keepalived-1.1.19]# uname -r
2.6.18-164.6.1.el5PAE

转到/usr/src ,没有发现任何目录

搜索kernel,发现有/lib/modules/2.6.18-164.6.1.el5PAE

于是编译时加上–with-kernel-dir=/lib/modules/2.6.18-164.6.1.el5PAE/kernel/参数,结果依然是NO

到网络上查了很多信息,都没有找到,都只是说指向到/usr/src,问题是那里是空的

到后来忽然脑子一动,嘿嘿,应该是内核kernel-devel 没有安装的原因

yum install kernel-PAE-devel.i686

OK,在转到/usr/src 看看,果然有目录了

./configure –prefix=/ –with-kernel-dir=/usr/src/kernels/2.6.18-164.6.1.el5-PAE-i686/

终于是YES了!!

看到网络上都没有这样的记录,于是姑且记录一下,如果有人安装时遇到跟我一样的问题,也可以用上一二

文章的脚注信息由WordPress的wp-posturl插件自动生成

日志信息 »

该日志于2009-11-19 14:24由 radish 发表在L i n u x系统分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

相关日志 »

3条评论

  1. 游戏 说:

    闲逛到此,留下印记。顶一下。

  2. ISpaceWalker 说:

    呵呵,我倒没有遇到这问题,因为我总是下载最新内核来自行编译,内核文件就放在/usr/src/linux下,所以with-kernel-dir参数当然就设置为/usr/src/linxu。其实/usr/src/linux是一链接,指向你所下载内核文件的真实目录,如/usr/src/linux-2.6.31.6。我遇到另一个问题,在执行./configure时指定LDFLAGS参数,与不指定该参数,编译出来的两个keepalived可执行文件,这两个keepalived所链接的动态库有所不同,如下:
    执行./configure,不带任何参数,生成的keepalived所链接的动态库:
    linux-vdso.so.1 => (0×00007fff5ef7d000)
    libpopt.so.0 => /usr/lib64/libpopt.so.0 (0×0000003aa3a00000)
    libssl.so.6 => /lib64/libssl.so.6 (0×0000003aa4600000)
    libcrypto.so.6 => /lib64/libcrypto.so.6 (0×0000003aa2e00000)
    libdl.so.2 => /lib64/libdl.so.2 (0×0000003a9fe00000)
    libc.so.6 => /lib64/libc.so.6 (0×0000003a9fa00000)
    libgssapi_krb5.so.2 => /usr/local/lib/libgssapi_krb5.so.2 (0×00007fb0e1687000)
    libkrb5.so.3 => /usr/local/lib/libkrb5.so.3 (0×00007fb0e13d0000)
    libcom_err.so.2 => /lib/libcom_err.so.2 (0×00007fb0e11cd000)
    libk5crypto.so.3 => /usr/local/lib/libk5crypto.so.3 (0×00007fb0e0fa2000)
    libz.so.1 => /usr/lib64/libz.so.1 (0×0000003aa1200000)
    /lib64/ld-linux-x86-64.so.2 (0×0000003a9f600000)
    libcom_err.so.3 => /usr/local/lib/libcom_err.so.3 (0×00007fb0e0d9e000)
    libkrb5support.so.0 => /usr/local/lib/libkrb5support.so.0 (0×00007fb0e0b97000)
    libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0×0000003aa6a00000)
    libresolv.so.2 => /lib64/libresolv.so.2 (0×0000003aa5e00000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0×0000003aa0600000)
    一大堆,而如果指定了LDFLAGS参数,如:
    LDFLAGS=-L’/usr/local/lib’ ./configure –sysconfdir=/etc –with-kernel-dir=/usr/src/linux,则生成的keepalived所链接的动态库:
    linux-vdso.so.1 => (0×00007fffe55b1000)
    libpopt.so.0 => /usr/lib64/libpopt.so.0 (0×0000003aa3a00000)
    libssl.so.0.9.8 => /usr/local/lib/libssl.so.0.9.8 (0×00007fa770698000)
    libcrypto.so.0.9.8 => /usr/local/lib/libcrypto.so.0.9.8 (0×00007fa77031a000)
    libc.so.6 => /lib64/libc.so.6 (0×0000003a9fa00000)
    libdl.so.2 => /lib64/libdl.so.2 (0×0000003a9fe00000)
    /lib64/ld-linux-x86-64.so.2 (0×0000003a9f600000)
    少好多,krb5,pthread等都没有链接进去,很奇怪,最终只有通过自己手工设置,在LIBS参数中指定那些动态库才算暂时解决此问题:
    LDFLAGS=-L’/usr/local/lib’ LIBS=’-lkrb5 -lgssapi_krb5 -lpthread -lz’ ./configure –sysconfdir=/etc –with-kernel-dir=/usr/src/linux

发表评论 »

返回顶部