构建企业DNS的注意事项

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介:

在对DNS做了一些常见的配置学习之后,我们就可以再探讨一下企业级DNS的构建方法了。企业级DNS由于要承载高并发,大流量,所以硬件性能和全局的架构设计就显得非常重要。在实际的生产环境中,如果并发量特别大的话,关闭SELINUX 和防火墙可以大幅提高DNS性能。同时,至少使用千兆网络。


DNS命名规范

  • 26个英文字母

  • “0,1,2,3,4,5,6,7,8,9”十个数字

  • “-”(英文中的连词号)

  • 最多63字节长度

如果不按照这个规范,需要在master-view文件上配置check-names ignore;


DNS压测

在部署线上的服务时,需要对服务的状态进行压测。对DNS压测可以使用queryperf .

测试示例:

下载bind-9.9.9-P1.tar ,并执行下面命令安装:

1
2
3
4
5
6
7
tar  xvf bind-9.9.9-P1. tar 
cd  bind-9.9.9-P1
cd  contrib/
cd  queryperf/
. /configure 
make
cp  queryperf  /usr/bin/


在当前目录创建test.txt的测试文本,文本内容为本地需要解析的域名:

1
2
3
4
[root@DNS-Server queryperf] # cat test.txt 
view.viewtest.com A        #对A记录解析情况进行压测,可以根据需要添加各种解析记录。
view.viewtest.com A        # 一般进行压测会添加几万条类似的记录以查看性能
view.viewtest.com A

使用queryperf命令进行压测:

queryperf  -d test.txt -s 114.114.114.114  #  -d 指定压测的解析内容文件 -s 指定压测的服务器

queryperf的使用格式:

1
queryperf [-d datafile] [-s server_addr] [-p port] [-q num_queries]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[root@DNS-Server queryperf] # queryperf -d test.txt  -s 192.168.1.10
DNS Query Performance Testing Tool
Version: $Id: queryperf.c, v  1.12 2007 /09/05  07:36:04 marka Exp $
[Status] Processing input data
[Status] Sending queries (beginning with 192.168.1.10)
[Status] Testing complete
Statistics:
   Parse input  file :     once
   Ended due to:         reaching end of  file
   Queries sent:         3 queries          # 查询请求的次数
   Queries completed:    3 queries          # 查询完成的次数
   Queries lost:         0 queries
   Queries delayed(?):   0 queries
   RTT max:         0.004663 sec
   RTT min:              0.004651 sec
   RTT average:          0.004656 sec
   RTT std deviation:    0.000006 sec
   RTT out of range:     0 queries
   Percentage completed: 100.00%
   Percentage lost:        0.00%
   Started at:           Fri Dec  9 16:26:06 2016
   Finished at:          Fri Dec  9 16:26:06 2016
   Ran  for :              0.004697 seconds   
   Queries per second:   638.705557 qps      # 并发越多,值越大,每秒执行的查询次数

 

DNS监控

可以通过结合zabbix来实现对DNS的监控。对于DNS的监控需要注意以下几点:

系统基础性能的监控: 使用zabbix自带的模板可以实现对服务器CPU,内存,存储,磁盘,系统负载,网卡流量进行监控。

LOOPBACK地址绑定状态监控:在LVS做DNS负载均衡调度的架构中,dnsserver在集群中充当real server的角色,DR模式下,需要绑定loopback地址方能通信,因此当loopback地址没有绑定上时,lvs健康检查可以通过,但是后端的dnsserver会丢弃请求的数据包,造成dns服务不可用。(可参见LVS DR模式的实现原理)

DNS数据与master数据一致性监控

  •  通过配置zabbix自定义的discovery功能,扫出dns配置中所有zone,然后分别对比slave和master每个zone的serial值,当slave与master的值持续5分钟不一致时报警。

  • 通过编写脚本,每隔15分钟扫描master上所有域名解析的结果,与每一个slave上的结果做对比,当出现不一致时报警。

DNS响应时间的监控: 远端主机跑在fullnat 模式下(提供高可用),通过dig命令检查dnsserver的响应时间。

DNS每秒请求数监控:每台dns主机上编写zabbix脚本,分析named_status文件,获取每秒请求数。

