2008年9月26日 星期五

事情很多卻很好玩的ㄧ週

明明就累的半死.... 可是卻是在作自己歡做的事,果然恢復很快...

今天ㄧ早起來繼續跟螞蟻搏鬥,牠們自從被我封起之後開始吵著搬家...

結果.....
牠們開始抱蛋搬家!!!冰箱也被牠門佔領了,竟然是從電源孔爬出來耶,等等回家不知道是什麼光景,牠們根本是呂布的分身吧,佔領到連冷凍庫都有被凍死的螞蟻。

話說每次網路購物完收到貨品都會把箱子收集起來(我可是為了退貨方便!!!雖然從來沒退過貨)然後放很久,就變成大型垃圾,可是箱子乾乾淨淨看起來就很有用途阿,直接丟掉不是很可惜嗎???

所以今天部門訂來的零件,拆完之後還在猶豫要不要丟掉箱子,反正這東西應該不會退了,馬上下定決心丟到回收室...

結果等我花了一番功夫把它裝好之後,去找老大,老大竟然說要退貨  囧!!!  靠腰~還好在回收室拿回來就好?

故事才沒那麼簡單 囧!!!,回收室早就被掃地阿姨清掉了,動作有沒有這麼快阿!!!阿姨!!!

第一次馬上丟箱子就出包,結果跑上跑下才在垃圾箱翻回箱子,不然就爆了....

週末到啦~~

來去辦妥TF老大交代的事順便聚餐....

2008年9月24日 星期三

第一次大半夜在公司加班

本來以為今天可以很快樂的在公司上班完然後部門聚餐就快快樂樂抱著肚子回家.....

但是上帝絕對不會這麼快樂就解決我 囧!!!!
今天是部門聚餐
去吃那竹北樂燒碳烤
http://www.happyfire.htm.tw/

我ㄧ直覺的為什麼燒烤店的服務生都很可愛,而且東西也都超好吃,真是太奇怪了!!!

隔壁就是出一張嘴,兩間品質差不多,而且飲料食物都是單點吃到飽,肉很棒、哈肯打死也不賴、沙瓦真是太好喝了,喔對RD奮鬥日記不應該出現這麼歡樂的紀錄 T__T,這是食記!!!(飽)

對~~~現在我還在公司加班,雖然說是加班可是卻完全沒痛苦感,囧? 這就是傳說中的人窮命賤,操死不賠嗎? 隔壁有好兄弟安德魯也在其實就好很多了XD。

實在太累了~~今天就不寫了明天再整理筆記


2008年9月22日 星期一

iscsi - clinet

iscsi - 使用低廉的gabit Ethernet即可實現"網路儲存"的協定

還是再度推薦ㄧ下 aptitude 好用到靠北的套件,當然你要apt-install 也沒什麼不可以@__@
用這套裝ㄧ裝 open iscsi

官網
http://www.open-iscsi.org/
有原始碼

又到了黛比恩跟別不一樣的時候了(至少跟嗚邦兔一樣 = =+)

裝好之後
先編輯/etc/initiatorname.iscsi
(本來沒有這個檔)
PS. 有些版本的linux 是放在/etc/iscsi/initiatorname.iscsi

加入這行
InitiatorName=XXX.XXX.XXX.microsoft:cvs4
就看那個名稱怎麼定的

然後
/etc/init.d/open-iscsi stop
/etc/init.d/open-iscsi start

再來要discover ㄧ下看看有沒有
iscsiadm -m discovery -t sendtargets -p $IP:$PORT

有的話就可以login

ex: iscsiadm --mode node --targetname discovery看到的名稱 --portal ip:port --login

logout 就
iscsiadm --mode node --targetname discovery看到的名稱 --portal ip:port --logout

如果login 成功就會看到
fdisk -l 有新的dev/sdb1 什麼之類的

PS. port 預設都是3260 可以不打

2008年9月19日 星期五

今天可能是很特別的日子

我的身體告訴我....今天八成是很重要很特別的日子... 昨天九點多身體自動關機睡到早上七點半自動起床、也沒做到不乾淨的夢(每次都很乾淨好咩)、打開電視就看到BY2、還買了早餐到公司,而且連門口那隻邪惡的悶聲狗都沒有咬我!!!

