Matthewl 发表于 2018-12-29 07:40:30

LVS KeepaLived集群

  LVS Keepalived 方案是和LVS Heartbeat 一样的高可用加负载均衡方案, Keepalived 于
  Heartbeat 相比在部署和管理方面都大大简化了。

http://blog.运维网.com/e/u/themes/default/images/spacer.gif
  1.0 集群环境列表
  IP 地址主机名说明
  ---------------loader Balance 负载层----------------
  192.168.140.140 VIP
  192.168.140.141 Web-Director LVS Director
  192.168.140.143 Web-Backup Keepalived Backup
  ---------------Sserver custer 服务器集群层----------------
  192.168.140.137 Web-node1 Web 节点
  192.168.140.139 Web-node2 Web 节点
  ---------------Storage 存储层-----------------------
  1.1 其它注意事项
  1> LVS Keepalived 方案ipvsadm 的管理有keepalived 负责。
  2> LVS 后端节点的监控检查也是keepalived 进行。
  3> 注意内核版本和ipvsadm 版本的对应。
  4> 注意ip_vs 模块是否载入内核。
  1.2 部署LVS Keepalived
  检查内核版本和模块
  # uname -r
  2.6.18-164.el5
  # modprobe ip_vs
  # lsmod | grep ip_vs
  ip_vs 121473 0
  1.3 下载软件包
  # ln -s /usr/src/kernels/2.6.18-164.el5-x86_64/ /usr/src/linux
  # cd /usr/local/src
  # wget
  http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz
  # wget
  http://www.keepalived.org/software/keepalived-1.1.20.tar.gz
  1.4 安装ipvsadm
  注意:Web-Director 和Web-Backup 安装相同
  # tar zxvf ipvsadm-1.24.tar.gz
  # cd ipvsadm-1.24
  有关安装的相关信息,可以查看该目录下的README 文件。
  # make && make install
  安装完毕后会产生以下文件:
  /sbin/ipvsadm
  /sbin/ipvsadm-save
  /sbin/ipvsadm-restore
  /usr/man/man8/ipvsadm.8
  /usr/man/man8/ipvsadm-save.8
  /usr/man/man8/ipvsadm-restore.8
  /etc/rc.d/init.d/ipvsadm
  1.5 安装Keepalived
  注意:Web-Director 和Web-Backup 安装相同
  # tar zxvf keepalived-1.1.20.tar.gz
  # cd keepalived-1.1.20
  # ./configure --prefix=/usr/local/keepalived
  Keepalived configuration
  ------------------------
  Keepalived version : 1.1.20
  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
  如果出现以上输出,说明可以正常编译安装。
  # make && make install
  # cp /usr/local/keepalived/etc/rc.d/init.d/keepalived
  /etc/rc.d/init.d/
  # cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
  # /usr/local/keepalived/sbin/keepalived --help
  如果你执行了keepalived 命令,你会发现它默认去/etc/keepalived/keepalived.conf 找配置文件,
  所以我们要把配置文件创建到此处方便启动,当然,你也可以自己制定配置文件位置。
  # mkdir /etc/keepalived
  # cp /usr/local/keepalived/etc/keepalived/keepalived.conf
  /etc/keepalived/
  # cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
  1.6 LVS 配置
  LVS 配置是由keepalived 依靠/etc/keepalived/keepalived.conf 来进行配置的,也就是说我
  们不需要手动配置ipvsadm 程序,但是我们做为LVS DR 模式运行,不能忘了对真实机的配。
  RealServer 配置 -------这里直接用脚本执行
  # /sbin/realserver.sh start
  RealServer Start OK
  # /sbin/realserver.sh start
  RealServer Start OK
  在RealServer 执行完realserver.sh 后,一定要检查:
  # ifconfig lo:0
  lo:0 Link encap:Local Loopback
  inet addr:192.168.140.140 Mask:255.255.255.255
  UP LOOPBACK RUNNING MTU:16436 Metric:1
  # ifconfig lo:0
  lo:0 Link encap:Local Loopback
  inet addr:192.168.140.140 Mask:255.255.255.255
  UP LOOPBACK RUNNING MTU:16436 Metric:1
  这样才表示与VIP地址绑定好了。
  1.7 Keepalived 配置
  这是LVS Keepalived 集群方案的核心,主要集中在/etc/keepalived/keepalived 文件上。
  Keepalived 有两种状态,MASTER 和BACKUP,配置大致相似。
  Web-Director 配置
  下面是一个配置好的keepalived.conf 文件,对于每行用注释说明。
  # cat /etc/keepalived/keepalived.conf
  ! Configuration File for keepalived
  global_defs { #全局定义块
  notification_email {
  admin@unixhot.com #邮件通知模块,定义通知邮件地址。
  }
  notification_email_from localhost #
  smtp_server 127.0.0.1 #定义SMTP Server
  smtp_connect_timeout 30 #SMTP 链接超时时间
  router_id LVS_MASTER #运行keepalived 机器的一个标识,注意:Web-Backup 应该不
  同,修改为LVS_BACKUP
  }
  vrrp_instance VI_1 {
  state MASTER #实例状态,注意:Web-Backup 应该修改为BACKUP
  interface eth0 #指定对外服务的网卡。
  virtual_router_id 51
  priority 101 #优先级,注意:Web-Backup 应该修改比这个值小
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 1111
  }
  virtual_ipaddress {
  192.168.140.140
  }
  }
  virtual_server 192.168.140.140 80 {
  delay_loop 6 #健康检查的时间间隔
  lb_algo wrr #负载均衡的调度算法
  lb_kind DR #负载均衡转发模式
  nat_mask
  255.255.255.0
  persistence_timeout 50 #会话保持时间,针对动态网站
  protocol TCP #转发的协议
  real_server 192.168.140.137 80 { #真实机的设置
  weight 1 #真实机的权重,在带有加权调度的调度算法中有用
  TCP_CHECK { #TCP 健康检查
  connect_timeout 10
  nb_get_retry 3
  delay_before_retry 3
  connect_port 80
  }
  }
  real_server 192.168.140.139 80 {
  weight 1
  TCP_CHECK {
  connect_timeout 10
  nb_get_retry 3
  delay_before_retry 3
  connect_port 80
  }
  }
  }
  BACKUP 端配置
  BACKUP 端配置和MASTER 几乎一样,可以直接用scp 从MASTER 端复制一份过来,做以下修改即
  可:
  router_id LVS_MASTER
  state MASTER
  priority 101
  1.8LVS Keepalived 方案测试
  启动keepalived 服务
  # /etc/init.d/keepalived start
  # /etc/init.d/keepalived start
  VIP 切换测试
  # ip ad li eth0
  2: eth0:mtu 1500 qdisc pfifo_fast qlen 1000
  link/ether 00:0c:29:57:04:db brd ff:ff:ff:ff:ff:ff
  inet 192.168.140.141/24 brd 192.168.140.255 scope global eth0
  inet 192.168.140.140/32 scope global eth0
  inet6 fe80::20c:29ff:fe57:4db/64 scope link
  valid_lft forever preferred_lft forever
  可以发现,默认的VIP 是绑定在优先级比较高的这台MASTER 上,也就是Web-Director 服务器。
  # ip ad li eth0
  2: eth0:mtu 1500 qdisc pfifo_fast qlen 1000
  link/ether 00:0c:29:45:5e:0e brd ff:ff:ff:ff:ff:ff
  inet 192.168.140.143/24 brd 192.168.140.255 scope global eth0
  inet6 fe80::20c:29ff:fe45:5e0e/64 scope link
  valid_lft forever preferred_lft forever
  你可以手动来停掉Web-Director 上的keepalived 服务,VIP 就会自动切刀Web-Backup 上。



页: [1]
查看完整版本: LVS KeepaLived集群