示例脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/sh
#rndc status
STATS= '/var/named/chroot/var/log/named_stats'
if  [[ $ # -ne 1 ]]
then
   echo  "$0  [querys]"
   exit  2
else
   which =$1
fi
if  [[ -f  "${STATS}"  ]]
then
   echo  > ${STATS}
   rndc stats >  /dev/null  2>&1
else
   echo  "${STATS} not found."
   exit  2
fi
case  ${ which in
querys)
   RESULT=` awk  '{if {$2=="QUERY"} {print $1}}'  ${STATS}`
   ;;
  *)
   echo  "$0 [querys]"
   exit  2
   ;;
   esac
echo  ${RESULT}


DNS日常运维规范

确保所有监控均处于生效状态;

所有的新机器,均在saltstack上完成安装、部署,不能单独操作;

所有针对dns架构调整的操作,均在流量低谷进行;

对集群扩容时,务必加入新节点做压测,同时重启服务,并检测重启后各项指标是否正常;



 本文转自 酥心糖 51CTO博客,原文链接:http://blog.51cto.com/tryingstuff/1881322

相关文章
|
14天前
|
安全 虚拟化
在数字化时代,网络项目的重要性日益凸显。本文从前期准备、方案内容和注意事项三个方面,详细解析了如何撰写一个优质高效的网络项目实施方案,帮助企业和用户实现更好的体验和竞争力
在数字化时代,网络项目的重要性日益凸显。本文从前期准备、方案内容和注意事项三个方面,详细解析了如何撰写一个优质高效的网络项目实施方案,帮助企业和用户实现更好的体验和竞争力。通过具体案例,展示了方案的制定和实施过程,强调了目标明确、技术先进、计划周密、风险可控和预算合理的重要性。
36 5
|
2月前
|
前端开发
深入解析React Hooks:构建高效且可维护的前端应用
本文将带你走进React Hooks的世界,探索这一革新特性如何改变我们构建React组件的方式。通过分析Hooks的核心概念、使用方法和最佳实践,文章旨在帮助你充分利用Hooks来提高开发效率,编写更简洁、更可维护的前端代码。我们将通过实际代码示例,深入了解useState、useEffect等常用Hooks的内部工作原理,并探讨如何自定义Hooks以复用逻辑。
|
19天前
|
Kubernetes Cloud Native 云计算
云原生技术深度解析:重塑企业IT架构的未来####
本文深入探讨了云原生技术的核心理念、关键技术组件及其对企业IT架构转型的深远影响。通过剖析Kubernetes、微服务、容器化等核心技术,本文揭示了云原生如何提升应用的灵活性、可扩展性和可维护性,助力企业在数字化转型中保持领先地位。 ####
|
2月前
|
监控 安全 Java
构建高效后端服务:微服务架构深度解析与最佳实践###
【10月更文挑战第19天】 在数字化转型加速的今天,企业对后端服务的响应速度、可扩展性和灵活性提出了更高要求。本文探讨了微服务架构作为解决方案,通过分析传统单体架构面临的挑战,深入剖析微服务的核心优势、关键组件及设计原则。我们将从实际案例入手,揭示成功实施微服务的策略与常见陷阱,为开发者和企业提供可操作的指导建议。本文目的是帮助读者理解如何利用微服务架构提升后端服务的整体效能,实现业务快速迭代与创新。 ###
64 2
|
2月前
|
供应链 Oracle 关系型数据库
2024年最佳CRM深度解析:企业用户首选
随着信息技术的快速发展,中国CRM市场迎来巨大机遇,众多CRM系统涌现。2024年最佳CRM系统排行榜中,纷享销客凭借全链条解决方案、高度定制化、智能化分析及优秀的用户体验,位居榜首。榜单还包括Salesforce、Microsoft Dynamics 365、SAP CRM、Oracle CRM、用友CRM、金蝶CRM、神州云动CRM、八百客CRM和悟空CRM,各具特色,满足不同企业需求。
|
2月前
|
前端开发 开发者 容器
构建响应式Web界面:Flexbox与Grid布局的深度解析
【10月更文挑战第11天】本文深入解析了CSS3中的Flexbox和Grid布局,探讨了它们的特点、应用场景及使用方法。Flexbox适用于一维布局,如导航栏;Grid布局则适用于二维布局,如复杂网格。通过示例代码和核心属性介绍,帮助开发者灵活构建响应式Web界面。
56 5
|
2月前
|
运维 供应链 Oracle
2024年CRM系统全景:领先品牌的深度解析与企业选择指南
中国CRM市场2021年规模达156亿元,预计2024年突破250亿元。纷享销客凭借与双环传动的成功合作,展现其在CRM SaaS领域的领导地位。本文深入解析纷享销客的产品特点及优势,并推荐其他优秀CRM系统,为企业选型提供指南。
|
1月前
|
存储 运维 监控
运维技术深度解析:构建高效、稳定的运维体系
【10月更文挑战第22天】运维技术深度解析:构建高效、稳定的运维体系
152 0
|
1月前
|
人工智能 运维 监控
运维技术深度解析:构建高效、稳定的IT基础设施
【10月更文挑战第22天】运维技术深度解析:构建高效、稳定的IT基础设施
57 0
|
1月前
|
机器学习/深度学习 边缘计算 运维
运维技术深度解析:构建高效、稳定的IT基础设施
【10月更文挑战第22天】运维技术深度解析:构建高效、稳定的IT基础设施
48 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多