瀏覽模式: 普通 | 列表

第一次去玩具反斗城

車車…車車…車車…除了車車,還是車車,亦晨自從有了第一部玩具車以後,就展現出男人的本色,愛死了車車玩具,只要是四個輪子的東西,都會愛不釋手。今天第一次帶他到玩具反斗城去,讓他大開眼戒,原來世界上有一個地方竟然放了那麼多玩不完的車車。只見亦晨的雙手不停的亂抓,恨不得把所有的玩具車都拆封,我則是緊抓著他,不讓他亂跑,深怕他還沒買就拆了人家所有的玩具…

attachments/200711/0631361583.jpg

第一次上兒童安全座椅

2004 / 6 / 14

亦晨從小就很有個性,不爽做的事就是抵死不從,哭給你看! 於是在政府政策的強制實施兒童一定要坐安全座椅的時候,我們就開始頭皮發麻。因為前一陣子想帶他去買兒童座椅時,要抱亦晨去試坐一下,沒想到他的哭功讓全賣場的人都集中眼光到我們身上,還以為我們虐待兒童哩!

最後沒辦法,也沒有買成,但是警察會抓,我們又不能不開車,怎麼辦呢!! 於是馬麻管不了那麼多了,直接上網選了一張價格中等,顏色鮮艷的安全坐椅,等寄來的時候,直接就安裝在車子後座! 等下次開車的時候,再把亦晨強拉上車好了…

嘿嘿… 怪事,過兩天,我們要出門的時候,把亦晨抱上車,沒想到亦晨的眼睛一亮,看到安全座椅的時候,很好奇的自己爬了上去,乖乖的坐好了,真是讓我們大吃一驚,原來的擔心都變成多餘的了…唉,真高興!!

也許是因為賣場的安全座椅不是擺在車子裏的關係吧,讓亦晨感覺有被綁住的壓力,放到車子裏以後,就不會了。看… 亦晨好開心的東張西望呢!



attachments/200711/8470136989.jpg

EMOS 整理

不要使用 RBL功能
--------------------------------------------------------------
vi /etc/postfix/main.cf

註解掉
# check_policy_service inet:127.0.0.1:10030
--------------------------------------------------------------
標籤: Linux

新增 yum 套件 4000多套

vi  /etc/yum.repos.d/CentOS-Base.repo

最後加上

[dag]
name=Dag RPM Repostory for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1
gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
[kbs-CentOS-Misc]
name=CentOS.karan.Org-EL$releasever-Stable
gpgkey=http://centos.karan.org/PRM-GPG-KEY-karan.org.txt
gpgcheck=1
enabled=1
baseurl=http://centos.karan.org/el$releasever/misc/stable/$basearch/RPMS/
標籤: Linux

/etc/passwd 檔超過1萬個 email 帳號無力~

本文講述一個E-Mail伺服器突然變慢後的觀察、分析、解決過程。(2002-10-22 08:44:27)

By 風過留楓

一切本來都是那樣的寧靜,所有的網路服務都在默默地工作著。然而近一段時間來,經常有人打電話反映一個相同的問題:在接收E-Mail時,伺服器端經常應答超時,從而無法正常收到 E-Mail,但如果過一會兒再收,則又可能正常接收到。大家對此表現出了很大的不滿。因此,我 們就迅速動手尋找問題的根源,以爭取儘快修復這個故障。

一、查閱基本資訊

首先我們翻看了歸檔資料,確定了E-Mail運行在一個配置爲PIII 500MHz,128M記憶體,20G硬 盤的工控機上,作業系統是Redhat Linux 6.5,使用Sendmail做爲E-Mail Server,並且採用系統的 passwd文件做爲Sendmail郵件用戶的認證文件。

根據網管日誌記載該郵件系統的用戶在這一段時間以來發展十分迅速,用戶數從1萬名增加 到了超過2萬名。

二、初步分析

通過上面資訊的瞭解,我們基本上確認速度變慢的主要的原因是用戶量的增長。因此,在 這此前提下進行了分析。

我們在Linux控制臺下,輸入以下命令查看系統的進程情況:

ps –auxw

我們發現,該命令列出了大量的發送郵件和POP進程。然後根據網管日誌的記錄,分別在低 峰、平均、高峰期間進行了並發用戶數的檢查,發現在高峰情,並發的用戶數已從原來的20個 用戶上升到了40個用戶。

到此爲止,我們得出了初步的結論:由於用戶的不斷增長,並發用戶也越來越多,使得機 器無法處理完這些並發請求,以致E-Mail伺服器對用戶回應過慢,甚至超時而無法使用。因此, 我們認爲解決這一故障的辦法就是升級機器。

三、深入分析

但是,我們突然間又注意到了40這個數位,我們覺得現在使用的E-Mail Server伺服器的性能 不應該無法處理40個用戶同時訪問的呀。我們隱隱感覺得前面的分析有一定有什麽地方疏忽 了,以至得到了一個並不正確的結果。

因此,我們便查看了另外一台配置相同,正在運行WEB服務的伺服器,我們發現該伺服器 在同時處理50個用戶訪問時,並沒有感到處理能力不足。

