要维护许多服务器,你如何给你的服务器命名? 只有服务器的主机名,我想分类服务器的服务种类,不pipe是否虚拟机,阶段(alpha,beta,real),硬件规格等等。
有没有想法?
虽然我通常会去解决这个问题,但这个问题是我强烈的感觉,所以我会咬。
命名scheme通常可以分为两种:助记名称和function名称。
助记名称是从其他领域重新使用的名称; 魔戒人物也是stream行元素,我相信你也见过很多人物; 我自己喜欢河stream。 但是关于助记名称的一点是,它们都是来自人类努力的其他领域的经过考验的名字 ,并且没有embedded关于机器的隐含信息。 他们只是名字。
function名称是embedded机器某些function的名称,有时以简单的forms(solaris-database-5.example.com),有时以更不透明的forms(s10db01.example.com)。 在function名称中,只要名称不包含任何信息,只要它们不是助记符(s00345.example.com)。
根据我的经验,IT团队和经理喜欢function性的命名scheme。 但是最后一次我自己有权制定一个命名scheme,于是我就去问了那些最常使用这些名字的人们:日常开发者。
大约40位开发人员中, 除了一位外,他们都表示喜欢使用助记名称 。 有一个很好的名字让人类的大脑很容易记住,而且我们的devise很好,可以把关于function的笔记挂在这些名字上(史蒂夫·格雷格森住在隔壁,史蒂夫是个面包师,史蒂夫驾驶一辆路虎,史蒂夫借给我他的angular磨机)。 作为一个物种,我们不是很好的将类似的记忆结构挂在随机数上。
作为辅助scheme ,他们要求将function名称embedded到CNAMElogging中。 所以每个主机都有一个助记名字作为主名; 与底盘一起生与死; 当一个机箱被升级时,它的名字就不同了。 但function名称仍然可以被任何适合的人使用,并且因为它们是CNAME,所以许多人可以指向单个主机。
所以DBA会使用pr1db01.example.com; 邮件会使用pr1ms01.example.com; 应用程序人员将使用pr1je03.example.com。 但是,所有三个CNAME指向nile.example.com。 如果一个function移出,CNAME被重新命名。 如果尼罗河已升级,CNAME将指向一个不同的机箱。 但是当你login到主机时,无论是pr1db01还是pr1ms01,系统提示都说“尼罗河”。 当我发送一封电子邮件说尼罗河将在第二天从2300下降到0330时,每个人都会读到他们需要的名字,因为尼罗河是一个人类可用的名字,大脑很容易挂上内部logging。
这就是我的build议。 不要忘记,DNS是一个分层的命名空间; 如果需要,可以使用层次结构作为命名scheme的一部分,以简化它; sol1.dba.example.com可以是与sol1.mail.example.com不同的CNAME)。
可能有很多这样的组织。 我见过的大多数组织并没有将它们的function命名为服务器,但有些组织(有些只是任意地编号)。 服务器的位置经常被添加,但是我几乎从来没有见过任何人根据硬件规格来做。
用于创build服务器名称的任何数据组合都具有相同的缺点(特别是,信息会很长,您需要知道这些信息才能知道服务器的名称)。 但是,您可以使用某种types的代码,如服务名称的2-4个字符,虚拟的可选v,阶段的一个字符(通常使用的名称是dev,UAT和prod)以及一些代码硬件。 也许你可以命名一个生产域控制器dc1pvnv522us。 它可以被破译,我认为这是在传统的命名要求,但它是丑陋的。
我真的想不出有什么实际的硬件规格。 你可以使用型号,但这不适用于虚拟机,不会谈论你添加的任何东西。 我build议反对它。 通常,使用某种库存系统(可能是电子表格,也可能是资产跟踪软件)来详细pipe理这类数据。
我曾经看到过人们使用位置和数字资产代码(例如Vauxhall中的服务器号313的vax00313d,开发环境的一部分;服务器的规格将保存在其他地方),以及服务器的function,位置,环境,唯一性的数字是常见的(例如沃克斯豪尔的第一个生产DC的dc-vaxp1)。
使用任何你觉得整洁,但避免试图打包太多的信息到主机名。