Archive

‘Linux 進階操作技巧’ 分類過的Archive

Optimizing NFS Performance

2006年4月6日 尚無評論

最近剛好碰到一個實際大量運用 NFS 在分享檔案系統的案例,由於客戶端的 I/OServer 並沒有獨立出來,是和FrontServer混搭使用,連後帶著 40 台節點再進行檔案的分享。且客戶端的程式有個特性,會每隔 3~5 分鐘大量進行資料的輸出。在早期節點數量還在 16 台左右時,資料的寫入與分享都一切正常。但在擴充到 40 台節點時,卻發生資料常會無法正常寫入的動作,造成程式被終止。

目前判斷主要為 I/O Server 所提供的 NFS 服務負載過重導致服務的不完全,預設來說,NFSD 啟動時預設會有8個 RPCNFSDCOUNT,但看起來似乎不太夠的樣子,因此,我大致做了以下的調整來解決這類的問題:

  1. 修改RPCNFSDCOUNT的數目達至32~40個
    [root@hcserver root] # vi /etc/init.d/nfs 大約在35行左右,把RPCNFSDCOUNT=8改成RPCNFSDCOUNT=32,存檔,並重新啟動服務
  2. 修改掛載的參數,將timeo的時間拉長 mount -t nfs -o rw,bg,timeo=600,retrans=3,soft,intr,rsize=8192,wsize=8192 hcserver:/home /home

經過測試後,確實改善整體的存取問題,不過個人感覺還是將I/O Server獨立出來會比較適宜。

在 Linux 文字介面下透過 Proxy 連線

2006年3月28日 尚無評論

或許大家對於在GUI底下配置Proxy連線應該不陌生,但在文字介面下如果網路連線需要透過Proxy時該如何配置呢?

底下是簡單的配置方式:
[figaro@pengiun figaro]$ exporthttp_proxy=http://proxy.penguim.com:8080 [figaro@pengiun figaro]$export ftp_proxy=http://proxy.penguim.com:8080

Categories: Linux 進階操作技巧 Tags: ,

kernel 2.6 initrd.img 更改方式

2006年2月22日 尚無評論

這幾天再修正一些啟動核心中的 modules,發現 2.6 核心在這部份做了一些修正,底下是我的紀錄,有需要的朋友可以參考看看:

[root@hcserver tmp] # cp /boot/initrd-2.6.9-22.EL.img initrd.gz
[root@hcserver tmp] # gzip -d initrd.gz
[root@hcserver tmp] # mkdir initrd
[root@hcserver tmp] # cd initrd
[root@hcserver tmp] # cpio -i < /tmp/initrd

在2.4版核心的modules的載入表檔案是linuxrc,2.6核心改為init這個檔案,語法相同這部分我就不再說明了。

[root@hcserver tmp] # find . | cpio -c -o | gzip -9 > /tmp/newinitrd.img

Linux 下更改網卡的 MAC Address

2006年2月9日 尚無評論

首先我們可以透過 ifconfig 這個指令取得網路卡的MAC Address,當然這是每個網卡的基本身分辨識,但有時候碰到一些特殊的情況,我們會需要將MAC Address更改時,就可以透過下列的方式進行操作。

[root@figaro root]# ifdown eth0 先關閉網路介面
[root@figaro root]# ifconfig eth0 hw ether NEW_MAC_ADDRESS 給予網路介面新的MAC Address
[root@figaro root]# ifup eth0 重新啟動網路介面

這幾個步驟便可以將一個新的 MAC Address。

Categories: Linux 進階操作技巧 Tags:

IDE中斷介面上的偵測問題

2006年2月6日 尚無評論

今天在處理客戶的一個舊版的Linux系統中,碰到一個狀況,就是在IDE中斷介面上的偵測出現了一些錯誤訊息,雖然這些訊息只會延遲開機的時間只有幾秒,但看起來還是挺礙眼的。

hdc: IRQ probe failed (0xfffffff8)
> hdc: IRQ probe failed (0xfffffff8)
> hdc: no response (status = 0×0a), resetting drive
> hdc: IRQ probe failed (0xfffffff8)
> hdc: no response (status = 0×0a)
> hdd: IRQ probe failed (0xfffffff8)
> hdd: IRQ probe failed (0xfffffff8)
> hdd: no response (status = 0×0a), resetting drive
> hdd: IRQ probe failed (0xfffffff8)
> hdd: no response (status = 0×0a)
> ide0 at 0×1f0-0×1f7,0×3f6 on irq 14

