我正在考虑根据服务器提供的服务(如 http、https、smtp、pop、dns、sql 等)为服务器设置主机名约定。每个服务都在 Xen 主机服务器 (dom0) 上的自己的虚拟机上,该服务器有多个 Xen 主机服务器 (10+)。我已阅读了 Sun 的 Mark Garner 撰写的《数据中心命名方案》和 RFC 1178,也进行了一些 Google 搜索,但这些搜索似乎都集中在拥有许多只执行少数服务的服务器,例如更大的数据库服务器集群 (10+)、大型 Web 服务器集群、大型邮件服务器集群等。在我的情形下,我们正在使用一个小型虚拟服务器集群 (2-4) 来提供大量服务 (12+)。在这方面,我不喜欢为每个服务设置不同的主机名主题,例如所有邮件服务器都以鸟的名字命名,所有数据库服务器都以树的名字命名,等等,因为我认为主机很少但服务却很多,这会造成混淆。我想知道是否有人对在这样的环境中定义主机名有好的想法。谢谢。
答案1
由于每个服务器有多个服务,我建议根据您喜欢的主题为您的机器指定一些主机名,然后使用“服务名称”。
例如,主机巴特可能有服务名称www1,imap1和FTP1 复制代码。
将这些服务名称添加到 DNS,然后(根据您的偏好和对复杂性的要求)执行以下操作之一:
- 在 DNS 中创建 CNAME,将服务名称指向相应的主机名
- 为其他 IP 地址创建 A 记录并将这些 IP 地址分配给您的主机
现在,确保使用服务名称 (www1),而不是主机名。
答案2
答案3
http###、sql###、dns### 等有什么问题?
当无法轻易描述各个虚拟机所执行的操作之间的区别时,命名约定非常有用,但如果每个虚拟机都运行单独的服务,则最清楚的方法是按该服务来命名它们。
答案4
我目前工作的地方的命名方案如下:
|服务器角色||域或所有者||站点代码||序列号||额外修饰符|
这可以转换为如下名称:dnsenet0b1ab
- 服务器角色:记录的服务器类型。示例中为 DNS(DNS=DNS、DC=域控制器、FNP=文件和打印等)
- 域或所有者:在 Unix 系统中,通常是域名或所有者。在此示例中,enet =“外部网络”域。
- 站点代码:对应于我们网络上某个位置的三位数代码。在此示例中为“0b1”
- 序列号:如果你部署了 3 台服务器,那么第一台是 aa,第二台是 ab,第三台是 ac,以此类推。如果更换了一大组服务器,有时它们会交替使用 zz、zy、zx 等,以便于识别新服务器
- 额外修饰符:通常用于表示 dev/qa/testing 环境。
命名的关键是一致性。无论您使用哪种命名方案,只要它能够传达您需要的信息并严格执行,您就会发现一致、信息丰富的命名将加快项目进度,并使大型安装基础的管理更加容易。
这个系统可能看起来有点吓人,但一旦你习惯了它,它真的很棒,而且输入和谈论起来也相当容易。一眼就能确定服务器的类型、位置等。你可以轻松地扩展它以包含对你来说更重要的其他信息。
对于需要客户端访问的事物,我认为最好使用不绑定到服务器的服务描述性 CNAME 记录来补充。将您的邮件服务器设置为 mail.example.com,将 http 服务器设置为 intranet.example.com,等等。
您提到服务器共享角色。如果您发现服务之间存在亲和力,请创建一个“服务器类”。许多地方将 SMS/SCCM、打印队列和 AV 放在文件服务器上...称之为“主机管理服务器 (hms)”或其他名称。