搭建Keepalived双机热备

Keepalived双机热备:

介绍:

Keeplived软件起初是专门为LVS负载均衡软件设计的,用来管理并监控LVS群集中各节点的状态,后来又加入了可以实施高可用的VRRP功能。因此keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx Haproxy MySQL)的高可用解决方案软件。

Keepalived软件主要是通过VRRP协议实现高可用功能的,VRRP(Virtual Router Redundancy Protocol虚拟路由器沉余协议)的缩写,VRRP出现的目的就是为了解决静态路由单点故障问题的,它能够保证当个别节点瘫痪时,任然保持整个网络可以不断运行。

所以keepalived一方面具有配置管理LVS的功能,同时还具有对LVS下面节点进行健康检查的功能,另一方面也可以实现系统网络服务的高可用功能。

Keepalived服务的三个重要功能:

管理LVS负载均衡软件。

实现LVS群集节点的健康检查

作为系统网络的高可用性(failover)

Keepalived高可用故障切换转移原理:

Keepalived高可用服务之间的故障切换转移是通过VRRP来实现的。

在keepalived服务正常工作时,主master节点会不断地向备份节点发送(多播方式)

心跳消息,用以告诉backup节点自己还活着当主master节点发生故障时,就无法发送心跳消息,备份节点也因此无法继续监测来自自主master节点的心跳了,于是调用自身的接管程序,接管主master节点的IP资源及服务。而当主master节点恢复时,backup节点又会释放主节点故障自身管理的IP资源及服务,恢复到原来的备用角色。

Keepalived工作原理

Keepalived高可用对之间是通过VRRP通信的。VRRP是竞选机制来确定主备的,主的优先级高于备,因此,工作时主会优先获得所有的资源,备节点处于等待状态,当主报废了之后,备节点就会接管主节点的资源,然后顶替主节点对外提供服务。

在keepalived服务之间,只有作为主的服务器会一直发送VRRP广播包,告诉备节点它还活着,此时备节点不会抢占主节点,当主节点不可用时,则不再发送广播包,这时候备节点没有收到主节点的广播包,就知道主节点挂了,然后备节点就会马上顶上去,接管主节点的资源及服务。为了保证业务的连续性,接管速度最快可以小于1秒。

项目案列:

公司现在要做一个keepalived+LVS的高可用群集项目,调度器两台,web站点采用Nginx搭建,共有两台web节点,web站点的网页数据和资源都存放在公司内部的一台独立服务器上面,使用NFS共享技术,共享web站点需要的资源。

首先把公司的web服务搭建起来:

这里使用编译安装Nginx服务:

安装Nginx服务之前需要先安装Nginx服务的依赖软件包:

创建Nginx服务的运行用户:

考虑到安全方面,最好创建一个专门的用户进行管理服务。为了方便记忆这里我就把用户名和服务名设置为一样。

编译安装Nginx:

安装完之后做优化链接,以便启动Nginx服务。

配置Nginx的虚拟主机:

编辑配置文件,添加虚拟主机:

搭建Keepalived双机热备_第1张图片

以上修改只是一点简单的优化配置。

修改完毕之后启动Nginx服务即可。

部署keepalived:

安装keepalived,这里使用yum安装这样的好处是可以解决keepalived服务

所需的一些依赖软件包

安装完毕之后设置开机自启动keepalived服务。

修改keepalived的配置文件:

Keepalived的主配置文件目录位于:/etc/keepalived/目录下。其中使用global_defs{}区段指定全局参数;使用vrrp_instance{…}区段指定VRRP热备参数。

注意:这里面的“!”为注释字段。

为了安全起见,这里我们先备份一下keepalived的主配置文件,也是为了以后需要从新配置或修改而做。

主keepalived服务器配置项:

搭建Keepalived双机热备_第2张图片

搭建Keepalived双机热备_第3张图片

备keepalived服务器配置项:

搭建Keepalived双机热备_第4张图片

搭建Keepalived双机热备_第5张图片

搭建Keepalived双机热备_第6张图片

修改完配置文件重启服务:

部署NFS共享存储。

在Linux中NFS服务的实现依赖于RPC(Remote Process Call远程过度调用)机制、以往成远程本地的映射过程。

  1. 安装NFS服务,NFS服务依赖于nfs-utils和rpcbind软件包。

Rpcbind软件包提供的服务为RPC支持,nfs-utils提供的服务为NFS共享服务。

设置共享目录:

NFS的配置文件路径为/etc/exports,文件内容默认是空的(无任何共享)、所以这里我们需要根据需要创建共享目录。

配置共享存储的基本语法为:“目录位置 客户机地址(权限选项)”;其中客户机地址可以为客户机主机名、IP地址、网段地址,允许使用“* ?”这类通配符;权限选项中的rw表示允许读写,ro为只读,sync表示同步写入,no_root_squash表示当客户机以root身份访问时赋予本地root权限。

注:默认是root_squash,如果前面不加no选项,则视为普通用户对待。

启动NFS服务程序并查看本机发布的NFS共享目录:

搭建Keepalived双机热备_第7张图片

Showmount -e 命令就可以查看自己共享的目录:

  配置完成NFS服务之后就是挂载共享目录了。

挂载方式有两种:1手动挂载;2修改fstab配置文件,开机自动挂载。

手动挂载演示:

修改配置文件挂载演示:

搭建Keepalived双机热备_第8张图片

 

 

你可能感兴趣的:(Linux)