Nginx、Keepalived高可用集群解决方案,安装配置

VRRP是虚拟路由冗馀协议的缩写,VRRP的目的是解决静态路由的单点故障问题,如果单个节点关闭,整个网络可以不间断地运行。

创作不易,关注、点赞,分享了解互联网前沿知识。

Keepalived高可用软件

Keepalived软件专为LVS负载平衡软件设计,可管理和监视LVS群集系统中各个服务节点的状态,并在以后提供高可用性VRRP功能。

Nginx、Keepalived高可用集群解决方案,安装配置

Keepalived软件主要通过VRRP协议提供高可用性功能。VRRP是虚拟路由冗馀协议(virtual router redundancy protocol)的缩写,VRRP的目的是解决静态路由的单点故障问题,如果单个节点关闭,整个网络可以不间断地运行。因此,keepalived具有LVS配置管理功能。安装并启用keepalived

Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

Nginx、Keepalived高可用集群解决方案,安装配置

安装前准备

以主机pmonapp01、pmonapp02为例,通过Keepalived对外IP地址为ip.100,当pmonapp01其中一台服务器异常时,Keepalived自动将ip.100映射到pmonapp02上,反之亦然。

Nginx、Keepalived高可用集群解决方案,安装配置

Keepalived安装以pmonapp01为例。

在/tmp目录下创建plugin目录,用于临时存放Keepalived安装介质。

/tmp目录下plugin目录不存在时需要重新创建。

使用命令

执行顺序

命令

说明

1

mkdir -p /tmp/plugin

在/tmp/下创建plugin目录

执行示意

[root@pmondbs01 ~] # mkdir /tmp/plugin

然后以通过FTP方式上传keepalived-1.4.4.tar.gz、libnfnetlink-devel-1.0.1-4.el7.x86_64.rpm。

  • 修改操作系统参数

修改文件句柄最大数量,运行cat >>/etc/sysctl.conf <<eof依次输入:

fs.file-max=65535

eof

[root@pmonapp01 ~] # cat >>/etc/security/limits.conf<<eof

> fs.file-max 65535

> eof

Keepalived安装

依赖安装

本操作完成操作系统依赖包安装,依赖包包括openssl-devel、libnfnetlink-devel,其中libnfnetlink-devel需要最后单独安装,操作系统依赖包来源于操作系统镜像rhel-server-7.6-x86_64-dvd.iso。

操作如下:

  1. 首先将rhel-server-7.6-x86_64-dvd.iso ISO镜像通过FTP方式上传至/tmp目录,然后挂载ISO镜像。本次安装不需要永久挂载镜像文件。

使用命令

执行顺序

命令

说明

1

mount -t iso9660 -o loop /tmp/rhel-server-7.6-x86_64-dvd.iso /mnt

从/tmp目录挂载镜像文件rhel-server-7.6-x86_64-dvd.iso到/mnt,

执行示意

[root@pmondbs01 ~]# mount -t iso9660 -o loop /tmp/rhel-server-7.6-x86_64-dvd.iso /mnt

  1. 创建rhel-server-7.6-x86_64-dvd.iso文件yum源文件配置

使用命令

执行顺序

命令

说明

1

vi /etc/yum.repos.d/rhel76.repo

在/etc/yum.repos.d文件目录下创建rhel-server-7.6-x86_64-dvd.iso文件的yum源配置文件rhel76.repo

2

[RHEL76]

name=RHEL76

baseurl=file:///mnt

enabled=1

gpgcheck=0

# yum clean all

# yum list

rhel76.repos需要输入的内容

执行示意

[root@pmondbs01 ~]# vi /etc/yum.repos.d/rhel76.repo

[RHEL76]

name=RHEL76

baseurl=file:///mnt

enabled=1

gpgcheck=0

# yum clean all

# yum list

  1. 安装操作系统依赖RPM包

使用命令

执行顺序

命令

说明

1

yum install –y openssl-devel

安装基础依赖RPM包:openssl-devel。

执行示意

[root@pmondbs01 ~]# yum install –y openssl-devel

Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-

: manager

This system is not registered with an entitlement server. You can use subscripti on-manager to register.

RHEL76 | 4.3 kB 00:00

(1/2): RHEL76/group_gz | 146 kB 00:00

(2/2): RHEL76/primary_db | 4.2 MB 00:00

Package openssl-devel-1.0.2k-16.el7.x86_64 already installed and latest version

Resolving Dependencies

–> Running transaction check

—> Package openssl-devel-1.0.2k-16.el7.x86_64 will be installed

–> Finished Dependency Resolution

Dependencies Resolved

================================================================================

Package Arch Version Repository

Size

================================================================================

Installing:

openssl-devel x86_64 1:1.0.2k-16.el7 RHEL76 1.5 M

