首页 运维干货系统运维:DNS通过软路由(Quagga's OSPF)实现负载均衡

系统运维:DNS通过软路由(Quagga's OSPF)实现负载均衡

运维派隶属马哥教育旗下专业运维社区,是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai
领取学习更多免费Linux云计算、Python、Docker、K8s教程关注公众号:马哥linux运维

系统运维: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地址)

  • 故障日志

系统运维:DNS通过软路由(Quagga's OSPF)实现负载均衡插图1

OSPF+DNS替代LVS+DNS

要想使用OSPF+DNS来替代LVS+DNS,那就要看看OSPF+DNS的能否解决我们的需求

  • 负载均衡

OSPF自带负载均衡算法,所以负载均衡肯定没有问题

  • 后端服务器IP自动增减

我们在OSPF+DNS中引入systemd依赖关系来解决DNS服与OSPF服务之间的关联关系,保证DNS服务一旦出现故障,自动关闭OSPF服务

显然,OSPF+DNS的架构是可以实现,而且并不存在keepalived中出现的VRRP主从的bug,而且keepalived虽然是主从结构,但是实际业务流量只能在单边跑(master在提供服务时,slave其实只算备份,没有任务业务流量)

OSPF+DNS架构拓扑

系统运维:DNS通过软路由(Quagga's OSPF)实现负载均衡插图2

  • DNS集群安装软路由工具Quagga
  • DNS Server与交换机之前采用点对点/30位IP配置
  • DNS Server上全部配置回环口(DNS对外服务统一IP)
  • 使用Systemd做依赖关系
  • DNS集群可以横向扩展

环境搭建

  • DNS集群搭建(略)
  • Quagga安装

yum install quagga.x86_64

  • Zebra配置

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

  • OSPF配置

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

  • 交换机配置(H3C)

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

  • systemd依赖关系配置

系统运维:DNS通过软路由(Quagga's OSPF)实现负载均衡插图3

原文来自微信公众号:余果果园

本文链接:https://www.yunweipai.com/21014.html

网友评论comments

回复 温利锋 取消回复

您的电子邮箱地址不会被公开。

  1. 温利锋说道:

    如果named进程down了,ospf进程UP,会造成部分用户无法访问DNS服务器。

Copyright © 2012-2022 YUNWEIPAI.COM - 运维派 京ICP备16064699号-6
扫二维码
扫二维码
返回顶部