這是奇怪的徵兆阿!!!!難道是.....
不過我醒過來之後就知道了.... 忘記禮拜四跟為啥今天失常了

今天在等GUI co-work改好之後我才能繼續動工,所以先來整理那兩個pretrace跟kmtrace

玩著玩著突然發覺麗娜絲的好男人(man)實在超級貼心的!!!
有空一定也要來自己做個好男人(會宅死)
man 要先分類 [ ex: bejo(9) ]

  1. 使用者命令(User command)
  2. 系統程式(System call)
  3. 程式庫程序(Library function)
  4. 設備檔案(Device file)
  5. 檔案用途描述
  6. 遊戲說明
  7. 雜項(Miscellaneous)
  8. 系統管理工具(只有root才能使用)
  9. Linux核心程序
man 內容要也分類 [ ex: 有些人就是心人厚(就是又胖又宅啦) ]

  • NAME

    這是man page必須包含的部分,你必須以該指令/程序名稱作開頭,若您的man page如fscanf一般是一系列的指令,您可以使用「,」號分開,然後加入「-」(dash)號,最後填上指令/程序的簡短描述。

  • SYNOPSIS

    您可以在這部分裡填上指令所需要的header file、函數原型(prototype)及傳回類型。

亂七八糟的,下次在整理起來順便練習再寫成達Q門吧。

喔~今天還有兩件很事,一個很重要!!!,一個只有很"重",很重的事就是KRR、小Z、太極、TACO要來參加STW 聖火隊的遠征,有ㄧ個很重XD

小灰(某人名字幫愛駒取的超好名~真好XD)又要辛苦妳了,今天晚上不知道要怎麼塞他們進房間,千萬不要被房東路人看到,不然又要說我都帶男生回家,而且還一口氣帶四個<==我真的不是GAY!!!

--
KDE (K Desktop Environment) 跟 GNOME ㄧ樣都是桌面環境系統。
Kmtrace 應該跟 mtrace ㄧ樣吧= =?

今天下午跑去咖啡廳吃點心聊天,吃到一半才發現要開會 =口=!!!
開完會都六點可以下班囉YA~

喔什麼很重要的事喔?啥?我沒聽到~~~

週末開始囉!!!




Debug tools - kmtrace

KMtrace is a KDE tool to assist with malloc debugging using glibc's "mtrace" functionality.

Doc:
http://www.gnu.org/software/libc/manual/html_node/Allocation-Debugging.html
http://ace.acadiau.ca/math/ACMMaC/howtos/mtrace.html

kmtrace 的用法跟mtrace 雷同,阿這樣子幹麻還要有kmtrace ~"~???

用法類似mtrace

所以要檢查的.c
增加

#include <ktrace.h>
(事實上我在debian 要用<kde/ktrace.h> 唉...)

檢查起點
ktrace();

終點
kuntrace();

然後再Makefile.am 加上
kicker_LDADD = kicker.la /usr/lib/kmtrace/libktrace_s.a

(以上沒成功過 囧!!!)
應該要去找一個KDE app 來try

要跑的時候就用
MALLOC_TRACE=./ktrace.out ./app.o

---------------------------

另外一個簡單的方法不用加code

MALLOC_TRACE=./ktrace.out LD_PRELOAD=/usr/lib/kmtrace/libktrace.so ./app.o

就會產出ktrace.out

--

讀取out檔
ex:
kmtrace ktrace.out

2008年9月18日 星期四

Debug tools - pretrace

packet link: http://dev.inversepath.com/trac/pretrace echo

libpretrace is a preload library that allows specified (dynamically linked) applications to always be executed under a debugging environment. To start using pretrace, add libpretrace.so to your /etc/ld.so.preload.



#make
#make install 會被安裝到/usr/local/ (debian 的關係嗎?)

所以本來一開始要
# echo /lib/libpretrace.so >> /etc/ld.so.preload
改成
#echo /usr/local/lib/libpretrace.so >> /etc/ld.so.preload


再來是把pretrace.conf.example copy 到
/etc/pretrace.conf

