Tommy 碎碎念

Tommy Wu's blog

將 heartbeat 換成 pacemaker+corosync
post by tommy @ 27 三月, 2012 20:48

我用 heartbeat 應該有好幾年了, 好像有 0.x 版開始就用到現在的 3.x 版. 記得剛開始的時候, 功能不多, 不過也沒什麼問題... 現在用的 3.x 版, 最近常常碰到 standby 的機器重新開機 (應該說 heartbeat 的程式停掉再跑), 讓原本正在運作的機器的 heartbeat 突然佔用所有的 CPU, 然後一堆 log 在 ha-log 或 ha-debug 裡頭, 接著... 原本應該正常運作的 heartbeat 就停了.

由於 heartbeat 的 maillist 中看到不少人有類似的情形, 不過... 看起來似乎沒有什麼解決方法. 由於次數越來越多, 所以就想把 heartbeat 換掉. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
xfsrestore: WARNING: corrupt extent header
post by tommy @ 14 二月, 2012 13:25

最近在還原 xfsdump 所做的備份時, 碰到幾次無法由原本的備份檔中把所有的檔案還原. 還原的過程會出現

xfsrestore: WARNING: corrupt extent header
xfsrestore: WARNING: unable to resync media file: some portion of dump

這樣的訊息. 在這訊息之後就會中斷還原 (不過最後還是回報成功). (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
e1000e Detected Hardware Unit Hang 問題
post by tommy @ 03 二月, 2012 10:08

這個問題好像也不是只有 e1000e 會出現, 我好像也有在 e1000 上頭看過. 不過... 在網路上頭看到別人出現這問題之後的結果, 那網卡似乎真的無法正常運作. 不過... 在我碰的案例中, 並沒有出現過網卡無法運作的問題, 都只是單純在 log 中出現這個錯誤訊息, 而該段時間的其他 log, 看起來並沒有任何連線或傳輸中段的情形出現. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Linux bonding
post by tommy @ 03 二月, 2012 09:08

過年前弄了三張 intel E1G42ET 回來, 趁著過年假期在家就試看看 teaming 的效果. 記得以前在 kernel 2.2/2.4 的年代, intel 的網卡是用自己的 iANS 軟體來在處理 teaming, 不過... 看起來該軟體很久沒更新了, 且在目前 intel 的 e1000/e1000e/igb 等 driver 中, 也說明 teaming 的功能在 driver 已經不存在, 要使用 linux 的 kernel 的 bonding 模組來處理. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
xfsdump 的 page allocation failure 問題
post by tommy @ 02 二月, 2012 22:00

最近在備份時發現常常出現類似下面的訊息:

/usr/sbin/xfsdump: WARNING: could not get list of non-root attributes for nondir ino 234123: Cannot allocate memory (12)

然後在 syslog 裡頭可以看到 kernel 有 page allocation failure 的錯誤訊息.

看起來是與這個問題類似. 通常在剛開機沒多久的時候都很正常, 但是運作久了之後, 就容易出現這個問題. 依據該討論串的說明, 應該是 kmalloc() 在運作一陣子之後, 可能會沒有那麼大的連續可用空間可以使用, 所以 xfs code 裡頭用到這個的時候會發生錯誤. (我沒有把這個 dump 還原來比較, 所以不確定是不是備份會不完整)

如果在發生這問題時, 改用 vmalloc() 再試一次, 應該就可以避免了.  (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
建立自己的 Debian APT repository
post by tommy @ 14 元月, 2012 12:52

由於 Debian Stable 版本除非非換新的版本才能修正安全性的問題, 否則, 是不會把所使用到的軟體的版本升級的. 這時... 就只能選擇使用 backports, 但是如果要用的東西沒在 backports 裡頭時, 就只能自己抓 Debian pool 裡頭的 source 回來自己重編. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
在 Debian Squeeze 的 snmp 只能用 OID 查資料?
post by tommy @ 12 元月, 2012 15:51

這問題自從很久之前 (都忘了是多久之前了) 升級到 Debian Squeeze 之後就碰到, 一直沒有處理, 當時只是直接把原本用到的東西轉成 OID 來查, 讓它可以正常使用後就一直沒去管它了. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
systemrescuecd 搭配 Grub2 開機時對網路卡的設定問題
post by tommy @ 03 元月, 2012 09:59

systemrescuecd 實在是一個好東西, 對於出問題的 Linux 來說, 有了這東西, 要修起來就變的方便許多. 一般的使用, 除了燒成光碟來使用外, 也可以放到 usb 隨身碟上頭使用.... 當然, 對於已經存在的系統來說, 更可以直接把 .iso 檔案丟到 /boot 或 / 下頭 (看你的 grub 能找到那一個), 讓 grub 直接載入該光碟來開機. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
disable IPv6 造成 squid3 無法使用 https 連線
post by tommy @ 12 七月, 2011 10:25

這兩天上 pchome 買東西時, 發現要結帳時會無法連線, 查了半天, 查不出有什麼問題, 後來不小心發現, 只要把 proxy 關閉就可以直接連線. 後來進一步測試, 發現所有的 https 連線, 只要透過家裡的 squid proxy 就會無法使用. 看起來像是 squid 所造成的問題. 看一下 squid 的 log, 發現有下面的訊息:

comm_open: socket failure: (97) Address family not supported by protocol

google 查了一下, 這個應該與 IPv6 有關.

上個月我把 IPv6 在 kernel 裡頭編譯成模組, 但因為還未打算使用, 所以並沒有任何的設定, 也沒有載入這個模組. 因為這樣, 反而造成 squid 無法使用 https.

目前的解決方法只有:

  1. 完全不使用 IPv6, 也就是 kernel 或 squid 本身不要加入 IPv6 的支援, 就不會有這個問題.
  2. 不要把 kernel 的 IPv6 關閉 (如 alias net-pf-10 off), 如果怕 IPv6 的異常連線, 可以先用 ip6tables 把預設的 policy 改成 drop.

我目前是先用第二種方式.

Del.icio.us Furl HEMiDEMi Technorati MyShare
在 linux 中安裝 Darwin Streaming Server 6.0.3
post by tommy @ 13 六月, 2011 14:30

雖然 Darwin Streaming Server 官方對於 Linux 的支援說法, 是建議使用 5.5.5 或更早以前的版本, 不過, 加上適當的 patch 之後, 要在 Linux 上頭使用 6.0.3 版本也是可以.

網路上可以找到在 unbuntu 上頭安裝的說明, 基本上照著這篇文章的步驟, 就可以讓 DSS 6.0.3 在 Debian 下正常的運作. 所以有需要的就照著做就可以了.

不過這個安裝的說明, 並沒有新增任何開機時執行的指令, 所以如果你需要每次開機時都自動去執行的話, 就自己寫一個 script 去執行  /usr/local/sbin/streamingadminserver.pl 就可以了.

我自己是用下面這個 script 來處理:

#! /bin/sh
#
# dss darwin streaming server
#
 
NAME=dss
DESC="DSS"
 
set -e
 
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
/usr/local/sbin/streamingadminserver.pl
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME "
killall streamingadminserver.pl
killall DarwinStreamingServer
echo "."
;;
restart|force-reload)
$0 stop
sleep 1s
$0 start
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
 
exit 0

 

Del.icio.us Furl HEMiDEMi Technorati MyShare
放棄 VMWare Server, 改用 VirtualBox
post by tommy @ 14 五月, 2011 10:17

家裡的伺服器上頭都有裝上 VMWare Server 2.0, 主要就是跑一個 XP 的 VM, 用來讓我可以由遠端使用家裡那台 HP 3050z 的印表機, 除了每個月把小朋友學費轉帳的結果印出來外, 另一個主要的功能就是用來讓我傳真給 etrade (沒辦法, 公司配股是這家管的, 且我們公司不能由電腦直接傳真, 只能印出來再傳, 不過... etrade 轉帳指令要求附上護照影本, 每次印出來再傳都說不清楚, 只好透過家裡的機器直接傳真).  (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
在 Linux 中使用 3TB 的硬碟
post by tommy @ 03 五月, 2011 13:57

其實這似乎沒什麼好寫的, 因為相關的文章應該可以找到很多. 不過, 上星期我自己在裝上 3TB 的硬碟時, 有碰到一些小小的問題, 似乎沒有人提到, 所以就記錄下來. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
升級 udev 造成開機時找不到硬碟?
post by tommy @ 23 十一月, 2010 15:25

前不久把家裡一台 firewall 的機器由 Debian stable (Lenny) 升級到 testing (squeeze), 結果, 上個月回台灣時, 在準備出國的前一年重開機發現無法正常開機了. 不過... 要處理時, 發現 KVM 掛了, 畫面與鍵盤的運作都不正常, 當下並沒有時間處理, 就決定關機, 等這個月回台時再處理吧. (運氣不好, 這段時間碰到一次家裡的網路連不上.... 只剩一台 firewall, 所以沒辦法判斷是中華電信的問題還是我自己的 firewall 掛了, 造成幾天連不上, 後來網路報修, 還好是中華電信的問題, 他們那邊處理後就可以連線了) (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
使用 xtables-addons 取代 ipp2p 需要 patch 核心的動作
post by tommy @ 01 二月, 2009 22:45

由於 ipp2p 這個 netfilter 的模組已經很久沒有更新了, 所以每次更換核心時, 都必須透過 patch-o-matic-ng 來處理, 也就是每次都要去 patch 核心後再去編譯. 不過... patch-o-matic-ng 也是很久都沒異動了, 而且... 由 2008 年 11 月底時, 連 snapshot 的版本都不見了. 更麻煩的是... 這個 patch 核心的動作, 並不一定每次都可以正常的運作. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
mdadm 找不到 RAID 的時候, 該怎麼處理呢?
post by tommy @ 07 十二月, 2008 15:10

這星期把兩個硬碟弄成一個 RAID0 的設備, 用來備份另一台主機上頭的檔案. 原本就有使用 mdadm 來管理另一台主機的 RAID, 所以用起來並不會很困難, 跑一下 mdadm 的指令就產生新的 RAID 了. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Cisco VPN Client behind Netfilter
post by tommy @ 02 十月, 2008 09:52

最近公司的 VPN 改用 Cisco 的設備來處理, 所以目前都使用 Cisco VPN Client 來連線. 之前在公司的宿舍中, 使用 Linksys 的 Wireless Router 時, 發現無法正常使用, 結果居然是要把 Router 上頭的 VPN Passthrough 的功能關閉才能使用 (firmware 寫錯了嗎? 怎麼與我的認知剛好相反?). 而這星期回台灣後, 發現在家裡透過 Linux Netfilter 的 firewall 連線時, 可以登入, 但是登入後沒有任何的回應. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
系統時間跑的飛快?
post by tommy @ 03 九月, 2008 12:12

前幾天突然發現家裡的伺服器時間不對, 快了約半天左右. 因為上頭有跑 ntpd, 照理應該會自動對時, 機器也跑了一年, 之前的時間都很正常, 至少我可以確定在上星期的時候還是正常的. 試著把時間用 ntpdate 對時一次, 隔了不久, 發現時間又不對了, 仔細檢查一下, 發現每分鐘會快六秒, 有 10% 的誤差. 而用 hwclock 看一下 CMOS 上頭的時間, 並沒有相同的問題, 也就是硬體上頭的時間是正常的, 但是 Linux 所計算的時間會愈來愈快. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
MySPAM v0.0.5
post by tommy @ 06 八月, 2008 13:48

MySPAM v0.0.5 推出. 其實也沒改到什麼, 這些修正好像都至少有半年了. 與前一版本的差異如下:

  • + 新增對同一主機多網域帳號的支援. 登入時請使用 user@domain 的方式登入即可.
  • ! 檢查信件第一行是否為 'From xxx@xxx.xxx.xx' 這個非 header 的內容 (某些 postfix 有這行?), 如有就略過.
  • ! 如果沒有 SIZE 環境變數, 就自行計算信件大小.
程式可以由這兒抓取: http://www.teatime.com.tw/~tommy/myspam/myspam-0.0.5.tgz
或由這兒抓取最後一個版本: http://www.teatime.com.tw/~tommy/myspam/myspam.tgz
0.0.4a to 0.0.5 的 patch: http://www.teatime.com.tw/~tommy/myspam/myspam_004a_to_005.patch  
Del.icio.us Furl HEMiDEMi Technorati MyShare
MyTV 0.0.2
post by tommy @ 03 八月, 2008 18:18

更新 MyTV 為 0.0.2 版. 修正如下:

  • 加入 check_session.sh, 把超過一段時間沒有連線的 producer 結束運作
  • 加入預約錄影的功能

主要就是加上預約錄影的功能. 並可以直接用 web 介面抓取或刪除錄影的檔案.

可以由這兒抓取: http://www.teatime.com.tw/~tommy/files/mytv-0.0.2.7z

Del.icio.us Furl HEMiDEMi Technorati MyShare
TortoisePlink 出現 Unable to write to Standard output 錯誤
post by tommy @ 03 八月, 2008 17:59

這幾天在家裡的伺服器弄了 subversion 上去, 要把目前 laptop 上頭一些程式放到上頭去. 結果, 每次一執行 TortoiseSVN 要連線時, 就會出現一個 TortoisePlink 的 Unable to write to Standard output 的錯誤訊息. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
奇怪的 2.6.26 saa7134 驅動程式, tuner 參數無作用?
post by tommy @ 21 七月, 2008 19:20

上星期回台時, 順便更新了機器用的 kernel 到 2.6.26, 結果, 今天要出國前, 特地試了一下上頭的網路電視有沒有問題, 結果... 發現看到的就像斷訊一般的畫面與雜音. 原本以為是第四台的線沒接好, 結果, 交換測試了一下, 發現不管那一條線, 只要接到主機上頭的 Compro VideoMate M355 的卡上, 就是看不到電視的內容. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Compro M355 在 Linux 的設定
post by tommy @ 10 四月, 2008 15:58

上個月弄了張 Compro M355 來裝在家裡的一台 Linux 主機使用, 不過這張卡雖然仍使用 SAA7134 的晶片, 不過 tuner 與我之前使用的 M300 並不相同, 如果直接載入 saa7134 這個模組, 使用自動偵測的方式, 會得到與 M300 相同的 card 與 tuner 型號, 結果... 當然就是看不到畫面了. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
MyTV 0.0.1
post by tommy @ 04 三月, 2008 09:54

幾年前, 自從出國工作後, 就在家裡的機器上, 裝上一張電視卡, 然後利用 Helix 的程式, 讓我可以在國外連線回去看國內的電視節目 (請參考這篇). 雖然運作都很正常, 不過... 每次要打開或關閉或切換頻道時, 總要用 ssh 連回去主機操作, 說實在, 也不怎麼方便. 尤其是這一兩年來, 有許多類似的產品出現, 都可以利用 web 介面來操作. 所以.... 決定動手寫個介面來用, 就這樣, MyTV 就這麼產生了. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Linux Kernel 2.6 Local Root Exploit
post by tommy @ 28 二月, 2008 22:18
如果你是使用 Linux kernel 2.6.17 到 2.6.24.1 之間的版本, 請更新你的 kernel 吧, 否則只要你的使用者有登入系統並執行程式的權限, 就可以取得你的 root 權限了. 請參考這篇的程式. 更新到 2.6.24.2 或之後的版本可以避免這個問題.
Del.icio.us Furl HEMiDEMi Technorati MyShare
Dialogic 在 Linux 上使用 ISDN 的設定
post by tommy @ 02 二月, 2008 16:26

上一篇文章提到了一些在 Dialogic 上頭使用 ISDN 要注意的事項. 不過原本用來測試的平台是用 Windows, 最近系統要上線使用前, 為了方便起見, 我們還是決定轉到 Linux 上頭使用. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Bad Behavior 已經阻擋了 68 個過去 7 天試圖闖關的垃圾迴響與引用。
Power by LifeType. Template design by JamesHuang. Valid XHTML and CSS