在有意義和無意義的主機名之間進行選擇
假設環境具有由不同伺服器組成的 puppet 管理集群 - 各種硬體、軟體、作業系統、虛擬/專用等。
您會選擇有意義的主機名(mysqlmaster01..99、mysqlslave001..999、vpnprimary、vpnbackup 等)還是更喜歡無意義的主機名,例如書籍或電影中的角色?
我看到有意義的主機名的問題是名稱通常代表一個服務,如果伺服器有多個目的,它會變得非常混亂(特別是如果伺服器角色經常變化)。
不是將服務名稱映射到 IP 地址並維護 DNS 應該做的映射嗎?
這兩種方法的優點和缺點是什麼?您選擇的方法必須解決哪些實際問題?
曾幾何時,我有機會決定一個命名方案。因此,我四處詢問我的開發人員,畢竟誰是每天必須使用這些名稱的人,他們是否更喜歡功能名稱(即,以某種編碼形式表示機器的用途)或助記符名稱(即從一些預先存在的人類命名方案中提取的名稱,其中不包含有關機器用途的隱含內容)。
在 38 個開發者中,有 37 個首選的助記名稱;只有一個首選的功能名稱。所以我用河流來命名它們(有很多可能的名字,其中很多都很短,容易記住,而且打字很快)。
人腦設計得非常好,可以為名字賦予意義。如果您提供令人難忘的名稱,人們會很快記住這些名稱的用途並使用它們。如果您使用從一些常見背景中提取的名稱(例如河流、元素、星星、縣、飲料,您就會明白),它可以幫助人們在遇到公司主機名時立即辨識它;否則,諸如“所有電子郵件都以”之類的陳述
betelgeuse
可能會有些混亂)。相反,我的開發人員覺得他們在以前的工作中很難準確地記住是什麼
pr1ms001
。但我應該補充一點,我們在內部 DNS 中使用 CNAME 來提供功能名稱到助記符名稱的映射,所以如果你真的發現更容易記住 PR 站點第一個集群的主郵件伺服器是
pr1ms001
,那麼 DNS 會讓你知道那是目前orwell
。此外,這讓我們在每台機器上擁有許多功能名稱,因此只要您始終使用與您正在處理的功能相關的功能名稱,您就可以確定它pr1imap001
始終指向 IMAP 伺服器,即使我們移動了該功能從orwell
到rhine
。並且當hudson
死了,我們可以在不影響操作功能的情況下更改替換的名稱,這樣我們就不會有“你是說新的hudson
還是舊的hudson
?” 困惑。