码迷,mamicode.com
首页 > 其他好文 > 详细

测试文章

时间:2016-11-28 08:53:41      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:高可用   topic   服务器   order   slave   常见   ted   stop   etc   

HA集群配置

HA即(high available)高可用,又被叫做双机热备,用于关键性业务。简单理解就是,有2台机器A和B,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至B机器继续提供服务。常见的实现高可用的开源软件有heartbeat和keepalived有负载均衡的功能。

这样,一台web服务器一天24小时提供web服务,难免会存在web服务挂掉或服务器宕机宕机的情况,那么用户就访问不了服务了,这当然不是我们期望的。如果这样,有2台服务器,A对外提供web服务,B作为备用,如果A挂掉,那么B立刻替代A的位置去提供web服务,这样对用户来说是透明的。但是有个问题,服务器A的ip是10.0.0.100,服务器B的ip是10.0.0.101,显然向用户提供A或B的ip地址是不可行的,因为用户总不能去切换ip来访问的吧。这时heartbeat或keepalived可以提供一个虚拟IP:10.0.0.102,用户只需要访问10.0.0.102,当A提供服务时,VIP会设置在A服务器上,当B提供服务时,VIP会设置在B服务器上,这样就可以让用户通过访问10.0.0.102来获取web服务,即使A或B服务器切换也不影响用户的正常访问。

下面我们使用heartbeat来做HA集群,并且把nginx服务作为HA对应的服务。

1、准备实验环境

服务器A
主机名:master
操作系统:CentOS6.8 64位
eth0网卡地址:192.168.0.18
eth1网卡地址:172.16.254.18

服务器B
主机名:slave
操作系统:CentOS6.8 64位
eth0网卡地址:192.168.0.28
eth1网卡地址:172.16.254.28

虚拟VIP
VIP:192.168.0.38

2、设置主机名

master节点设置hostname
hostname master
vim /etc/sysconfig/network
vim /etc/sysconfig/network
编辑配置文件:
HOSTNAME=master

slave节点设置hostname
# hostname slave
# vim /etc/sysconfig/network
编辑配置文件:
HOSTNAME=slave

3、关闭防火墙和selinux(2台节点都要操作)

关闭iptables
# iptables -F
# service iptables save
# service iptables stop

关闭selinux
# setenforce 0
# sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config

隐藏行号 复制代码 这是一段程序代码。
  1. #!/bin/bash
  2. #Written by aming.
  3. # 是否发送邮件的开关
  4. export send=1
  5. # 过滤ip地址
  6. export addr=`/sbin/ifconfig |grep -A1 ‘eth0‘ |grep addr: |awk ‘{print $2}‘|awk -F: ‘{print $2}‘`
  7. dir=`pwd`
  8. # 只需要最后一级目录名
  9. last_dir=`echo $dir|awk -F‘/‘ ‘{print $NF}‘`
  10. # 下面的判断目的是,保证执行脚本的时候,我们在bin目录里,不然监控脚本、邮件和日志很有可能找不到
  11. if [ $last_dir == "bin" ] || [ $last_dir == "bin/" ]; then
  12.     conf_file="../conf/mon.conf"
  13. else
  14.     echo "you shoud cd bin dir"
  15.     exit
  16. fi
  17. exec 1>>../log/mon.log 2>>../log/err.log
  18. echo "`date +"%F %T"` load average"
  19. /bin/bash ../shares/load.sh
  20. #先检查配置文件中是否需要监控502
  21. if grep -q ‘to_mon_502=1‘ $conf_file; then
  22.     export log=`grep ‘logfile=‘ $conf_file |awk -F ‘=‘ ‘{print $2}‘ |sed ‘s/ //g‘`
  23.     /bin/bash  ../shares/502.sh
  24. fi

 

测试文章

标签:高可用   topic   服务器   order   slave   常见   ted   stop   etc   

原文地址:http://www.cnblogs.com/liwei0526vip/p/6107842.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!