V2EX 首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  DNS

请教该如何考虑内网 DNS 部署的高可用及负载均衡

  •  
  •   jamiroquai · 15 天前 · 464 次点击

    对于中小型企业,在内网用 Bind 部署 2~3 台 DNS 应该就可以满足需求,但是对于大型企业,尤其是大型跨国企业,该如何设计一个高可用及负载均衡的内网 DNS 系统呢?初步想到如下几点,请大家指教:

    1. 通过 Anycast+Bind 来实现全局的负载均衡;
    2. 对于某个节点,使用单台 DNS 服务器可能会达到 DNS 服务器的瓶颈,是否能通过专用的负载均衡设备或者 LVS 来挂载多台 DNS 服务器,来承担 1 一百万 QPS 的访问?

    另外,大家对 Bind 的优化有什么建议哈,感觉再高配的机器,Bind 也只能到 10WQPS 左右,不知道是不是我们没抓住优化的重点。

    15 回复  |  直到 2018-01-12 10:59:16 +08:00
        1
    Aliencn   15 天前
    DNSPod 开源了
        2
    jamiroquai   15 天前
    @Aliencn,是指 DNSPod-SR 对吧,不知道国内有多少公司在使用这个开源版本,另外是否有和 Unbound,PowerDNS 等的对比哈。不过我更关注的是对于单节点上 DNS 的负载均衡,我想 DNSPod,阿里云 DNS 之类的,都不会在某个点只放一台机器吧?
        3
    owenliang   15 天前 via Android
    就是配多个 resolver 吧。。。靠加机器硬抗
        4
    jamiroquai   14 天前
    @owenliang,谢谢回复。可以通过 Anycast 来配置多个 resolver,但假如某个 resolver 的压力非常大,导致 DNS 响应缓慢,这种情况就要考虑对这个 resolver 进行多一次的负载分摊
        5
    sendmailer   14 天前
    用 lvs 或 ecmp 做单节点的负载均衡,整个内网发 anycast 路由地址。通常内网如果没有爬虫服务,递归量不是很大。如果真的大再拆分缓存和递归集群。
        6
    sendmailer   14 天前
    内网用 bind 就行了,其他的别折腾
        7
    jamiroquai   14 天前
    @sendmailer 感谢回复,LVS 能扛得住不,DNS 的访问量还是非常大的。。
        8
    jamiroquai   14 天前
    用 Bind 有时候会遇到莫名其妙的问题,64C/128G 的机器用来做转发和 cache 服务器,经常会莫名其妙出现无法解析的情况,看了下 QPS 才 3W 左右,这时候 netstat 会看到有 UDP 的包被丢掉,感觉是 Bind 处理不过来。
        9
    sendmailer   14 天前
    ecmp 没条件就用 lvs,后端 rs 可以堆,瓶颈在 lvs,具体没压测过,不过做 udp 转发+dr 模式 应该问题不大。 出现 udp 丢包就关 log,如果又想存 log 就用 dnstap,再不行就用分光器采集流量存。
        10
    jamiroquai   14 天前
    @sendmailer 感谢宝贵意见~~
        11
    jamiroquai   14 天前
    Bind 写 Log 有时候会丢包是因为磁盘 IO 导致的么?
        12
    tom82232   12 天前
    企业的 QPS 有这么大的吗? BIND 性能本来就高,架构决定。重在开源,全面。至于方案你已经有了
        13
    mykgzy   8 天前
    之前我一个超大互联网的做法是:
    1. 每个机房几台 DNS,然后利用 cost 或 anycast 来做本地解析优先
    2. 每组 DNS 使用 ECMP (利用 zebra 和交换机跑 OSPF )
    3. master 只做下发,每个机房的都是 slave 的查询。

    再深的我不清楚了,其实我是网工。我最近也在看这方面的东西
        14
    jamiroquai   5 天前
    @tom82232 有的,林子大了,什么 Bug 都有,遇到过有些程序 1 秒访问 10 多 W 次的。Bind 的性能调优有什么建议么?谢谢~~
        15
    jamiroquai   5 天前
    @mykgzy 嗯嗯,这块深入的话还是有很多东西要了解
    DigitalOcean
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   2072 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.0 · 50ms · UTC 13:14 · PVG 21:14 · LAX 05:14 · JFK 08:14
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1