Centos

保持 Linux 伺服器主機名一致的最佳方法是什麼?

  • December 10, 2015

我們有一台裝有 Linux 的 CentOS 發行版的伺服器。自從我們上次重新啟動以來,它不知何故在這個月失去了主機名。我們上週執行了一個 ETL(提取、轉換、載入)作業,該過程的一部分在將數據移動到我們的數據庫之前停止了 JBoss,然後自動重新啟動 JBoss。重新啟動失敗。

我使用這種方法解決了(用hack):

https://stackoverflow.com/questions/6484275/what-causes-the-error-java-net-unknownhostexception/34094741#34094741

上個月我們沒有對伺服器進行任何更改(對任何文件),所以我知道 /etc/hosts 不會更改。我在 /etc/hosts 文件中添加了額外的行(在上面的答案中),以便 JBoss 可以啟動。

兩個問題:

根據這個問題,“hostname -f”命令如何從 DNS 中檢索主機名?它在我們的 DNS 上檢查什麼?我應該使用一個術語來與我們的伺服器團隊溝通嗎?

hostname 在哪裡儲存我設置的主機名?

大多數伺服器管理員如何處理這個問題,或者避免發生在我身上的事情?他們是否總是在 /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,它通常會以這種方式獲取其名稱。

引用自:https://unix.stackexchange.com/questions/248616