BIND:无需停机即可将区域从 named.conf 迁移到 rndc addzone?

BIND:无需停机即可将区域从 named.conf 迁移到 rndc addzone?

有两种方法可以告诉 bind9 加载哪些区域:列出它们named.conf(或其中包含的文件),并使用等方式管理它们rndc addzonerndc delzone

如果我想从第一个选项转到第二个选项,有什么方法可以做到这一点而无需任何停机时间?

如果我从中删除一个区域named.conf,我必须先重新加载配置才能运行rndc addzone <zone>;但这样,区域就会在重新加载和 rndrndc addzone命令之间消失。

(对于一个区域来说这还不算太糟糕,但我想迁移几千个区域)。

如果重要的话,我使用 bind9 版本 9.11.5。

答案1

我不知道是否有提供任何工具来实现这一点,但我对方法的建议是:

  • 决定什么是真正可以接受的(我将遵循“对于一个区域来说不会太糟糕”的建议,最短的停机时间可能没问题,而不是严格的“无停机时间”要求)
  • 克隆环境,以便您可以测试此特定的迁移场景
  • 编写一个脚本,从配置中枚举区域名称和区域定义的主体(这是您想要提供的两个主要内容rndc addzone
  • 运行它,并确保它能正常工作。我假设您需要处于以下状态:命名正在运行,旧区域定义未加载但在脚本文件中可用(如果这些定义与某些特定包含文件隔离,则很容易)
  • 确定停机时间是否足够快,可以接受。如果不行,请考虑采用“电视厨师风格”的方法,即准备好结果输出,然后在停机期间在旧文件和新文件之间进行“印第安纳琼斯风格”的交换。

相关内容