《系统运维:DNS通过软路由(Quagga’s OSPF)实现负载均衡》要点: 本文介绍了系统运维:DNS通过软路由(Quagga’s OSPF)实现负载均衡,希望对您有用。如果有疑问,可以联系我们。
概要说明
DNS是非常重要的服务,需要保证业务的安全性,可靠性与可用性.
原始的DNS主从结构虽然能够实现DNS的主备,但是无法使用统一的IP对外服务.所以我们将OSPF引入,多台DNS服务器都配置统一的VIP作为业务IP,统一对外服务.
早前介绍了使用LVS来实现DNS的负载均衡,现在我们来说说另外一种解决方案
LVS+DNS遇到的问题(keepalived软件bug)
为啥要引入DNS+软路由的方式呢,是因为在使用LVS+DNS架构中,出现过问题.
在主LVS发生网络拥塞情况下,会引起ARP表错误更新
Master VRRP心跳包发送至Slave VRRP延时,致使Slave VRRP错误的进入Master状态,并发送ARP至三层交换机网关,导致网关错误更新ARP缓存(VIP对应的MAC地址)
OSPF+DNS替代LVS+DNS
要想使用OSPF+DNS来替代LVS+DNS,那就要看看OSPF+DNS的能否解决我们的需求
OSPF自带负载均衡算法,所以负载均衡肯定没有问题
我们在OSPF+DNS中引入systemd依赖关系来解决DNS服与OSPF服务之间的关联关系,保证DNS服务一旦出现故障,自动关闭OSPF服务
显然,OSPF+DNS的架构是可以实现,而且并不存在keepalived中出现的VRRP主从的bug,而且keepalived虽然是主从结构,但是实际业务流量只能在单边跑(master在提供服务时,slave其实只算备份,没有任务业务流量)
OSPF+DNS架构拓扑
- DNS集群安装软路由工具Quagga
- DNS Server与交换机之前采用点对点/30位IP配置
- DNS Server上全部配置回环口(DNS对外服务统一IP)
- 使用Systemd做依赖关系
- DNS集群可以横向扩展
环境搭建
yum install quagga.x86_64
DNS Server1
hostname yxj-10-59-90-2.test.com
interface em2
ip address 10.59.90.2
DNS Server2
hostname yxj-10-59-90-6.test.com
interface em2
ip address 10.59.90.6
DNS Server1
interface em2
ip ospf network point-to-point
ip ospf hello-interval 1
ip ospf dead-interval 4
router ospf
ospf router-id 10.59.90.2
network 10.59.90.2/30 area 0.0.0.0
network 10.59.111.250/32 area 0.0.0.0
DNS Server2
interface em2
ip ospf network point-to-point
ip ospf hello-interval 1
ip ospf dead-interval 4
router ospf
ospf router-id 10.59.90.6
network 10.59.90.6/30 area 0.0.0.0
network 10.59.111.250/32 area 0.0.0.0
interface gi1/0/1
ip address 10.59.90.1 255.255.255.252
ospf timer hello 1
ospf timer dead 4
ospf network-tpye p2p
interface gi1/0/2
ip address 10.59.90.5 255.255.255.252
ospf timer hello 1
ospf timer dead 4
ospf network-tpye p2p
ospf 1
description osp_dns
area 0.0.0.0
network 10.59.90.1 0.0.0.3
network ?10.59.90.4 0.0.0.3
原文来自微信公众号:余果果园
(编辑:ASP站长网)
|