更多内容请访问我的个人网站【Linux札记】
一、服务器环境
1、拓扑图
OS:Redhat 5.8 64位系统
LVS-Master : 192.168.19.60
LVS-Backup : 192.168.19.61
LVS-VIP : 192.168.19.65
Realserver-1 : 192.168.19.62 (Apache)
Realserver-2 : 192.168.19.63 (Nginx)
Realserver-2 : 192.168.19.64 (IIS)
2、安装LVS依赖软件
[root@xunbang_master ~]# yum install -y gcc gcc-c++ make openssl-devel kernel-devel
注:系统采用最少化方法安装
所有服务器关闭Selinux
[root@xunbang_master ~]# vim /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 - SELinux is fully disabled. SELINUX=disabled # SELINUXTYPE= type of policy in use. Possible values are: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. SELINUXTYPE=targeted
把SELINUX=disabled保存,然后重启服务器即可。
二、安装ipvsadm
1、建立编译时必须的一个软链接
[root@xunbang_master ~]# ln -s /usr/src/kernels/2.6.18-308.el5-x86_64/ /usr/src/linux
(这里如果找不到以上内核目录,是因为kernerl-devel没有装,先去安装上就有了)
[root@xunbang_master ~]# ll /usr/src/linux
2、下载 ipvsadm
[root@xunbang_master ~]# wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz
3、解压缩
[root@xunbang_master ~]# tar -zxvf ipvsadm-1.24.tar.gz [root@xunbang_master ~]# cd ipvsadm-1.24
4、编译安装
[root@xunbang_master ipvsadm-1.24]# make && make install
5、确认安装成功
[root@xunbang_master ipvsadm-1.24]# whereis ipvsadm
1
|
[root@xunbang_master ipvsadm-
1.24
]# ipvsadm --version
|
三、安装keepalived
1、下载keepalived
[root@xunbang_master ~]# wget http://www.keepalived.org/software/keepalived-1.2.2.tar.gz
2、解压keepalived
[root@xunbang_master ~]# tar -zxvf keepalived-1.2.2.tar.gz [root@xunbang_master ~]# cd keepalived-1.2.2 [root@xunbang_master keepalived-1.2.2]# ./configure
(注意这个步骤要看到以上字样才是正常的)
3、安装
[root@xunbang_master keepalived-1.2.2]# make && make install
如果报错,如图所示这样
注意:
把#include linux/types.h /* For __beXX types in userland */
移到#include sys/types.h 这行的下面
再编译就可以通过了。(这个可能是keepalived版本问题)
[root@xunbang_master keepalived-1.2.2]# vim keepalived/libipvs-2.6/ip_vs.h
4. 配置
先看下有没有文件
[root@xunbang_master ~]# cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/ [root@xunbang_master ~]# cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ [root@xunbang_master ~]# mkdir /etc/keepalived [root@xunbang_master ~]# cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/ [root@xunbang_master ~]# cp /usr/local/sbin/keepalived /usr/sbin/ [root@xunbang_master ~]# chkconfig keepalived on
[root@xunbang_master ~]# service keepalived restart
查看keepalived进程在不在
5、从 keepalived跟主keepalived服务器同样的安装方法,唯一不同的就是keepalived.conf配置文件不同。
四、keepalived.conf配置文件解释
1、keepalived.conf主配置文件内容
! Configuration File for keepalived global_defs { notification_email { [email protected] #表示发送通知邮件时邮件源地址是谁 } notification_email_from [email protected] smtp_server 127.0.0.1 #表示发送email时使用的smtp服务器地址,这里可以用本地的sendmail来实现 # smtp_connect_timeout 30 #连接smtp连接超时时间 router_id LVS_DEVEL } vrrp_instance VI_1 { state MASTER # 备份LB将MASTER改为BACKUP interface eth0 #实例绑定的网卡,因为在配置虚拟IP的时候必须是在已有的网卡上添加的 virtual_router_id 51 #这里设置VRID,这里非常重要,相同的VRID为一个组,他将决定多播的MAC地址 priority 100 # 优先级,备份LB值改为比这个值小 advert_int 1 #检查间隔,默认为1秒 authentication { #这里设置认证 auth_type PASS #认证方式,可以是PASS或AH两种认证方式 auth_pass 1111 #认证密码 } virtual_ipaddress { 192.168.19.65 # 多个VIP换行写 } } virtual_server 192.168.19.65 80 { delay_loop 6 #每隔6秒查询realserver状态 lb_algo wlc # LVS 算法 lb_kind DR # LVS模式 DR是直接路由 persistence_timeout 60 #同一IP连接60秒内分配到同一台realserver protocol TCP #TCP协议检测realserver状态 real_server 192.168.19.62 80 { weight 3 #权重 TCP_CHECK { connect_timeout 10 #10秒无响应超时 nb_get_retry 3 #重连次数 delay_before_retry 3 #重连间隔 connect_port 80 #监控检查的端口 } } real_server 192.168.19.63 80 { weight 3 TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } real_server 192.168.19.64 80 { weight 3 TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } }
2、keepalived.conf从配置文件内容
! Configuration File for keepalived global_defs { notification_email { [email protected] } notification_email_from [email protected] smtp_server 127.0.0.1 # smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 51 priority 90 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.19.65 } } virtual_server 192.168.19.65 80 { delay_loop 6 lb_algo wlc lb_kind DR persistence_timeout 60 protocol TCP real_server 192.168.19.62 80 { weight 3 TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } real_server 192.168.19.63 80 { weight 3 TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } real_server 192.168.19.64 80 { weight 3 TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } }
到此主从LVS配置完成,下一篇讲物理机的配置(也就是real_server)