系統上如有服務更改它原先預設的Port為其它Port 記得要將/etc/services所對應的port也一並更改

此次由於 公司內部 已存在多組heartbeat的架構,而每組heartbeat的架構所用的通訊port也不一樣。設定上並無太大的不同,僅僅只有對應port號的區別罷了。

分別是用了udp: 694,6940,6941 這三組port號

當我們在設定heartbeat時,通常會記得修改ha.cf 中port為我們所指定的port號,但是往往忘記,同時去修改/etc/services 服務與port號的映對檔,造成服務開啟時仍是依照預設的port號來開啟服務。

我們可以netstat -uln來查看是否我們系統上是否有開啟我們所指定的port號
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 0.0.0.0:53579 0.0.0.0:*
udp 0 0 0.0.0.0:111 0.0.0.0:*
udp 0 0 10.16.0.5:123 0.0.0.0:*
udp 0 0 192.168.0.12:123 0.0.0.0:*
udp 0 0 127.0.0.1:123 0.0.0.0:*
udp 0 0 0.0.0.0:123 0.0.0.0:*
udp 0 0 0.0.0.0:44175 0.0.0.0:*
udp 0 0 0.0.0.0:6941 0.0.0.0:*
udp 0 0 0.0.0.0:161 0.0.0.0:*
udp 0 0 0.0.0.0:162 0.0.0.0:*
udp 0 0 0.0.0.0:936 0.0.0.0:*
udp 0 0 fe80::21b:21ff:fe6e:123 :::*
udp 0 0 fe80::214:c2ff:fe44:123 :::*
udp 0 0 ::1:123 :::*
udp 0 0 :::123 :::*

如果忘記修改/etc/services這檔案,我們查詢到的port號就是預設的694

而後所帶來的後果就是別組的heartbeat會在記錄檔上一直出現警告或是錯誤訊息
使用cl_stauts工具查詢節點資訊時,也會不正常
cl_status[21283]: 2011/04/13_10:30:23 ERROR: Cannot signon with heartbeat
cl_status[21283]: 2011/04/13_10:30:23 ERROR: REASON: hb_api_signon: Can’t initiate connection to heartbeat

所以我們要特別注意這個地方,不要在忘了同時去修改 /etc/services

如果已經發生這樣的情形,也不用慌張。

只要將/etc/services修改正確,之後將系統重新開機,就能恢復正常狀況。

這個/etc/servers修改不只是 heartbeat會發生,可能也會發生在別的服務上。

因此特別將此記錄下來,防止自已一時健忘又發作了。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s