2010年7月13日

[可能解法] Red Hat 4 開機時卡在啟動網路介面

上禮拜有台 IBM X3850 Server 硬碟掛掉 (跑 Red Hat 4),必須停機更換,沒想到重開機的時候會卡在「bringing up interface bond0 ...」的地方,造成每次重開機居然要花費將近 20 分鐘 (見鬼了,又不是 mainframe ...=.=),經過一番努力,終於發現一個可能的問題。

Linux 的網路相關設定檔案的存放位置在 /etc/sysconfig/network-scripts 目錄下,通常會看到 ifcfg-bond0 (bonding 介面)、ifcfg-eth0 (第一張網路卡)、ifcfg-eth1 (第二張網路卡) 等等,結果在這台 Server 上除了 ifcfg-eth0 以外,居然多了一個 ifcfg-etho (英文字母 o),檔案內容跟 ifcfg-eth0 完全一模一樣!結果我把 ifcfg-etho 檔案給移到另一個目錄下,再重開機後就恢復正常了!

後來為了重現這個問題,我在 Red Hat 5 上面故意用「cp ifcfg-eth0 ifcfg-etho」指令來產生一個多餘的檔案,再重新開機,結果!開機過程非常之順利 Orz  大概不用 5 秒鐘就略過有問題的 ifcfg-etho 設定檔,並且在螢幕上顯示「Usage ...」的警告文字 (用 runlevel 5 開機的話要自己點「詳細資訊...」按鈕才看的到),很容易猜到問題在哪裡。

於是我開始猜想是不是因為 Red Hat 4 比較**老實**,遇到有問題的設定檔還會一直執意要進行設定,retry N 次以後才會自動放棄?於是我又灌了一個 Red Hat 4 的 VM 來測試 (用 CD 灌的!相當復古!),結果即使我產生 ifcfg-ethxx、ifcfg-ethx99 等內容和 ifcfg-eth0 相同的亂七八糟設定檔,重開機還是不會卡住呀!Orz

雖然最後沒辦法完美的重現這個問題,但是本來就不應該有 ifcfg-etho 這種設定檔的,總之這種不應該出現的東西砍掉就對啦!

(最後只能猜測,Red Hat 在 Server 上的運作跟在一般的商用 NB / VM 模擬出來的環境還是會有差異,可能在 Server 上會有更嚴謹的程序,例如發現名稱錯誤的設定檔還是要盡力設法完成設定,不能直接忽略等等 ... 但這畢竟還是猜測,手上也沒有 Server 可以灌 Red Hat 4 來當測試機,所以真正的原因還是個謎 ... >"<)


另外補充-1:可惜 Blogger 介面不支援 Consolas 字型,不然要分辨數字0和英文字母o就方便多啦!(話說 Office 2007 好像有內建) Red Hat 開機到 runlevel 5 以後,在 GUI 介面下叫出的 terminal 也不容易分辨數字0和英文字母o,但是在 runlevel 3 下就看得很清楚了。

另外補充-2:如果有設定 NTP 校時,Red Hat 在開機的時候就會試圖跟 time server 溝通,此時若不接上網路線,可能也會因此卡住好幾分鐘。(類似 DNS 設定錯誤,會造成開機使啟動 sendmail 卡住好幾分鐘的狀況)

2 則留言:

坎尼 提到...

數字0和英文o看的出來啊....

Unknown 提到...

Thanks :D

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D