保持 Linux 伺服器主機名一致的最佳方法是什麼?
我們有一台裝有 Linux 的 CentOS 發行版的伺服器。自從我們上次重新啟動以來,它不知何故在這個月失去了主機名。我們上週執行了一個 ETL(提取、轉換、載入)作業,該過程的一部分在將數據移動到我們的數據庫之前停止了 JBoss,然後自動重新啟動 JBoss。重新啟動失敗。
我使用這種方法解決了(用hack):
上個月我們沒有對伺服器進行任何更改(對任何文件),所以我知道 /etc/hosts 不會更改。我在 /etc/hosts 文件中添加了額外的行(在上面的答案中),以便 JBoss 可以啟動。
兩個問題:
根據這個問題,“hostname -f”命令如何從 DNS 中檢索主機名?它在我們的 DNS 上檢查什麼?我應該使用一個術語來與我們的伺服器團隊溝通嗎?
大多數伺服器管理員如何處理這個問題,或者避免發生在我身上的事情?他們是否總是在 /etc/hosts 文件中設置某些內容以避免更改 DNS?
基本上,我試圖找出導致我們的主機名失去的網路(或 DNS)發生了什麼變化。看,當我登錄時,命令提示符會顯示伺服器上的主機名。我在那裡看到它很奇怪,但當我呼叫“hostname -f”時卻沒有。請參閱下面的“lvs-xyz”。
[root@lvs-xyz ~]# hostname -f hostname: Unknown host
如果你不能回答我所有的問題,我主要是在尋找“規範”是什麼,以避免失去 Linux 管理的主機名。如果我把它放到 /etc/hosts 中,那麼它看起來像是一個 hack,因為如果核心值發生變化,命令提示符可能會發生變化,如果發生這種情況,它將與 /etc/hosts 不同。
編輯:
[root@lvs-xyz sysconfig]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes BOOTPROTO=none NETWORK=144.92.154.0 IPADDR=144.92.154.48 NETMASK=255.255.255.192
/etc/sysconfig/network
您可以在一行中指定它(無論如何在重新啟動時載入) (請參閱此處HOSTNAME=
的文件)通常,您應該在此處將其指定為完全限定名稱。
如果主機還沒有名稱,而您使用的是 DHCP,它通常會以這種方式獲取其名稱。