银河麒麟服务器操作系统V10 SP2安装nginx+Keepalived实现双机热备

目录

一、前期准备工作

1. 需要两台银河麒麟V10 SP2服务器

二、服务器Nginx1安装部署nginx+keepalived

1. 查看服务器nginx1相关信息

2. 在服务器nginx1上安装部署nginx软件

3. 在服务器Nginx1上安装部署keepalived,通过yum源来安装

三、服务器Nginx2安装部署nginx+keepalived (步骤和第二步类似)

1. 查看服务器nginx2相关信息

2. 在服务器nginx2上安装部署nginx软件

3. 在服务器Nginx2上安装部署keepalived,通过yum源来安装​

四、发现问题,两台服务器上都有VIP

1.  那访问VIP,到底是访问哪一台服务器了

2.  查看两台服务器的ip信息

五、测试VIP是否漂移,是否能做到双机热备

1. 服务器Nginx1宕机了,VIP是否能到服务器Nginx2上

2. 去服务器Nginx2上查看ip信息

3. web页面测试


一、前期准备工作

1. 需要两台银河麒麟V10 SP2服务器

服务器名

IP地址

操作系统

应用软件

Nginx1

192.168.174.145

Kylin Linux Advanced Server release V10 (SP2)

Nginx+keepalived

Nginx2

192.168.174.181

Kylin Linux Advanced Server release V10 (SP2)

Nginx+keepalived

客户端机器

192.168.174.1

Win10

VIP地址

192.168.174.144

二、服务器Nginx1安装部署nginx+keepalived

1. 查看服务器nginx1相关信息

银河麒麟服务器操作系统V10 SP2安装nginx+Keepalived实现双机热备_第1张图片

2. 在服务器nginx1上安装部署nginx软件

我们可以通过yum源来安装,如果服务器可以上外网,可以通过外网源来安装,如果服务器不能上外网可以挂载操作系统光盘镜像,然后配置本地源来安装

 2.1 查看外网yum源配置   

银河麒麟服务器操作系统V10 SP2安装nginx+Keepalived实现双机热备_第2张图片

2.2 通过外网源来安装nginx,yum install -y nginx

银河麒麟服务器操作系统V10 SP2安装nginx+Keepalived实现双机热备_第3张图片

2.3 启动nginx,查看进程和监听端口

银河麒麟服务器操作系统V10 SP2安装nginx+Keepalived实现双机热备_第4张图片

2.4 开通防火墙端口,查看了下防火墙已经开通http和https服务

root@nginx1 ~]# firewall-cmd --list-services

cockpit dhcpv6-client dns http https kerberos kpasswd ldap ldaps mdns ntp ssh

2.5 通过客户端机器浏览器访问http://192.168.174.145,访问正常,nginx安装部署成功  

银河麒麟服务器操作系统V10 SP2安装nginx+Keepalived实现双机热备_第5张图片     

3. 在服务器Nginx1上安装部署keepalived,通过yum源来安装

银河麒麟服务器操作系统V10 SP2安装nginx+Keepalived实现双机热备_第6张图片

3.1 修改配置文件

vim /etc/keepalived/keepalived.conf  重点修改一下配置

vrrp_instance VI_1 {

   # 备份服务器上将 MASTER 改为 BACKUP  必须大写

   state MASTER

   #网卡

   interface ens33

   # 主、备机的 virtual_router_id 必须相同   

   virtual_router_id  51

   # 主、备机取不同的优先级,主机值较大,备份机值较小

   priority  100

   # 设定 MASTER 与 BACKUP 负载均衡之间同步检查的时间间隔,单位为秒,两个节点设置必须一样

   advert_int  1

    # 设置验证类型和密码,两个节点必须一致

 authentication {

 auth_type PASS

 auth_pass Kylin.123

 }

  # VRRP H 虚拟地址也就VIP

  virtual_ipaddress {

      192.168.174.144

      }

 }

3.2 启动keepalived服务 systemctl start keepalived.service,查看VIP是否生成,VIP已经生成,并绑定在网卡ens33下。

银河麒麟服务器操作系统V10 SP2安装nginx+Keepalived实现双机热备_第7张图片

三、服务器Nginx2安装部署nginx+keepalived (步骤和第二步类似)

1. 查看服务器nginx2相关信息

银河麒麟服务器操作系统V10 SP2安装nginx+Keepalived实现双机热备_第8张图片

2. 在服务器nginx2上安装部署nginx软件

我们可以通过yum源来安装,如果服务器可以上外网,可以通过外网源来安装,如果服务器不能上外网可以挂载操作系统光盘镜像,然后配置本地源来安装

2.1 查看外网yum源配置  

银河麒麟服务器操作系统V10 SP2安装nginx+Keepalived实现双机热备_第9张图片

2.2 通过外网源来安装nginx,yum -y install nginx