Transaction Summary

================================================================================

Install 1 Packages

Total download size: 1.5 M

Installed size: 1.5 M

界面显示“Is this ok [y/d/N]:”时输入y然后回车,安装继续进行。

Is this ok [y/d/N]: y

Downloading packages:

——————————————————————————–

Total 219 MB/s | 1.5 MB 00:00

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

Installing : openssl-devel-1.0.2k-16.el7.x86_64 1/1

RHEL76/productid | 1.6 kB 00:00

Verifying : openssl-devel-1.0.2k-16.el7.x86_64 1/1

Installed:

openssl-devel-1.0.2k-16.el7.x86_64

Complete!

界面显示Complete!表示安装完成。

  1. 安装libnfnetlink-devel,FTP方式上传libnfnetlink-devel-1.0.1-4.el7.x86_64.rpm到/tmp/plugin/。

使用命令

执行顺序

命令

说明

1

cd /tmp/plugin/

进入/tmp/plugin目录

2

rpm -ivh libnfnetlink-devel-1.0.1-4.el7.x86_64.rpm

安装libnfnetlink-devel

3

ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1

创建软链接

4

ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

创建软链接

执行示意

[root@pmonapp01 ~] # cd /tmp/plugin/

[root@pmonapp01 plugin] # rpm -ivh libnfnetlink-devel-1.0.1-4.el7.x86_64.rpm

warning: libnfnetlink-devel-1.0.1-4.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY

Preparing… ################################# [100%]

Updating / installing…

1:libnfnetlink-devel-1.0.1-4.el7 ################################# [100%]

[root@pmonapp01 ~] # ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1

[root@pmonapp01 ~] # ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

安装Keepalived

使用命令

执行顺序

命令

说明

1

cd /tmp/plugin/

进入/tmp/plugin目录

2

tar -zxf keepalived-1.4.4.tar.gz

解压keepalived-1.4.4.tar.gz

3

cd keepalived-1.4.4/

进入keepalived-1.4.4

4

./configure

执行configure命令

5

make&&make install

编译并安装

执行示意

[root@pmonapp01~] # cd /tmp/plugin/

[root@pmonapp01 plugin] # tar -zxf keepalived-1.4.4.tar.gz

[root@pmonapp01 plugin] # cd keepalived-1.4.4/

[root@pmonapp01 keepalived-1.4.4] # ./configure

[root@pmonapp01 keepalived-1.4.4] # make&&make install

  • 设置Keepalived启动方式

Keepalived配置文件目录为/etc/keepalived,需要手工创建。

使用命令

执行顺序

命令

说明

1

mkdir /etc/keepalived

创建Keepalived配置文件目录

执行示意

[root@pmonapp01 ~] # mkdir /etc/keepalived

安装介质中conf文件夹下有keepalived.conf,keepalived.conf为keepalived配置文件。然后FTP方式上传keepalived.conf至Keepalived配置文件目录下。

在解压之后的Keepalived安装介质中的keepalived/etc/init.d下提供有Keepalived的启动脚本,把该脚本复制到/etc/init.d下,即完成Keepalived启动脚本创建,然后将Keepalived添加为随系统启动。

使用命令

执行顺序

命令

说明

1

cp /tmp/plugin/keepalived-1.4.4/keepalived/etc/init.d/keepalived.rh.init /etc/init.d/keepalived

复制并创建keepalived启动脚本

2

chkconfig –add keepalived

添加keepalived启动随系统启动

3

chkconfig –level 12345 keepalived on

修改keepalived启动级别

执行示意

[root@pmonapp01 ~] # cp /tmp/plugin/keepalived-1.4.4/keepalived/etc/init.d/keepalived.rh.init /etc/init.d/keepalived

[root@pmonapp01 ~] # chkconfig –add keepalived

[root@pmonapp01 ~] # chkconfig –level 345 keepalived on

  • 重启Keepalived

修改配置之后务必重启Keepalived,操作命令为service keepalived restart。

[root@pmonapp01 ~] # service keepalived restart

Nginx负载均衡来测试

修改windows的hosts文件,把域名指向到VIP上

Nginx、Keepalived高可用集群解决方案,安装配置

用浏览器打开www.pcm.com的页面,在web01上查看access.log日志记录到的客户端IP地址

Nginx、Keepalived高可用集群解决方案,安装配置

可以看到日志记录到的客户端的IP地址是192.168.31.1,反向代理服务器是主服务器192.168.31.3.下面我们停止keepalived服务,看备节点会不会接替主节点的VIP和服务。

Nginx、Keepalived高可用集群解决方案,安装配置

可以看到,备节点确实接替了主节点的工作。重新启用主节点。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/91820.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信