集群介绍+用keepalive配置高可用集群(总结)

  

1,集群介绍

  

根据功能划分为两大类:高可用和负载均衡

  
  

高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务
高可用集群,英文原文为高可用性集群,简称使HACluster,简单的说,集群(集群)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(节点)
公顷(高可用),高可用性群集是通过系统的可靠性(可靠性)和可维护性(可维护性)来度量的。工程上,通常用平均无故障时间(MTTF)来度量系统的可靠性,用平均维修时间(MTTR)来度量系统的可维护性。于是可用性被定义为:公顷=MTTF/(MTTF + MTTR) * 100%
==具体HA衡量标准:
99%一年宕机时间不超过4天
99.9%一年宕机时间不超过10个小时
99.99%一年宕机时间不超过1小时
99.999%一年宕机时间不超过6分钟==
实现高可用的开源软件有:心跳,keepalive

  

负载均衡集群,需要有一台服务器作为分发器,它负责把用户的请求分发给后端的服务器处理,在这个集群里,除了分发器外,就是给用户提供服务的服务器了,这些服务器数量至少为2
实现负载均衡的开源软件有lv, keepalive, haproxy, nginx,商业的有F5, Netscaler

     

2 keepalive介绍

  
  

在这里我们使用keepalive来实现高可用集群,因为心跳在centos6上有一些问题,影响实验效果
keepalive通过VRRP(虚拟路由器冗余规范)来实现高可用。
keepalive要有三个模块,分别是核心,检查和VRRP。中芯模块为keepalive的核心,负责主进程的启动,维护以及全局配置文件的加载和解析,检查模块负责健康检查,VRRP模块是来实现VRRP协议的。

     

3,用keepalive配置高可用集群(总结)

  

