Chinaunix首页 | 论坛 | 博客
  • 博客访问: 667592
  • 博文数量: 87
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2022
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-23 11:16
个人简介

西邮大三狗!!!

文章分类

全部博文(87)

文章存档

2015年(47)

2014年(40)

分类: LINUX

2015-02-01 15:55:41

实验环境
  1. 虚拟机系统RHEL6.4 iptables selinux off
  2. vm1    192.168.2.201    http-realserver
  3. vm2    192.168.2.202    http-realserver
  4. vm3    192.168.2.203    lvs-master
  5. vm4    192.168.2.204    lvs-backup
  6.        192.168.2.250    vip
安装LVS和Keepalived
  1. 在vm3和vm4上安装lvs
  2. 在安装ipvsadm前请确认yum源配置无问题
  3. yum install ipvsadm -y
  4. ipvsadm -C
  5. ipvsadm -A -t 192.168.2.250:80 -s rr -p 600
  6. ipvsadm -a -t 192.168.2.250:80 -r 192.168.2.201:80 -g
  7. ipvsadm -a -t 192.168.2.250:80 -r 192.168.2.202:80 -g
  8. 保存rule
  9. /etc/init.d/ipvsadm save
  10. 绑定vip
  11. ifconfig eth0:0 192.168.2.250 netmask 255.255.255.255 up
  12. 在vm3和vm4上安装keepalived
  13. keepalived下载地址:
  14. 这里直接使用最新版进行实验,在安装keepalived之前先解决一些依赖包的安装
  15. yum install kernel-devel openssl-devel popt-devel libnl-devel -y
  16. tar -zxf keepalived-1.2.15.tar.gz
  17. cd keepalived-1.2.15
  18. ./configure --prefix=/usr/local/keepalived
  19. make && make install
  20. ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
  21. ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
  22. ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/
  23. ln -s /usr/local/keepalived/etc/keepalived/ /etc/
  24. 配置keepalived(注意master和backup的区别)
  25. vim /etc/keepalived/keepalived.conf
    1. ! Configuration File for keepalived


      global_defs {
         notification_email {
            abcdefg@gmail.com   设置接收报警的邮件地址,可以写多个
         }
         notification_email_from keepalived@vm3.example.com   邮件发送地址
         smtp_server 127.0.0.1     smtp地址
         smtp_connect_timeout 30   连接smtp超时时间
         router_id LVS_DEVEL       load balancer标识ID,用于邮件报警
      }


      vrrp_instance VI_1 {
          state MASTER          备机改为BACKUP,此状态由priority值决定
          interface eth0        HA检测网络接口
          virtual_router_id 51  取值0~255 主备机必须相同
          priority 100          优先级 备机改为50,主机优先级一定大于备机
          advert_int 1          主备之间的通告间隔秒数
          authentication {      主备切换时的验证
              auth_type PASS    验证类型,主要有PASS AH两种
              auth_pass 1111    验证密码
          }
          virtual_ipaddress {   设置虚拟ip 可以设置多个
              192.168.2.250
          }
      }


      virtual_server 192.168.2.250 80 {    定义虚拟服务器
          delay_loop 6                     每隔6秒查询Realserver状态
          lb_algo rr                       lvs调度算法
          lb_kind DR                       lvs DR模式
          nat_mask 255.255.255.255
          persistence_timeout 50           会话保持时间
          protocol TCP                     转发协议类型


          real_server 192.168.2.201 80 {   配置服务节点
              weight 1                     权值大小,越大调度次数越多
      TCP_CHECK {                          Realserver状态检测
         connect_timeout 3
         nb_get_retry 3
         delay_before_retry 3             
      }
          }


          
          real_server 192.168.2.202 80 {
              weight 1
      TCP_CHECK {
         connect_timeout 3
         nb_get_retry 3
         delay_before_retry 3
      }
          }
      }
Realserver的一些设置
  1. 对vm1和vm2进行如下设置
  2. yum install arptables_jf -y
  3. arptables -A IN -d 192.168.2.250 -j DROP
  4. arptables -A OUT -s 192.168.2.250 -j mangle --mangle-ip-s 192.168.2.201
  5. ifconfig lo:0 192.168.2.250 netmask 255.255.255.255 up
  6. /etc/init.d/arptables_jf save
测试
  1. vm1、vm2开启web服务
  2. /etc/init.d/httpd start
  3. echo `hostname` > /var/www/html/index.html
  4. vm3、vm4查看lvs转发表是否OK
  5. ipvsadm -l

  6. 启动keepalived
  7. /etc/init.d/keepalived start
  8. 查看日志信息
  9. MASTER输出如下:

  10. BACKUP输出如下:

  11. 此时在浏览器访问192.168.2.250并不断刷新是会负载到不同的Realserver的
  12. 将MASTER的网络down掉,看BACKUP会不会接管,web服务是否正常?

  13. MASTER日志信息如下:

  14. 可见备机一直在发送TCP报文检测MASTER状态
  15. BACKUP日志信息如下:

  16. 此时访问192.168.2.250没有任何故障

  17. 现在我们将MASTER的网络恢复
  18. MASTER日志

  19. BACKUP日志

  20. 可见,状态又切回来了。此时的web服务也是正常的!
  21. 由于eth0:0是在eth0上虚拟出的网卡,因此需要在MASTER网络起来后手动添加这块虚拟网卡。如果是因其他故障donw机,还需要将服务设置开机自启动或者写到/etc/rc.local里面去。
阅读(2479) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~