第二章:资源需求

第二章:资源需求2.1. 硬件需求2.2. CPU 需求2.3. 内存需求2.4. 名称服务器密集型环境问题2.5. 支持的平台2.5.1. 定期测试的平台2.5.2. 尽最大努力2.5.3. 社区维护2.6. 不支持的平台2.7. Installing BIND 9

2.1. 硬件需求

DNS硬件要求传统上相当温和。对于许多安装,已经退役的服务器作为DNS服务器表现出色。

然而,BIND 9的DNSSEC功能可能相当占用CPU,因此大量使用这些功能的组织可能希望为这些应用考虑更大的系统。BIND 9是完全多线程的,允许在需要的安装中充分利用多处理器系统。

2.2. CPU 需求

BIND 9的CPU要求范围从i386级机器(用于无缓存地服务静态区域)到企业级机器(处理许多动态更新和DNSSEC签名区域,每秒服务数千个查询)。

2.3. 内存需求

服务器内存必须足够容纳缓存和从磁盘加载的区域。 max-cache-size 选项可以限制缓存使用的内存量,代价是降低缓存命中率并导致更多DNS流量。有足够的内存将所有区域和缓存数据加载到内存中仍然是很好的做法;不幸的是,对于给定的安装,确定这一点的最佳方法是观察名称服务器的运行情况。几周后,服务器进程应该达到一个相对稳定的大小,其中条目从缓存中过期的速度与插入的速度一样快。

2.4. 名称服务器密集型环境问题

对于名称服务器密集型环境(name server-intensive environments ),可以使用两种配置。第一种是客户端和任何二级内部名称服务器查询主名称服务器,主名称服务器有足够的内存来构建大型缓存;这种方法最大限度地减少了外部名称查找所使用的带宽。第二种选择是建立二级内部名称服务器来独立进行查询。在这种配置中,没有一台单独的机器需要像第一种替代方案那样有那么多的内存或CPU能力,但这有一个缺点,即进行更多的外部查询,因为没有一个名称服务器共享它们的缓存数据。

2.5. 支持的平台

各种平台上BIND 9版本的当前支持状态可以在ISC知识库中找到:

https://kb.isc.org/docs/supported-platforms

一般来说,此版本的BIND将在任何符合POSIX标准的系统上构建和运行,该系统具有现代C11(或更好)编译器、具有RFC兼容IPv6支持的BSD风格套接字、POSIX兼容线程和所需库。

编译BIND 9需要以下C11功能:

在有意义的地方,BIND 9使用C11标准C17更新引入的C标准修复程序。

ISC定期在许多操作系统和架构上测试BIND,但缺乏测试所有这些系统和架构的资源。因此,ISC只能在“尽最大努力”的基础上为一些人提供支持。

2.5.1. 定期测试的平台

BIND 9的当前版本得到了全面支持,并在以下系统上进行了定期测试:

amd64 CPU架构得到了全面支持,并定期进行测试。

2.5.2. 尽最大努力

以下是BIND构建和运行的平台。ISC尽一切努力修复这些平台上的错误,但由于缺乏硬件、工程人员不太熟悉以及其他限制,可能无法快速修复。这些都没有经过ISC的定期测试。

2.5.3. 社区维护

这些系统可能并不都具有构建BIND所需的依赖关系,尽管在许多情况下可以直接从源代码编译这些依赖关系。社区和利益相关方可能希望帮助维护,我们欢迎补丁贡献,尽管我们不能保证我们会接受它们。所有捐款都将根据对官方支持的平台产生不利影响的风险进行评估。

2.6. 不支持的平台

以下是目前已知BIND 9版本无法构建或运行的平台:

2.7. Installing BIND 9

Building BIND 9 包含如何构建BIND 9的完整说明。

ISC知识库包含许多关于在特定平台上安装BIND 9的有用文章。