环境:有(root@chy01 ~), B (root@chy ~) #
两个服务器,一个为主服务器,B为备服务器。首先两台服务器都需要安装keepalive。具体配置如下:
配置主:

  
 <代码> [root@chy01 ~] # yum安装- y keepalive
  (机器安装keepalive)
  (root@chy ~) # yum安装- y keepalive
  (B机器安装keepalive)
  (root@chy01 ~) # ps辅助| grep nginx
  2485 0.0 0.0 45484 1280根?党卫军05:15 0:00 nginx:主人/usr/local/nginx/sbin/nginx - c/usr/local/nginx/conf/nginx.conf过程
  没人2492 0.0 - 0.2 47972 4172 ?年代05:15 0:00 nginx:工作进程
  没人2493 0.0 - 0.2 47972 3916 ?年代05:15 0:00 nginx:工作进程
  根3041 0.0 - 0.0 112664 976分/0 R + 05:28 0:00 grep——颜色=汽车nginx
  (机器上安装过nginx,需要用nginx来做为负载均衡器)
  (root@chy ~) # yum安装- y nginx
  (B机器上用yum安装的nginx,因为之前没有安装过)
  [root@chy01 ~] #祝辞!美元
  在/etc/keepalive/keepalived.conf
  (清空大师的keepalive的配置文件)
  # vim/etc/keepalived/keepalived.conf root@chy01 ~
  global_defs {
  notification_email {
  chy@chy.com
  }
  notification_email_from root@chy.com
  smtp_server 127.0.0.1
  smtp_connect_timeout 30
  router_id LVS_DEVEL
  }
  vrrp_script chk_nginx {
  脚本“/usr/地方/sbin/check_ng.sh”
  间隔3
  }
  vrrp_instance VI_1 {
  国家的主人
  接口ens33
  virtual_router_id 51
  优先级100
  advert_int 1
  身份验证{
  auth_type通过
  auth_pass chylinux> com
  }
  virtual_ipaddress {
  192.168.212.1
  }
  track_script {
  chk_nginx
  }
  }
  如上是主的配置文件:如下是详解
  1,全局定义(全球定义)配置范例
  global_defs {
  notification_email {
  chy@chy.com
  }
  notification_email_from root@chy.com
  smtp_server 127.0.0.1
  smtp_connect_timeout 30
  router_id LVS_DEVEL
  }global_defs全局配置标识,表面这个区域{}是全局配置,表示keepalive在发生诸如切换操作时需要发送电子邮件通知,以及邮件发送给哪些邮件地址,邮件地址可以多个,每行一个
  notification_email_from
  表示发送通知邮件时邮件源地址是谁
  smtp_server 127.0.0.1
  表示发送邮件时使用的smtp服务器地址,这里可以用本地的sendmail来实现
  mtp_connect_timeout 30
  连接smtp连接超时时间
  router_id node1
  机器标识
  vrrp_script chk_nginx {
  脚本“/usr/地方/sbin/check_ng.sh”
  间隔3
  }
  vrrp_instance VI_1 {
  状态指主定实例(初始)的初始状态,就是说在配置好后,这台服务器的初始状态就是这里指定的,但这里指定的不算,还是得要通过竞选通过优先级来确定,里如果这里设置为大师,但如若他的优先级不及另外一台,那么这台在发送通告时,会发送自己的优先级,另外一台发现优先级不如自己的高,那么他会就回抢占为大师
  接口ens33实例绑定的网卡,因为在配置虚拟IP的时候必须是在已有的网卡上添加的
  virtual_router_id 51这里设置VRID,这里非常重要,相同的VRID为一个组,他将决定多播的MAC地
  优先级100这里设置VRID,这里非常重要,相同的VRID为一个组,他将决定多播的MAC地址
  advert_int 1检查间隔,默认为1秒
  身份验证{这里设置认证
  auth_type通过认证方式,可以是通过或啊两种认证方式
  auth_pass chylinux> com
  }
  virtual_ipaddress {
  192.168.212.1
  }这里设置的就是贵宾,也就是虚拟IP地址,他随着状态的变化而增加删除,当状态为大师的时候就添加,当状态为备份的时候删除,这里主要是有优先级来决定的,和国家设置的值没有多大关系,这里可以设置多个IP地址
  track_script {
  chk_nginx
  }
  }
  # vim/usr/local/sbin/check_ng.sh root@chy01 ~
  (编辑脚本)
  # !/bin/bash
  d='今天的日期,日期+ % Y % m H % d_ %: % m: % S的
  #计算nginx进程数量
  n=' ps - c nginx——no-heading | wc - l '
  #如果进程为0,则启动nginx,并且再次检测nginx进程数量,
  #如果还为0,说明nginx无法启动,此时需要关闭keepalive
  如果[$ n情商" 0 ");然后/etc/init.d/nginx开始
  n2=' ps - c nginx——no-heading | wc - l '
  如果(n2 eq美元“0”);然后
  echo " $ d nginx, keepalive将停止“祝辞祝辞/var/log/check_ng.log
  systemctl停止keepalive
  fi
  fi
  # chmod 755/usr/local/sbin/check_ng.sh root@chy01 ~
  (增加脚本的权限)
  (root@chy01 ~) # systemctl keepalive开始
  (root@chy01 ~) # ps辅助| grep
  3225 0.0 0.0 111708 1308根?党卫军06:13 0:00/usr/sbin/keepalived - d
  3226 0.0 0.1 111708 2560根?年代06:13 0:00/usr/sbin/keepalived - d
  3227 0.0 0.1 111708 1624根?年代06:13 0:00/usr/sbin/keepalived - d
  根3254 0.0 - 0.0 112664 972分/0 + 06:13 0:00 grep——颜色=自动保持
  (root@chy01 ~) # ps辅助| grep nginx
  2485 0.0 0.0 45484 1280根?党卫军05:15 0:00 nginx:主人/usr/local/nginx/sbin/nginx - c/usr/local/nginx/conf/nginx.conf过程
  没人2492 0.0 - 0.2 47972 4172 ?年代05:15 0:00 nginx:工作进程
  没人2493 0.0 - 0.2 47972 3916 ?年代05:15 0:00 nginx:工作进程
  根3274 0.0 - 0.0 112668 972分/0 + 06:13 0:00 grep——颜色=汽车nginx
  (启动keepalive服务并且查看是否启动)
  root@chy01 ~ #/var/log/messages少
  (keepalive的日志日志)
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null

集群介绍+用keepalive配置高可用集群(总结)