這時,我們開始進一步分析E-Mail服務的整個過程。首先用戶的郵件接收程式通過POP協定 與伺服器的POP模組進行通訊,並提供用戶名與密碼;接著E-Mail伺服器的POP模組要將用戶提 供的密碼進行加密;然後與系統文件/etc/passwd中的用戶密碼進行逐行匹配,並找出相應的用戶 名,再進行第二次匹配;如果匹配成功,校驗通過,否則就返回用戶名或密碼不正確。校驗通 過後,伺服器開始將屬於該用戶的郵件傳送給用戶的郵件接收程式。 這時,我們想到了,所有 的用戶連接都有一個共同的環節,那就是都要打開系統文件/etc/passwd,進行用戶的驗證,會不 會是因此帶來瓶頸問題呢?

我們就在Linux控制臺上輸入以下命令,查看使用/etc/passwd文件有多少個進程:

fuser /etc/passwd

這時,列出了很多POP進程,癥結總算找到了。原來是因爲系統文件/etc/passwd是一個文本 文件,在用戶名、密碼的匹配過程中,是採用逐行進行匹配,而我們的/etc/passwd文件有2萬多 行,因此最好的情況下是第一次匹配就成功,最壞的情況就是2萬多次後才匹配成功,因此平均 需要1萬次的匹配。該過程所消耗的時間足以使得電子郵件接收程式超時,而無法等到匹配結束。

四、解決方法

故障的根源找到了,解決方法也就自然簡單。因爲伺服器POP模組通過搜索密碼文件驗證一 個用戶的身份所需的時間很長,使得進程産生了積累,從而事實上加重了系統的負擔,即此時 正在使用郵件接收程式的用戶在長時間內仍保持連接狀態,而無法正常進行下一步的工作。所 以主要是解決方法就是將採用文件文件/etc/passwd的方法轉成資料庫形式。因此可以採用以下兩 種方法之一解決:

1)使用Linux的NIS系統,將系統的密碼文件/etc/passwd轉換成爲NIS的資訊庫。由於NIS採用 的是資料庫引擎,所以運行起來,便於查找,效率可以大大提高。

2)重新配置Sendmail,使其不採用系統文件/etc/passwd來進行用戶校驗,而是採用一個特定 的資料庫存儲,由於也是採用了資料庫引擎,所以運行起來,便於查詢,效率也可以大大提 高。

你還可以採用Postfix等內建資料庫支援的E-Mail系統來替換Sendmail,由於Postfix可以直接在 Sendmail基礎上實現資料的自動轉換,因些整個操作十分簡單。

五、解決效果

我們最後採用了Postfix替換Sendmail,將其用戶密碼列表轉換成爲資料庫模式,問題就迎刃 而解。現在我們仍然在使用這台機器,而且用戶已經增長到3萬個,高峰時期用戶的並發數也已 經從40個上升到60-70個,但現在系統還是有條不紊地進行著,運行良好。

六、體會

在這個簡單的例子中,我們深深地感受到在日常的系統管理工作中必須仔細地分析問題, 而不要輕易地將問題歸結於伺服器硬體能力上。

主要的辦法是:認真地、實事求是地檢查每個進程在做什麽;認真地研究服務的整個流 程,分析問題最可能發生的地方;然後設計相應的檢測工作,收集情況,對其論證。只有這樣 才能夠最終定位問題,並在此基礎上提出行之有效的解決方案,最終解決問題。

同時也從另一個側面告訴每一個網管人員,日常積極有效地記錄下網路的一些變動情況, 在故障出現的時候,這些資料能夠有效地爲問題分析提供資料依據。
標籤: Linux

找RPM的網址

以下列出帽客常去找RPM的網址:

http://rpmfind.net
http://rpm.pbone.net/
http://www.rpmseek.com/index.html
http://benjiweber.co.uk:8080/webpin/

Labels:


標籤: Linux

硬碟空間 90% 發信通知 root

1. 至/root/bin目錄下,新增一shell script的檔案,名為diskspace.sh,內容如下:
#!/bin/bash
df -h | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read output;
do
usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 )
partition=$(echo $output | awk '{ print $2 }' )
if [ $usep -ge 90 ]; then
echo "Running out of space "$partition $usep%" on $(hostname) as on $(date)" | mail -s "Alert: Almost out of disk space $usep%" root
fi
done

2. # chmod 755 diskspace.sh

3. # crontab -e
-> 10 5 * * * /root/bin/diskspace.sh

這個範例用了grep,awk與cut指令來實作,可以見得它們有多好用了 :)

參考來源: http://www.cyberciti.biz/tips/shell-script-to-watch-the-disk-space.html
標籤: Linux

Linux 可讀寫 ntfs 的方式

帽客家裡的大黑(IBM桌機)有兩顆HDD,一顆是安裝CentOS5另一顆是Windows XP PRO SP2,所以有時開到CentOS的工作環境而想讀寫NTFS磁區時,我記得我之前只解決了讀的問題,昨天上Google發現到現在連寫的問題也解決了,我真是後知後覺呀!

只要安裝好ntfs-3g與fuse後,並以下面的方法mount NTFS的磁區就可以work囉~

# mount /dev/hda7 /mnt/ntfs -t ntfs-3g
# vi /etc/fstab
->
/dev/hda7 /mnt/ntfs ntfs-3g defaults 0 0
官網:
ntfs-3g
標籤: Linux