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 卡住好幾分鐘的狀況)

2010年7月12日

AWStats 重新分析特定時段 log 的方法

最近手上維護的 AWStats 網站出了一點問題,連續幾天的分析報表一片空白,因此花點時間研究了如何讓 AWStats 重新分析特定時段 log 的方法。

我主要參考的是:Neo's Blog - awstats 加入/重新計算分析某時段的方法,但是一開始嘗試多次都沒有成功。

最後我發現,若目前系統時間是 2010-07,則存放統計資料的資料夾中會出現 awstats062010.yoursite.txt & awstats072010.yoursite.txt (要知道 AWStats 產出的統計資料檔放在哪個目錄,請參考 AWStats config 檔中的 DirData 參數),

此時若欲重新分析 2010-06 的資料,必須先把 awstats072010.yoursite.txt 檔案移到 DirData 之外,否則將 Neo's Blog - awstats 加入/重新計算分析某時段的方法 一文中所說的第 4 步執行完畢後,雖然可正確看到 AWStats 的 output ( Found XXX new qualified records ... 等等),但 awstats062010.yoursite.txt 檔案還是不會被更新!

會注意到這個問題,是因為我改完  awstats062010.yoursite.txt 中的 LastLine、LastTime、LastUpdated 的值以後,跑完 awstats.pl 之後只有 awstats072010.yoursite.txt 檔案的最後更新時間有改變,看來 awstats.pl 根本沒有去讀 awstats062010.yoursite.txt 這個檔案!

在第 3 步和第 4 步之間加入「把當月的統計資料檔移出 DirData 目錄」這個動作,並執行完第 4 步的重新分析後,要記得把當月的統計資料檔 (awstats072010.yoursite.txt) 搬回 DirData 目錄,否則當月的統計報表會變成一片空白哦~


同場加映:Hourly, daily, (and yearly?) reporting period support debuts,daily report 的實作蠻簡單的,下一步是思考如何製作 weekly report。

2010年7月5日

HP-UX 的 ntp client 設定方式

前陣子測試在 HP-UX 上設定 ntp client 成功了,步驟如下(參考關於HP-UX「ntpq:read:can't assign requested address」問題):

  1. 採用root 身份登入
  2. 編輯設定檔netdaemons(# vi /etc/rc.config.d/netdaemons),將 XNTPD 設定為 1
    export XNTPD=1
  3. 編輯設定檔 ntp.conf (# vi  /etc/ntp.conf,要以chmod調整檔案權限),加入下列兩行server 10.xx.xx.xx  #  Primary Time Server
    server 10.yy.yy.yy  #  Secondary Time Server
  4. 啟動 NTP 服務.(# /sbin/init.d/xntpd start)(可下 ps -ef | grep ntp 來驗證 ntp process 是否有在運作)
  5. 檢查是否正常運作(約10分後) (# /usr/sbin/ntpq -p)
若有出現 “*” 於某列前,表示 ntp 服務正常運作,否則 ntp 服務即無正常運作。

一開始參考的是 HP 官網的線上說明文件:Chapter 4 Configuring NTP,在 Getting Started with NTP 章節中,要特別注意的是不要設定 /etc/rc.config.d/netdaemons 中的 NTPDATE_SERVER 參數!

NTPDATE_SERVER 參數設下去之後 ntp client 就不work了,執行 ntpq -p 指令會發生以下錯誤:

[myServer]:/etc#ntpq -p
No association ID's returned


參考資料:
  1. 鳥哥的 Linux 私房菜 - NTP 時間伺服器
  2. 台大網際網路時間伺服器說明
  3. HP Online Documentation: Chapter 4 Configuring NTP

[心得] 參加中央氣象局局慶心得

昨天坎尼和 Tim 中午相約吃完飯,想說來去參加一下氣象局局慶活動
其實兩人是對傳說中的地球展示系統(Science On a Sphere)有興趣!
20100704983
但到了現場才發現,好多蘿利和正太小弟弟小妹妹跑來跑去啊~
展示系統又需要排隊,demo 其實已經進行一半了,兩人就跑去亂晃

接著坎尼發現可以在樓下偷偷拍照…
20100704982 

展示系統是以四個方位的投影機,投在圓球體上
控制器則是用 Wii Remote 做成
不過到這邊坎尼心想,都用 Wii Remote 了
怎麼在指出地點的時候,另一手還拿出雷射筆哩…

20100704985

以展示來講,目前的系統已經 ok 了
有靜態投影片加上互動的感覺
(但所謂的互動,也就僅止於轉轉地球…)
20100704988 

但在應用上,坎尼覺得氣象局可以結合即時訊息
把即時的天氣雲圖、氣溫、雨量、地震等資訊,投到畫面上去
Wii Remote 也可以增加一些點選事件,和即時訊息互動等功能

今天 (7/5) 還有一天的展示,有興趣的朋友可以到氣象局逛逛
以下是熱心網友放在 Youtube 的系統 demo

最後要吐槽一下,坎尼和 Tim 在 B1 排隊排的很累
demo 完要散場才發現,其實可以從1樓直接進去…

然後兩個人還在交通部氣象局門口違反交通規則

Google Spreadsheet 裡用規則運算式

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