xsmscb 发表于 2018-12-30 09:04:26

keepalived高可用集群的简单配置

    keepalived高可用集群
  keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。
  准备工作;

  准备四台虚拟机、RS1、RS2、HA1、HA2

  修改IP地址:RS1:172.16.26.10    RS2:172.16.26.11
  HA1:172.16.26.7   HA2:172.16.26.8
  VIP:172.16.26.1
  首先配置realserver1
  复制一个脚本到starts.sh
  vim starts.sh

  编辑以下内容
#!/bin/bash
#
# Script to start LVS DR real server.
# description: LVS DR real server
#
./etc/rc.d/init.d/functions
VIP=192.168.0.219
host=`/bin/hostname`
case "$1" in
start)
# Start LVS-DR real server on this machine.
/sbin/ifconfig lo down
/sbin/ifconfig lo up
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev lo:0
;;
stop)
# Stop LVS-DR real server loopback device(s).
/sbin/ifconfig lo:0 down
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
;;
status)
# Status of LVS-DR real server.
islothere=`/sbin/ifconfig lo:0 | grep $VIP`
isrothere=`netstat -rn | grep "lo:0" | grep $VIP`
if [ ! "$islothere" -o ! "isrothere" ];then
# Either the route or the lo:0 device
# not found.
echo "LVS-DR real server Stopped."
else
echo "LVS-DR real server Running."
fi
;;
*)
# Invalid entry.
echo "$0: Usage: $0 {start|status|stop}"
exit 1
;;
esac  修改它的执行权限;chmod +x startrs.sh

  执行这个脚本./startrs.sh start

http://blog.运维网.com/attachment/201305/001238426.png
  在RS2上使用上面同样的命令

  可以直接复制这个脚本

  scp startrs.sh 172.16.26.11:/root/

http://blog.运维网.com/attachment/201305/001358270.png
  

  

  然后配置主从节点

  准备:1、时间同步
  2、SSH双机互信

  3、主机名和uname -n 一致,并通过/etc/hosts解析
  不再演示

  

  配置好后,下载并安装keepalived包
  yum -y --nogpgcheck localinstall keepalived-1.2.7-5.el5.i386.rpm
  修改配置文件
  vim /etc/keepalived/keepalived.conf

global_defs {
notification_email {
root@localhost
}
notification_email_from root@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 99
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass password
}
virtual_ipaddress {
172.16.26.1
}
}
virtual_server 172.16.26.1 80 {
delay_loop 6
lb_algo wlc
lb_kind DR
nat_mask 255.255.0.0
protocol TCP
real_server 172.16.26.10 80 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 2
nb_get_retry 3
delay_before_retry 1
}
}
real_server 172.16.26.11 80 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 2
nb_get_retry 3
delay_before_retry 1
}
}
}  将这个配置文件复制到节点2上一份
  scp keepalived.conf node2:/etc/keepalived/

  只需修改两个内容

  states MASTER 改为 states BACKUP
              priority 101改为 priority 100
  

  在两个节点上启动keepalived

  service keepalived start

  安装ipvs规则

  yum -y install ipvsadm
  
http://blog.运维网.com/attachment/201305/003714632.png
  




页: [1]
查看完整版本: keepalived高可用集群的简单配置