安装完系统后 发现缺少rz命令    快速安装一个

安装rz sz

yum -y install lrzsz

实验环境  centos 5.4

DR-master=192.168.0.35

DR-backup=192.168.0.36

虚拟VIP=192.168.0.100

web1=192.168.0.39

web2=192.168.0.40


创建软连接,否则make时会报错

ln -s /usr/src/kernels/2.6.18-164.el5-x86_64/ /usr/src/linux


tar -zxvf ipvsadm-1.24.tar.gz  解压

cd ipvsadm-1.24

make

make install

看下ipvsadm 路径

find / -name ipvsadm


tar -zxvf keepalived-1.1.17.tar.gz

cd keepalived-1.1.17

./configure


configure: error:

 !!! OpenSSL is not properly installed on your system. !!!

 !!! Can not include OpenSSL headers files.

解决办法:

yum -y install openssl-devel

./configure

make

make install

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

Keepalived version       : 1.1.17

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



8、开启负载服务器路由机制  //master和backup

#        vi /etc/sysctl.conf 保证有如下内容

 把     net.ipv4.ip_forward = 0

改为     net.ipv4.ip_forward = 1

      执行

#        sysctl -p




“======================= 配置keepalived ===========================


 cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

 cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/

 mkdir /etc/keepalived

 cp /usr/local/sbin/keepalived /usr/sbin/

vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived


global_defs {

  notification_email {

     34621926@qq.com

  }

  notification_email_from 34621926@qq.com

  smtp_server smtp.qq.com

 # smtp_connect_timeout 30

  router_id LVS_DEVEL

}


# VIP1

vrrp_instance VI_1 {

   state MASTER             #备份服务器上将MASTER改为BACKUP

   interface eth0

   lvs_sync_daemon_inteface eth0

   virtual_router_id 51

   priority 100    # 备份服务上将100改为90

   advert_int 5

   authentication {

       auth_type PASS

       auth_pass 1111

   }

   virtual_ipaddress {

       192.168.0.100

       #(如果有多个VIP,继续换行填写.)

   }

}


virtual_server 192.168.0.100 80 {

   delay_loop 6                  #(每隔10秒查询realserver状态)

   lb_algo wlc                  #(lvs 算法)

   lb_kind DR                  #(Direct Route)

   persistence_timeout 60        #(同一IP的连接60秒内被分配到同一台realserver)

   protocol TCP                #(用TCP协议检查realserver状态)


   real_server 192.168.0.39 80 {

       weight 100               #(权重)

       TCP_CHECK {

  connect_timeout 10       #(10秒无响应超时)

       nb_get_retry 3

       delay_before_retry 3

       connect_port 80

       }

   }

   real_server 192.168.0.40 80 {

       weight 100

       TCP_CHECK {

       connect_timeout 10

       nb_get_retry 3

       delay_before_retry 3

       connect_port 80

       }

    }

}


/etc/init.d/keepalived start





编写dr脚本

vi /sbin/lvsdr.sh

#!/bin/bash

GW=192.168.0.250

VIP=192.168.0.100

RIP1=192.168.0.39

RIP2=192.168.0.40

/etc/rc.d/init.d/functions

case "$1" in

start)

      echo "start LVS of DirectorServer"

      #Set the Virtual IP Address

      /sbin/ifconfig eth0:1 $VIP broadcast $VIP netmask 255.255.255.255 up

      /sbin/route add -host $VIP dev eth0:1

      #Clear IPVS Table

      /sbin/ipvsadm -C

      #Set Lvs

      /sbin/ipvsadm -A -t $VIP:80 -s wrr -p 3

      /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g -w 1

      /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g -w 1

      #Run Lvs

      /sbin/ipvsadm

;;

stop)

echo "Close LVS Directorserver"

/sbin/ifconfig eth0:1 down

/sbin/ipvsadm -C

;;

*)

echo "Usage0{start|stop}"

exit 1

esac


chmod 755 /sbin/lvsdr.sh

/sbin/lvsdr.sh start


看route -n  是否多了 eth0:1的路由


==============================配置后端web服务器=============================

在192.168.0.39和192.168.0.40上分别建立如下脚本

vi /sbin/realdr.sh

#!/bin/bash

      VIP=192.168.0.100

      /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up

      /sbin/route add -host $VIP dev lo:0

      echo "1">/proc/sys/net/ipv4/conf/default/arp_ignore

      echo "2">/proc/sys/net/ipv4/conf/default/arp_announce

      echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore

      echo "2">/proc/sys/net/ipv4/conf/all/arp_announce

      sysctl -p


chmod 755 /sbin/realdr.sh

在两台web服务器上分别执行其指命。

/sbin/realdr.sh start

[root@localhost ~]# /sbin/realdr.sh start



vi /etc/rc.local //里面添加

/etc/init.d/keepalived restart

/sbin/lvsdr.sh start