解決方式如下:
在 grub 或是 lilo 的 kernel command line 那邊加上 hdc=noprobe hdd=noprobe 即可以解決這個問題,詳細的設定方式可以參考 /usr/src/kernel-source-/Documentation/ide.txt

Value too large for defined data type 錯誤訊息

2006年1月29日 尚無評論

在較舊的Linux發行套件中,由於系統上所使用的coreutils版本老舊的關係,對於較大檔案的顯示多少會有點問題,如果當你使用超過2G以 上的檔案於系統上,透過 ls 去檢視檔案時,即有可能會出現” Value too large for defined date type” 的錯誤訊息,這時候你可以手動更新 coreutils 的套件版本便可以解決此問題。更新的動作如下:

1. 前往http://www.gnu.org/software/coreutils/ 下載最新版的coreutils
2.  於系統上解開該檔案:
[root@figaro root]# tar zxvf coreutils-5.0.tar.gz
3. 編譯:
[root@figaro root]# cd coreutils-5.0
[root@figaro coreutils-5.0]# ./configure –prefix=/usr/local/coreutils
[root@figaro coreutils-5.0]# make ; make install
4. 重新測試,這時候” Value too large for defined date type”將不會再出現了。

Categories: Linux 進階操作技巧 Tags: ,

undefined reference to `__ctype_b`

2006年1月27日 尚無評論

當部分程式在引用新版glibc的函數時,常會碰到下列錯誤的訊息導致程式無法編譯成功:

undefined reference to `__ctype_b`

解決方式如下:

[user@hcserver user] #
alias gcc=’gcc-B/usr/lib/i386-redhat-linux7/lib -static-libgcc-L/usr/lib/i386-redhat-linux7/lib -I/usr/lib/i386-redhat-linux7/include’

在做 alias 動作前,必須先確認系統是否已經安裝了 compat-glic 這個套件。

Categories: Linux 進階操作技巧 Tags:

wxPython 2.6.2.1安裝心得

2006年1月27日 尚無評論

安裝了兩天的 wxPython 總算成功了,大致上整理了一下安裝的流程做個紀錄與說明,有需要的朋友可以參考看看。不過,在安裝的過程中建議不要進行其它的作業,不然會讓整體的安裝時間拖的很長。

系統平台:RedHat Linux 7.3 with AMD XP 1.6G
wxPython:http://www.wxpython.org

安裝方式:

 

  1. 請先確認系統已經安裝了Python 2.4以上的版本
  2. 從wxPython網站上下載最新的版本 Source Code
  3. 解壓縮與編譯程式:
    [root@hcserver tmp] # tar zxvf wxPython-src-2.6.2.1.tar.gz
    [root@hcserver tmp] # cd wxPython-src
    [root@hcserver wxPython-src] # ./configure –prefix=/opt/wx
    [root@hcserver wxPython-src] # make
    [root@hcserver wxPython-src] # make -C contrib/src/animate
    [root@hcserver wxPython-src] # make -C contrib/src/gizmos
    [root@hcserver wxPython-src] #make -C contrib/src/stc
    [root@hcserver wxPython-src] # make install
    [root@hcserver wxPython-src] # make -C contrib/src/animate install
    [root@hcserver wxPython-src] # make -C contrib/src/gizmos install
    [root@hcserver wxPython-src] # make -C contrib/src/stc install
    [root@hcserver wxPython-src] # cd wxPython
    [root@hcserver wxPython] # python setup.py WX_CONFIG=”/opt/wx/bin/wx-config –no-rpaht” build_exe build install
  4. 完工

Error:You may also check that you have the correct GPG keys installed

2006年1月9日 尚無評論

由於開發上需要 perl-Digest-HMAC 的套件,又懶的到網路上去找 Source Code 編譯,因此,透過 YUM 進行套件的更新與安裝,我的開發環境使用的作業系統是CentOS 3.6 版。操作方式如下:

閱讀全文…

Categories: Linux 進階操作技巧 Tags: