gyts62 发表于 2018-12-29 13:46:43

高可用 heartbeat和keepalived

双机热备heartbeat和keepalived
  一、heartbeat安装配置
  用heartbet搭建nginx服务高可用
  环境:两台Centos6.5_x64系统下的高可用,每一台都需要两块网卡。
  两台机器上都需要安装 nginx
  
  主服务器 master
  ip(可以访问外网)172.18.9.89ip(用于心跳检测):192.168.8.200
  从服务器 slave
  ip(可以访问外网)172.18.9.99ip(用于心跳检测):192.168.8.100
  分别在两个机器上的hosts文件中加入两行:master 172.18.9.89
  slave172.18.9.99
  1.安装heartbeat(同时也需要安装libnet,因为需要libnet的支持
  主、从服务器上都运行 yum install -y heartbeat libnet
  2.复制配置文件
  cd /usr/share/doc/heartbeat-3.04/
  cp authkeys ha.cf haresources /etc/ha.d/
  3.配置authkeys(该文件是权限级别的控制)
  配置如下: auth3
  3 ma5 Hello
        设置authkeys的读写权限   chmod 600 authkeys
  4.配置haresources

     只需要在该配置文件中加入一行即可:
     master 172.18.9.250/24/eth0:0 nginx
     //意思是使用虚拟250这个ip做代理nginx服务,外部访问nginx服务只能访问到172.18.9.250这个ip;
  

  5.配置ha.cf(这个配置文件配置的最多)
  配置如下: debugfile /var/log/ha-debug
  logfile /var/log/ha-log
  logfacility    local0
  keepalive 2
  deadtime 30
  warntime 10
  initdead 60
  udpport694
  ucast eth0 192.168.8.100(用于心跳检测)
  auto failback on
  nodemaster
  nodeslave
  ping 172.18.2.2(检测网络是否有问题,最好找一个稳定的ip)
                 respawn hacluster /usr/lib64/heartbeat/ipfail(若是32位系统需要把lib64改成lib
  6.拷贝
      cd /etc/ha.d
      scp authkeys ha.cfharesources slave:/etc/ha.d/
  7.修改从服务器上的配置文件
     vim /etc/ha.d/ha.cf      //从服务上只需要修改此处一个地方即可
     把ucast eth0 192.168.8.100 改为 ucast eth0 192.168.8.200
  8.启动服务
     先主后从 service heartbeat start
      服务的日志是在/var/log/ha-log
  
  9.测试
     把主服务器上的网卡禁用或者heartbeat服务关闭
   查看172.18.9.250是否在从服务器上。
  日志路径:/var/log/ha-log
  
  二、keepalived安装和配置
  两台Centos6.4_X64系统下的高可用
  主ip: 172.18.9.99

  备ip: 172.18.9.89
  vip(虚拟):172.18.9.250
  1.安装
  在主备上分别执行: yum install keepalived
  2.配置
  vim /etc/keepalived/keepalived.conf
  state MASTER       #设置主备
  interface eth0   #提供服务的网卡名
  priority 100       #优先级别,数值大的优先级别高,是主
  virtual_ipaddress{
  172.18.9.250} #设置提供web服务的虚拟ip,用户最终访问到的是此ip
  
  备上配置:
  state BACKUP   #设置主备
  interface eth0   #服务的网卡名
  priority 90      #备上的优先级别要小于主
  virtual ipaddress{
  172.18.9.250} #虚拟ip(vip)
  
  3.启动
  先主后备运行: /etc/init.d/keepalived start
  
  4.测试
  禁用主上的网上或者关闭keepalived
  查看备服务器上是否增加172.18.9.250这个ip.
  
  三、源码安装keepalived
  从 www.keepalived.org 官网下载keepalived-1.2.7版本的源码包
  在主备上操作如下:
  1.解压
  tar zxvf keepalived-1.2.7.tar.gz
  cd keepalived-1.2.7.tar.gz
  2.编译安装
  ./configure --prefix=/usr/local/keepalived
  make && make install (中间可能出现缺少依赖包,可根据报错提示安装)
  3.配置
  cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d
  cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig
  mkdir /etc/keepalived
  cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
  cp /usr/local/keepalived/sbin/keepalived /usr/sbin
vim /etc/keepalived/keepalived.conf
state MASTER       #设置主备
interface eth0     #提供服务的网卡名
priority 100       #优先级别,数值大的优先级别高,是主
virtual_ipaddress{
172.18.9.250} #设置提供web服务的虚拟ip,用户最终访问到的是此ip

备上配置:
state BACKUP     #设置主备
interface eth0   #服务的网卡名
priority 90    #备上的优先级别要小于主
virtual ipaddress{
172.18.9.250} #虚拟ip(vip)
  4.启动
先主后备运行: /etc/init.d/keepalived start

5.测试
禁用主上的网上或者关闭keepalived
查看备服务器上是否增加172.18.9.250这个ip.


  

  



页: [1]
查看完整版本: 高可用 heartbeat和keepalived