keepalived+nginx高可用实现方法示例

2019-10-17 16:45:14王振洲

3.2.备节点(192.168.80.21)

说明:安装方式同nginx主节点。

4.安装keepalived

4.1.主节点(192.168.80.22)

#安装keepalived
yum install keepalived -y
​
#启动keepalived服务
/etc/init.d/keepalived start
-------------------------------------------
[root@hadoop02 anginx]# /etc/init.d/keepalived start
正在启动 keepalived:                   [确定]
[root@hadoop02 anginx]# ps -ef |grep keepalived
root   15723   1 0 00:59 ?    00:00:00 /usr/sbin/keepalived -D
root   15724 15723 0 00:59 ?    00:00:00 /usr/sbin/keepalived -D
root   15725 15723 0 00:59 ?    00:00:00 /usr/sbin/keepalived -D
root   15731 15622 0 00:59 pts/1  00:00:00 grep keepalived
[root@hadoop02 anginx]#
​
#设置开机自启动
echo "/etc/init.d/keepalived start" >>/etc/rc.local
​
#关闭keepalived服务
/etc/init.d/keepalived stop
​
#编辑keepalived配置文件
vi /etc/keepalived/keepalived.conf
​
-----------------------------------------------------------
! Configuration File for keepalived
​
global_defs {
  notification_email {
   acassen@firewall.loc
   failover@firewall.loc
   sysadmin@firewall.loc
  }
  notification_email_from Alexandre.Cassen@firewall.loc
  smtp_server 192.168.200.1
  smtp_connect_timeout 30
  router_id lb01
}
​
vrrp_instance VI_1 {
  state MASTER
  interface eth1
  virtual_router_id 55
  priority 150
  advert_int 1
  authentication {
    auth_type PASS
    auth_pass server123
  }
  virtual_ipaddress {
    192.168.80.100 dev eth1 label eth1:1
  }
}
...........................................................

关于配置说明:

 【router_id】 是路由标识,在一个局域网里面应该是唯一的 【vrrp_instance VI_1】{...}这是一个VRRP实例,里面定义了keepalived的主备状态、接口、优先级、认证和IP信息 【state】 定义了VRRP的角色 【interface】定义使用的接口,这里我的服务器用的网卡都是eth1 【virtual_router_id】是虚拟路由ID标识,一组的keepalived配置中主备都是设置一致 【priority】是优先级,数字越大,优先级越大, 【auth_type】是认证方式 【auth_pass】是认证的密码 【virtual_ipaddress】 {...}定义虚拟IP地址,可以配置多个IP地址,这里我定义为192.168.80.100,绑定了eth1的网络接口,虚拟接口eth1:1

4.2.备节点(192.168.80.21)

#安装keepalived
yum install keepalived -y
​
#启动keepalived服务
/etc/init.d/keepalived start
-------------------------------------------
[root@hadoop02 anginx]# /etc/init.d/keepalived start
正在启动 keepalived:                   [确定]
[root@hadoop02 anginx]# ps -ef |grep keepalived
root   15723   1 0 00:59 ?    00:00:00 /usr/sbin/keepalived -D
root   15724 15723 0 00:59 ?    00:00:00 /usr/sbin/keepalived -D
root   15725 15723 0 00:59 ?    00:00:00 /usr/sbin/keepalived -D
root   15731 15622 0 00:59 pts/1  00:00:00 grep keepalived
[root@hadoop02 anginx]#
​
#设置开机自启动
echo "/etc/init.d/keepalived start" >>/etc/rc.local
​
#关闭keepalived服务
/etc/init.d/keepalived stop
​
#编辑keepalived配置文件
vi /etc/keepalived/keepalived.conf
​
-----------------------------------------------------------------
! Configuration File for keepalived
​
global_defs {
  notification_email {
   acassen@firewall.loc
   failover@firewall.loc
   sysadmin@firewall.loc
  }
  notification_email_from Alexandre.Cassen@firewall.loc
  smtp_server 192.168.200.1
  smtp_connect_timeout 30
  router_id lb02
}
​
vrrp_instance VI_1 {
  state BACKUP
  interface eth1
  virtual_router_id 55
  priority 100
  advert_int 1
  authentication {
    auth_type PASS
    auth_pass server123
  }
  virtual_ipaddress {
    192.168.80.100 dev eth1 label eth1:1
  }
}
.............................................................
​
​