Linux集群 Keepalived—Nginx高可用集群架构搭建、负载均衡集群、LVS算法、搭建NAT模式LVS架构

1、Linux集群介绍linux集群功能可以分为:HA高可用、负载均衡。 高可用是:有两台机器,一台作为主用工作,一台作为冗余备份。当主用机器宕机后,冗余机器将接替,继续提供服务。开源的高可用软件有:heartbeat、keepalived,其中heartbeat已无人维护,现在基本上都使用keepalived。负载均衡集群,需要有一台服务器作为分发器,它负责把用户的请求分发给后...
摘要由CSDN通过智能技术生成

1、Linux集群介绍

  • linux集群功能可以分为:HA高可用、负载均衡。
  • 高可用是:有两台机器,一台作为主用工作,一台作为冗余备份。当主用机器宕机后,冗余机器将接替,继续提供服务。
开源的高可用软件有:heartbeat、keepalived,其中heartbeat已无人维护,现在基本上都使用keepalived。
  • 负载均衡集群,需要有一台服务器作为分发器,它负责把用户的请求分发给后端的服务器处理,在这个集群里,除了分发器外,就是给用户提供服务的服务器了,这些服务器数量至少为2台;
实现负载均衡的开源软件有LVS、keepalived、haproxy、nginx,商业的负载均衡有:F5、Netscaler,优点是稳定,支持高并发,但是价格昂贵。

2、keepalived介绍

  • 高可用我们重点学习keepalived。heartbeat由于在Centos6上会有一些问题,偶尔会切换不及时,已经比较少使用。
  • keepalived通过VRRP(Virtual Router Redundancy Protocl 中文为:虚拟路由冗余协议)来实现高可用。
  • HA高可用:类似是多台功能相同的路由器组成的一个小组,小组中有一台master角色,N>=1个backup角色。
  • master会组播vrrp数据包给backup,当backup收不到master发送的数据包时,就认为master宕机了,使用backup来充当新的master(通过backup的优先级来判断哪个backup成功新的master)
  • Keepalived要有三个模块,分别是core、check和vrrp。其中core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析,check模块负责健康检查,vrrp模块是来实现VRRP协议的。

3、keepalived配置高可用集群

  1. 首先准备两台机器,都安装keepalived: yum install -y keepalived ;keepalived,实际是包含一个服务的,也就是说这个服务用来实现高可用;
A机器:ip:110
[root@aminglinux ~]# yum install -y keepalived
B机器:ip:112
[root@localhost ~]# yum install -y keepalived
VIP :IP:115
  1. 这里使用 nginx ,把它作为一个高可用的对象——>使用nginx作为演示对象的原因,因为nginx在工作中,在生产环境中,很多企业把nginx做一个负载均衡器 ,假设nginx一旦挂掉,那么后端所有的web,即使说是正常的,那也无法访问到;
  • 若是A、B机器没有装nginx服务,可以直接 yum安装
  • 若是lnmp安装过nginx,则不需要安装了(源码包安装的nginx)
A机器:yum安装
[root@aminglinux ~]# yum install -y nginx
[root@aminglinux ~]# systemctl start nginx
[root@aminglinux ~]# ps aux |grep nginx
root      2064  0.0  0.2 120812  2092 ?        Ss   22:41   0:00 nginx: master process /usr/sbin/nginx
nginx     2065  0.0  0.3 121276  3128 ?        S    22:41   0:00 nginx: worker process
nginx     2066  0.0  0.3 121276  3128 ?        S    22:41   0:00 nginx: worker process
root      2068  0.0  0.0 112720   984 pts/0    S+   22:41   0:00 grep --color=auto nginx
B机器:因之前安装过lnmp,不需安装
[root@localhost ~]# ps aux |grep nginx
root      1057  0.0  0.1  46040  1264 ?        Ss   21:05   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody    1058  0.0  0.3  48528  3904 ?        S    21:05   0:00 nginx: worker process
nobody    1059  0.0  0.3  48528  3904 ?        S    21:05   0:00 nginx: worker process
root      1667  0.0  0.0 112724   984 pts/0    S+   22:35   0:00 grep --color=auto nginx

**3. master上修改keepalived的配置文件;**配置文件内容地址:https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D21Z/master_keepalived.conf

  • 默认的配置文件路径在/etc/keepalived/keepalived.conf
  • 清空文件的快捷键方法 > !$
[root@aminglinux ~]# ls /etc/keepalived/keepalived.conf 
/etc/keepalived/keepalived.conf
[root@aminglinux ~]# > !$    //直接清空文件内容了
> /etc/keepalived/keepalived.conf
[root@aminglinux ~]# cat /etc/keepalived/keepalived.conf
[root@aminglinux ~]# vim /etc/keepalived/keepalived.conf   //去文件地址去下载内容
将拷贝的内容复制进去
只需要改网卡名字和IP192.168.222.115
####################### #  全局配置 #######################
global_defs {                            //global_defs 全局配置标识
   notification_email {               //notification_email用于设置报警邮件地址
   xou6363@163.com           //可以设置多个,每行一个
   }
   notification_email_from xou6363@163.com    //设置邮件发送地址  
   smtp_server 127.0.0.1                //设置邮件的smtp server地址
   smtp_connect_timeout 30            //设置连接smtp sever超时时间
   router_id LVS_DEVEL
}

###################### #  VRRP配置 ######################
vrrp_script chk_nginx {               
    script "/usr/local/sbin/check_ng.sh"   //检查服务是否正常,通过写脚本实现,脚本检查服务健康状态
    interval 3                      //检查的时间间断是3秒
}
vrrp_instance VI_1 {                        //VRRP配置标识 VI_1是实例名称 
    state MASTER                           //定义master相关
    interface ens33                 //通过vrrp协议去通信、去发广播。配置时,需注意自己的网卡名称
    virtual_router_id 51                   //定义路由器ID ,配置的时候和从机器一致
    priority 100                              //权重,主角色和从角色的权重是不同的
    advert_int 1                            //设定MASTER与BACKUP主机质检同步检查的时间间隔,单位为秒
    authentication {                       //认证相关信息
        auth_type PASS                   //这里认证的类型是PASS
        auth_pass aminglinux>com   //密码的形式是一个字符串
    }
    virtual_ipaddress {                  //设置虚拟IP地址 (VIP),又叫做漂移IP地址
        192.168.222.115   //更改为192.168.222.115
    }
    track_script {               //加载脚本 
        chk_nginx            
    }
}
  • virtual_ipaddress:简称VIP,这个vip,两台机器,一个主,一个从,正常的情况是主在服务,主宕掉了,从起来了,从启动服务,从启动nginx以后,,启动以后,访问那个IP呢?把域名解析到那个IP上呢?假如解析到主上,主宕掉了,所以这个,需要定义一个公有IP(主上用的IP,从上也用的IP);这个IP是随时可以夏掉,去配置的
  1. 定义监控脚本,脚本内容地址:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值