執行
#ptgenmap
吃進去conf產生機器可以閱讀的map檔
--
這邊還要問候他X的老師ㄧ下 (翻桌)
make install 的時候並沒有把libpretrace.so copy 到/lib
只有拷貝到/usr/local/lib
所以要手動自己來
#cp libpretrace.so /lib
不然執行ptgenmap會看到
ptgenmap: error while loading shared libraries: libpretrace.so: cannot open shared object file: No such file or directory

--

pretrace.conf 範例裡有拿ls 當範本
會把ls 呼叫用strace debug 並且把log檔案放到
/home/使用者/ls.logfile

注意這個目錄是可以放喔。

PS. 我還是不覺得這工具跟直接呼叫strace 然後 > file
有多大差異 ~"~,在研究看看。


用途:
1.可以在開機的流程(尚未login)當中把strace紀錄就log起來,增加debug彈性。

PPPoe - by rp-pppoe (clinet)

想要讓linux 可以撥上pppoe 推薦使用這個套件
rp-pppoe
link: http://www.roaringpenguin.com/products/pppoe

在debian 上用aptitude套件管理程式裝就可以了 <=強烈推薦。
(好用到要命,因為考試都ㄧ百分人也變帥變高了!!!)

喔對~
pppoeconf
ㄧ定也順便裝ㄧ裝,這樣可以使用"使用者友善模式" (屁XD)

  • pppoe主體目錄

/etc/ppp/

  • 動作
--
先執行
pppoeconf
進入對話模式會產生需要的設定
他會製造出
/etc/ppp/peers/dsl-provider
/etc/ppp/peers/provider

--

撥號
#pppd call dsl-provider

斷線
#poff
如果有很多個 pppd執行
#poff -a
砍掉全部

--
  • 檔案說明
/etc/ppp/peers/dsl-provider

這個檔案被pppd call 這個動作呼叫裡面的設定可以自己修改,不想吃這個檔案可以另外call 別的檔當參數吃,但是他會直接找/etc/ppp/peers/底下的檔案!!!所以要放在那

有個類似的
#pppd file filename


詳細參數可以
#man pppd

