网管宕机,效劳中止?别忧虑,解决方案来了51CTO博客 - 超凡娱乐

网管宕机,效劳中止?别忧虑,解决方案来了51CTO博客

2019-01-03 16:28:00 | 作者: 宛南 | 标签: 效劳,宕机,完结 | 浏览: 153

    本文以LVS + keepalived 完结根据keepalived的LVS的高可用

    LVS是Linux Virtual Server的简写,意即Linux虚拟效劳器,是一个虚拟的效劳器集群体系。本项目在1998年5月由章文嵩博士建立,是我国国内最早呈现的自由软件项目之一。现在有三种IP负载均衡技能(VS/NAT、VS/TUN和VS/DR);    十种调度算法(rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq)。

    Keepalived在这里首要用作RealServer的健康状况检查以及LoadBalance主机和BackUP主机之间failover的完结

    简略介绍keepalived:keepalived是完结高可用的一种轻量级的技能手段,首要用来避免单点毛病(单点毛病是指一旦某一点呈现毛病就会导致整个体系架构的不可用)的发作。之所以说keepalived是轻量级的,是相对于corosync + ldirectord来说的。keepalived也能够完结高可用集群,并且装备起来比corosync + ldirectord简略便利许多,keepalived与corosync的作业机制相差许多。corosync + ldirectord完结的功用尽管强壮,但装备起来比较费事,而keepalived功用尽管简略,但装备起来比较简单。也就是说keepalived可完结corosync + ldirectord完结的功用,只不过前者没有后者功用强壮罢了

    这里有一个网上图片,以便能够具体的了解作业流程

大致规划:

    web-real  server1    172.16.14.3    node1.magedu.com

    web-real  server2    172.16.14.4    node2.magedu.com

    LVS-DR    vip        172.16.14.1

    LVS-DR-master        172.16.14.5    node1.magedu.com

    LVS-DR-salve         172.16.14.6    node2.magedu.com

首要需求下载keepalived-1.2.7-5.el5.i386.rpm

一、预备两台real server,装置httpd效劳

(172.16.14.3    node1.magedu.com)
172.16.14.4 node2.magedu.com)
#   yum  -y install httpd
#   echo "node1.magedu.com" > /var/www/html/index.html
#   setenforce 0            封闭selinux
#   service httpd start     发动效劳

进行测验

    在real server2上装置http效劳

(172.16.14.4    node2.magedu.com)
#   yum  -y install httpd
#   echo "node2.magedu.com" > /var/www/html/index.html
#   setenforce 0            封闭selinux
#   service  httpd  start

    进行测验

    现在real server的http效劳就预备好啦。

二、装置keepalived效劳

(172.16.14.5    node1.magedu.com)
#   yum  -y --nogpgcheck localinstall keepalived-1.2.7-5.el5.i386.rpm
#   yum -y  install  ipvsadm

    修正装备文件

    #    vim /etc/keepalived/keepalived.conf

进行装备keepalived
#   cd /etc/keepalived/
#   cp keepalived.conf keepalived.conf.bak  #做备份,犯错时,还能够康复
#   vim  keepalived
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost             #管理员邮箱
}
notification_email_from  keepalived@localhost    #发件人邮箱
smtp_server 127.0.0.1                #邮箱地址
smtp_connect_timeout 30              #邮箱衔接超时时刻
router_id LVS_DEVEL              #router_id是从LVS_DEVEL直接获取
}
vrrp_instance VI_1 {                #虚拟路由
state MASTER                    #状况
interface eth0                  #虚拟路由作业于哪个接口
virtual_router_id 55                #vid
priority 101                    #优先级,要高于被节点,减去2后,低于被节点
advert_int 1                    #认证
authentication {
auth_type PASS
auth_pass password
}
virtual_ipaddress {
172.16.14.1/16 dev eth0 label eth0:0
}               #虚拟地址
virtual_server 172.16.14.1 80 {         #虚拟效劳的地址,及监听端口
delay_loop 6
lb_algo rr
lb_kind DR
nat_mask 255.255.0.0                #子网掩码
persistence_timeout 50
protocol TCP
real_server 172.16.14.3 80 {
weight 1
HTTP_GET {                  #进行健康检查的办法
url {
path /                #获取主页面
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 172.16.14.3 80 {
weight 1
HTTP_GET {                  #进行健康检查的办法
url {
path /                #获取主页面
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}

    仿制keepalived.conf装备文件到从节点上

# scp keepalived.conf node2:/etc/keepalived/

    在从节点上,修正其装备文件

(172.16.14.6    node2.magedu.com)
#   cd /etc/keepalived/
#   vim keepalived.conf
修正如下行
state BACKUP
priority 100

    重启keepalived效劳,并检查ipvsadm规矩,看是否成功(由于装置keepalived效劳,会主动在效劳上生成ipvs规矩,根据LVS,到达ip地址的高可用)

(172.16.14.5    172.16.14.6)
#   service keepalived restart

检查规矩

    手动模仿 resal server1宕机,再进行检查ipvs规矩

    ipvs规矩里就只剩下了node2(172.16.14.4)了

    1.模仿real server 都宕机时,效劳器呈现过错页面

        在keepalived效劳器上装置http效劳器,装置提示过错的页面

(172.16.14.5    node1.magedu.com
172.16.14.6     node2.magedu.com)
#   yum  -y install httpd
#   echo "error" > /var/www/html/index.html
#   setenforce 0            封闭selinux
#     scp /var/www/html/index.html node2:/var/www/html/index.html
#   service  httpd  start

编译配装备文件/etc/keepalived/keepalived.conf

(172.16.14.5    172.16.14.6)
在rea_server前面加上一行:
sorry_server 127.0.0.1 80
#   service keepalived restart

中止real server上的http效劳,检查172.16.14.1会呈现怎么样的页面

2.自写检测脚本,完结保护形式切换

        运用保护形式,模仿节点1宕机

vrrp_script chk_schedown {
script "[ -e /etc/keepalived/down ] && exit 1 || exit 0"
interval 1
weight -5
fall 2
rise 1
}
在    virtual_ipaddress {
172.16.14.1/16 dev eth0 label eth0:0
}
增加如下行:
track_script{
chk_schedown
}

        重启keepalived效劳,检查节点1(172.16.14.5)的ip地址

        手动修改down文件,重启效劳,模仿主节点宕机

#   cd /etc/keepalived
#   touch down

        检查ip地址.eth0:0就运转于从节点啦

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表超凡娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章