options rotate
我对 Ubuntu 16.04 LTS 上 /etc/resolv.conf 文件的行为有疑问。
DNS 和 Bind一书中写道:
旋转让您的解析器可以使用 resolv.conf 中的所有名称服务器,而不仅仅是第一个。只要解析器的第一个名称服务器运行正常,它就会为解析器的所有查询提供服务。除非该名称服务器变得非常繁忙或出现故障,否则您的解析器将永远不会查询 resolv.conf 中的第二个或第三个名称服务器。如果您想分散负载,您可以设置:
Run Code Online (Sandbox Code Playgroud)options rotate
让解析器的每个实例轮换其在 resolv.conf 中使用名称服务器的顺序。换句话说,解析器的实例仍然首先查询 resolv.conf 中的第一个名称服务器,但对于它查找的下一个域名,它首先查询第二个名称服务器,依此类推。
我发现上面的描述是矛盾的,或者至少不是很清楚。我有2种解读:
1 一旦options rotate
设置,解析器将尝试使用第一个名称服务器,除非第一个名称服务器已关闭。这意味着只要第一个服务器运行正常,查询就不会负载平衡到其余服务器;
2 一旦options rotate
设置,解析将尝试对所有服务器的查询进行负载平衡,即使第一个服务器运行状况良好。
那么,哪种解释才是事实呢?
谢谢。