講幾個重要的(跪

  • noipdefault
不指定自己的IP讓pppoe sv 發給你,不加的話可以用

想要的IP:pppoe sv IP
ex: 123.123.123.123:100.100.100.100
如果
ex: 123.123.123.123:
指定自己IP但是不指定pppoe sv ip

ex:  :100.100.100.100
指定pppoe sv ip 不指定自己ip
  • usepeerdns
使用pppoe sv 提供的DNS IP
pppoe sv 最多會給你兩個DNS IP
之後會被寫到
/etc/ppp/resolv.conf
不加usepeerdns的話自行到
/etc/resolv.conf 修改

好像/etc/ppp/resolv.conf 會pass到 /etc/redolv.conf
而設定值是被pass 到/etc/ppp/ip-up 的script 裡變數
USEPEERDNS 會被標 1
--







忘記今天是禮拜四的日子.....

今天為了躲開被狗咬的危險,我還是把車停到車棚不跟狗搶位置了..... <===整片空地停車場都牠的,棍!!!

監獄兔-喔







(發現今天是禮拜四的表情)

不知道為什麼從昨天晚上開始我就一直以為今天是禮拜三,忘記週末要烤肉、要幫人修電腦、忘記去跟大姊頭要某某 XD (鬼扯)
今天一直有強烈沒睡飽的感覺,最近做夢越來越嚴重了,有點討厭睡覺可是卻好累阿(B仔做壞掉了 O__Q)

ㄧ上班打開mail 老大就要自己選兩個debug tools 來報告,糊裡糊塗的選了不知道是什麼鬼東西,牽狗也有點糊糊的,就說每天黑手工人都有新發現新學習嘛

  • KMtrace - a KDE tool to assist with malloc debugging using glibc's "mtrace" functionality.

  • pretrace - a preload library that allows specified (dynamically linked) applications to always be executed under a debugging environment.
http://dev.inversepath.com/trac/pretrace
第一個看起比較簡單,書上有唸過一些,第二個就不知道三小鬼東西了,沒關係過兩天就會了XD,在整理起來,嗯嗯。

--
我才不管今天禮拜幾,我只知道又多ㄧ天了。

2008年9月17日 星期三

mdadm -- Raid 架構管理套件

[ 使用mdadm 來架構管理raid ]

mdadm -Cv -l 1 /dev/md0 -n2 /dev/sda2 /dev/sdb
-C是指建立
-v是指察看過程
-l是指建立的屬於level linear、0、1或5
/dec/md0是指在linux中建立的裝置名稱為RAID 0
-n 2是指幾個RAID裝置屬於建立好的RAID 0

最後接著 要被"瑞"起來的磁碟區,

也可以這樣寫 /dev/sda[1,2] - 就是指 sda1 sda2 兩個

  •     Format

mkfs.ext3 /dev/md0 用mkfs.ext3 - .(點)後面指的是類型 格式化一下

  •     mount  

最後把md0 掛載到目錄 mount -t ext3 /dev/md0 /mnt/tmpmnt/

  •     其他用途

mdadm -D /dev/md0
查詢陣列資料

mdadm -S /dev/md0
解除/dev/md0 的raid

mdadm -A /dev/md0 /dev/sda2 /dev/sdb
把之前已經建立的陣列在掛回去
sda2 跟 sbd 兩個partion

****以下未實驗****
設定備援

mdadm -Cv --level=1 /dev/md0 -n 2 /dev/hdc8 /dev/hdc9 -x1 /dev/hdc10
(-x:指定備用的硬碟,當其中一個毀損時會自動備援)
# mke2fs -j /dev/md0
# mount /dev/md0 /mnt/md0
# cp -a /bin /mnt/md0(copy /bin中的資料做測試,-R 可以讓複製過去的資料保有相同的資料權限)

測試/dev/hdc9壞掉與替換

# mdadm /dev/md0 -f /dev/hdc9 (測試/dev/hdc9壞掉時,將/dev/hdc9標記為已損壞的設備)
# mdadm -D /dev/md0 查閱raid目前狀況一


查看當前陣列狀態二..可以看到目前正在自動恢復資料,這是抓其他地方的資料來補充,並不是原來的raid1
=================
# more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdd1[2] sde1[3] sdc1[1] sdb1[4](F)
75469842 blocks level 5, 128k chunk, algorithm 2 [3/2] [_UU]
[=>...................] recovery = 8.9% (3358407/37734912) finish=1.6min speed=9382K/sec
unused devices:

因為有備份設備,所以當陣列中出現設備損壞時,陣列能夠在短時間內實現重構和
資料的恢復。從當前的狀態可以看出,陣列正在重構,且運行在降級模式,
sdb1[4]的後面已經標上了(F),活動設備數也降為2個。

經過幾分鍾後,再次查看當前陣列狀態。
# more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdd1[2] sde1[0] sdc1[1] sdb1[3](F)
75469842 blocks level 5, 128k chunk, algorithm 2 [3/3] [UUU]
unused devices:

此時陣列重構已經完成,資料恢復完畢,原有的備份設備sde1成為了活動設備。

恢復
/dev/hdc9
=============
# mdadm /dev/md0 --remove /dev/hdc9 移除損壞的設備
# mdadm /dev/md0 --add /dev/hdc9 將新設備添加到陣列中
# mdadm --grow /dev/md-linear --add /dev/new-device 如果使用的是 linear raid

建立RAID 5
(建立流程,並參考RAID 0之說明)
=========================================
# mdadm -C -l 5 /dev/md0 -n 3 /dev/hdc[8,9,10] -x 1 /dev/hdc11
(可加入-c128的參數,代表chunk-size為128:可以增加raid的效能,由於是軟體陣列所以是使用系統主記憶體來進行 chunk,這個數值設大一點雖然對磁碟陣列效能有幫助,但卻會耗掉系統資源,建議使用預設值就好了)

****************

  •     mdadm.conf

/etc/mdadm.conf
檔中要包含兩種類型的行:
一種是以DEVICE開頭的行,它指明在陣列中的設備列表;
另一種是以ARRAY開頭的行,它詳細地說明了陣列的名稱、模式、陣列中活動設備的數目以及設備的UUID號。
格式如下:
DEVICE /dev/sda2 /dev/sdb
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=caf727cd:15bfd240:8df403aa:f5a6660a

UUID 要用mdadm -D 來查詢

之後就可以用
mdadm -As /dev/md0
來啟動 raid (啟動而已喔,還沒mount)

PS. 開機要直接用的化一定要有這個配置檔喔!!!


  •     意外

# mdadm -As /dev/md0
# mdadm -As /dev/md1
# mdadm -A /dev/md2 /dev/md[0,1]
這樣可以跑 Raid 1+0

如果要開機就可以跑raid 的話,要有這兩行
mdadm -As /dev/md0
mount /dev/md0 /mnt/tmpmnt

可以加在
/etc/fstab
最後一行加入
/dev/md0 /mnt/md0 ext2 default 0 0
第一欄 實際的 device 名稱。
第二欄 對應到的目錄結構(mount point)。
第三欄 該分割區的檔案系統ext、ext2、msdos、iso9660、nfs、swap。
第四欄 在 mount 時的參數。
第五欄 在使用 dump 時是否記錄,不需要則輸入0。
第六欄 決定在開機時執行 fsck 的先後順序。


/etc/rc.d/rc.sysinit
/etc/rc.d/rc.local
/etc/profile.d/
裡面加上下兩行
mdadm -As /dev/md0
mount /dev/md0 /dev/md0 掛載目錄

資料參考:http://ithelp.ithome.com.tw/question/10006536
by newswind38

最早最快的起點--現在

最近小M跟KRR都在熱什麼鬼夏日blog傳說,小M的文章還真的挺有看頭的,KRR嘛(丟),blog研究所有在寫,你知道人的惰性真的是無窮的ㄚ,既然被激起來了,那就現在開始。

對~"現在"永遠是最早最快的起點!!!

過去的事情就再也不寫啦YA (棍~真是佩服自己想出來的好藉口!!!)


--
最近家裡清出ㄧ大堆紙箱,大概是一年份吧,來源就不提了(遠目),每天都要拿一點下樓丟掉,原因以後再寫吧,最近大概得了不整理佈置房間就會死翹翹的病...大概是被某人訓練的很好(笑)

房間紙箱







這只是ㄧ小部份Orz....

雖然上班離公司麼壽近,但是我仍然每天騎腳踏車上班,可是最進騎的很毛,沒煞車就算了,棍~公司門口還有狗會咬我,昨天差點被咬爆,人ㄧ輩如果要被狗咬三次... 我快集滿了 O__Q

ㄧ進公司又開始要跟nas 搏鬥,我還是覺得某vender真的可憐,來不及demo跟我哭訴也沒用阿,現在只好繼續搞以備不時之需 來科技黑手工業已經一年多了,其實還蠻開心的,同事們棒透了不說,每天都有新東西新發現,不好好寫下來八成學的都會變空氣....

  • 今天雜記

RAID mdadm -Cv -l 1 /dev/md0 -n2 /dev/sda2 /dev/sdb
-C是指建立
-v是指察看過程
-l是指建立的屬於level linear、0、1或5
/dec/md0是指在linux中建立的裝置名稱為RAID 0
-n 2是指幾個RAID裝置屬於建立好的RAID 0

最後接著 要被"瑞"起來的磁碟區,

也可以這樣寫 /dev/sda[1,2] - 就是指 sda1 sda2 兩個

再來要把md0 format mkfs.ext3 /dev/md0
用mkfs.ext3 - .(點)後面指的是類型 格式化一下

最後把md0 掛載到目錄
mount -t ext3 /dev/md0 /mnt/tmpmnt/

然後還要開samba 再打開io-meter 去測試效能,所以記得mount 上去的目錄權限要開好給samba吃吃 不過每次從開機DUT的陣列設定都不見了,看來還有什麼鬼conf 沒寫進去 八成是--/etc/mdadm.conf 吧,等摸的差不多在整理起來吧

這台可憐DUT,效能真差,image 沒塞到flash 用HD切開硬作,SDK到完整的要死XD (嘿嘿)。 好想惡搞ㄧ下自己喜歡的東西唷

--

今天又被螞蟻種草莓,出門還要拿食物餵牠們(謎),真像在餵寵物,被咬醒也不錯,今天七點半就可以下班啦。

阿~~~本來好期待某人可以當我的鬧鍾的... 可惜不行了,可惡的電信公司,殘念 O___Q