银河麒麟服务器操作系统V10 SP2安装nginx+Keepalived实现双机热备_第10张图片

2.3 启动nginx,查看进程和监听端口

银河麒麟服务器操作系统V10 SP2安装nginx+Keepalived实现双机热备_第11张图片

2.4 开通防火墙端口,查看了下防火墙已经开通http和https服务

root@nginx2 ~]# firewall-cmd --list-services

cockpit dhcpv6-client dns http https kerberos kpasswd ldap ldaps mdns ntp ssh

2.5 通过客户端机器浏览器访问http://192.168.174.181,访问正常,nginx安装部署成功

银河麒麟服务器操作系统V10 SP2安装nginx+Keepalived实现双机热备_第12张图片

3. 在服务器Nginx2上安装部署keepalived,通过yum源来安装银河麒麟服务器操作系统V10 SP2安装nginx+Keepalived实现双机热备_第13张图片

3.1 修改配置文件

vim /etc/keepalived/keepalived.conf  重点修改一下配置

vrrp_instance VI_1 {

   # 备份服务器为 BACKUP  必须大写与第一台服务器配置的差异

   state BACKUP 

   #网卡

   interface ens33

   # 主、备机的 virtual_router_id 必须相同   

   virtual_router_id  51

   # 主、备机取不同的优先级,主机值较大,备份机值较小,备机配置的差异

   priority  99 

   # 设定 MASTER 与 BACKUP 负载均衡之间同步检查的时间间隔,单位为秒,两个节点设置必须一样

   advert_int  1

    # 设置验证类型和密码,两个节点必须一致

 authentication {

 auth_type PASS

 auth_pass Kylin.123

 }

  # VRRP H 虚拟地址也就VIP

  virtual_ipaddress {

      192.168.174.144

      }

 }

3.2 启动keepalived服务 systemctl start keepalived.service,查看VIP是否生成,VIP已经生成,并绑定在网卡ens33下。

银河麒麟服务器操作系统V10 SP2安装nginx+Keepalived实现双机热备_第14张图片

四、发现问题,两台服务器上都有VIP

1.  那访问VIP,到底是访问哪一台服务器了

这是由于两台keepalived服务器之间是通过vrrp来通信和协商的,由于防火墙开启了,没有允许vrrp协议通过,只需要防火墙开启策略允许vrrp协议通过即可。

firewall-cmd --add-protocol=vrrp --permanent

firewall-cmd --reload

2.  查看两台服务器的ip信息

2.1 发现VIP只在MASTER主机下,也就是服务器Nginx1上。截图如下

 银河麒麟服务器操作系统V10 SP2安装nginx+Keepalived实现双机热备_第15张图片

2.2 服务器Nginx2上是没有VIP的,截图如下

银河麒麟服务器操作系统V10 SP2安装nginx+Keepalived实现双机热备_第16张图片

五、测试VIP是否漂移,是否能做到双机热备

1. 服务器Nginx1宕机了,VIP是否能到服务器Nginx2上

我们把服务器Nginx1上的网络停掉,模拟宕机,看VIP是否漂移到服务器Nginx2上。

银河麒麟服务器操作系统V10 SP2安装nginx+Keepalived实现双机热备_第17张图片

2. 去服务器Nginx2上查看ip信息

银河麒麟服务器操作系统V10 SP2安装nginx+Keepalived实现双机热备_第18张图片

我们可以看到vip已经漂移到服务器Nginx2上了,这样就能保证我们的业务不被中断。

3. web页面测试

3.1 为了测试方便,我们把nginx默认访问的页面改下

cd /usr/share/nginx/html

vim index.html

内容改成各自的ip

 

3.2 然后我们通过浏览器使用vip来访问,也可以通过域名,把域名解析到这个vip上,然后通过域名访问

我们这里演示通过vip来访问发现访问的是服务器Nginx1的默认页面

我们把服务器Nginx1宕机,再通过VIP访问,发现访问的是服务器Nginx2的默认页面,说明完成VIP漂移

银河麒麟服务器操作系统V10 SP2安装nginx+Keepalived实现双机热备_第19张图片

总结:如果服务器Nginx1和Nginx2默认页面一样,部署的web页面代码完全一样的话,这样就保证了业务系统不会中断,相当于有两套业务系统。

3.3 我们改下两台服务器,nginx的默认页面内容,如下:

 

3.4 然后再通过vip去访问页面,发现访问页面始终都是一样的,而且就算有一台服务器宕机,业务系统也不会中断

3.5 当然如果我们开发的比较复杂的业务系统,也可以实现双机热备,防止业务系统中断

我们可以使用nginx的反向代理功能,转发后后台真正的业务系统,比如通过java开发的业务系统,我们可以反向代理tomcat,下一期我们再讲到。

你可能感兴趣的:(服务器,运维)