2015年2月14日 星期六

Something in my mind

我找出最近一直讓我掛念的事情了

我想我應該沉船了
精確的來說應該是發現到自己正在沉船的邊緣

而再次回到這裡的我
表示這次我不得不寫些什麼來宣洩與分析自己的情緒
否則不是讓自己繼續痛苦下去
(大概就是吸了毒就很快樂, 不吸就很痛苦的反覆蹂躪)
或是自爆賠掉一段關係

以往總是找的到一些讓自己遲疑的理由
拖著拖著
總是能夠讓這理由放大然後重新檢視自己
進而好好處理然後緩降落

但這次幾乎沒什麼可ˇ阻擋自己的理由
也使的我的情緒一直處在滿溢的杯緣

唯一讓自己躊躇的
大概就是害怕再失去一個朋友了
然後還有自己是否值得她託付

我好像沒那麼怕被拒絕
(反正也是爛命一條, 被醫生打過槍之後好像皮變厚了...)

該怎麼說阿毛呢

應該就是很FIT
其實在幾次的碰面裡
尤其是在她家

我的天, 她彈鋼琴的時候
真的覺得全身充滿幸福感
心裡有一種 "這就是我老婆了!!"  的強烈感覺

(很奇怪的是, 明明應該是女生到男生家然後男生讓女生充滿幸福感)
(為啥我會變成顛倒過來啊?)

也可能因為經過小操跟藍海人的訓練
她的一些需求與脾氣
還有幾次踩到地雷爆掉
雖然因為她很聰明所以要花一些腦筋跟他溝通
但我的心情都是船過水無痕
之後更會覺得  "哇塞  這女人也太MAKE SENSE了吧"


雖然是一種很直覺的喜歡
但現實上的諸多條件也是讓人心動
煮飯++
打球++
開車++
身高++
會自己哇啦哇啦的問問題, 不會被我的撲克臉影響++
多才多藝++

打完這些膚淺的喜歡
希望我的症狀能夠改善

不然
就讓我沈船
然後一口氣被沖上岸吧!

(打完這些的好處)
(大概就像是打預防針一樣)
(因為已經有先預備緩衝, 所以心裡移除掉了一些負面思考)
(但也有可能是因為阿毛的氛圍讓我主動往正面前進...)

2014年2月21日 星期五

記住

要記住這種感覺
不能運動
不能快跑
長達好幾個月缺乏運動
卻又最需要強壯的肌肉來協助受傷的身體

2014年2月16日 星期日

錯覺

人們對我的錯覺,總是會影響我對自己能力的認知,以為自己可以跳的很高很遠,但跌倒後才發現自己其實只是一個普通人…

2012年10月4日 星期四

nice to go

遇見海渡假會館
http://www.meetingocean.com.tw/

2012年6月19日 星期二

Link Aggregation by linux

資料來源 http://www.geego.com.tw/tech/tech_word/20060821/index.htm#

Google 搜尋 linux 網路 Link Aggregation 

(一) 前言

Linux 核心能支援的功能真的是不勝沒舉, Ben 哥跟大家說一個最近發生的故事,間接體會 Linux 無遠弗屆的威力。日前 Ben 哥在奇科電腦教授 LPI Level 2 的課程當中,有位在業界從事網路系統管理的學員問了 Ben 哥一個問題 --- 「如果在同一個區域網路,要架設一台比周圍電腦擁有更多網路頻寬的主機,我要花多少錢、買什麼樣的網路設備」。 Ben 哥回答他,你只要花不到 1 千塊的新台幣,買幾塊「螃蟹牌」的網路卡,就可以立即倍增一台 Linux 主機的網路頻寬!

其實「如何在 Linux 系統下結合多張網路卡來增加網路頻寬」,這個議題 Ben 哥以前便常拿來作教學的實作練習!此次藉由本期的技術專欄,跟各位讀者細述說明「在 Linux 下如何結合多張網卡,並配合相對應的頻寬來增加網路的傳輸速率」 ! 同時間還可以讓該台機器提供「連線備援」的機制 !! top!
本期技術文件所需
實驗設備
   

1. Linux 機器乙台, 兩張以上的乙太網路卡
2. Cisco 3550 交換機乙台
所需軟體
及Linux
核心
   

1. Linux 機器:核心 2.4.32 版, bonding 所需的指令:「 ifenslave 」
2. Cisco 3550 交換機的韌體 :「 c3500xl-c3h2s-mz.120-5.WC15.bin 」
基本知識
   

1. Linux 802.1Q 的設定 ( 詳見 Linux Guide 第十一期 ) 。
2. Cisco 3550 交換機上 Etherchannel 以及 802.1Q 的設定。

(二) Linux 中 Bonding 的意義

Bonding 的中文意義為「結合」,那到底要結合什麼東西呢?其實就是利用軟體的方式 (Linux Bonding 的技術 ) 來結合網路傳輸的頻寬!舉個例子來說,每張網卡傳輸速率為 100Mb ,假使我們 Bonding( 結合 ) 四張網卡,就可以把這四張網卡視同為一張,而這張網卡的傳輸速率則為 400Mb/s 。

(三) 如何讓 Linux 支援 Bonding

要使 Linux 能支援 Bonding 的功能,以及讓使用者能操作 Bonding 的指令,有幾個必備條件:

1.  Linux 核心必須支援 bonding 的功能。

    在核心的選項中,各位可以在主選單下的「 Network Device Support 」裡,選取「 Bonding driver support 」;在這裡要特別提醒各位的是,請選用與 Ben 哥相同的核心版本「 2.4.32 」。因為早期 Linux 核心版本的 bonding 支援能力,並不支援待會我們所需要用到的「 802.3a d 」通訊協定。另外要特別注意的一點是,在 Linux 中的 bonding 設定,其對於「 802.3a d 」的命名為「 PAgP 」,但在 Cisco 所屬的設定名詞中,「 PAgP 」並非指的是「 802.3a d 」,而是「 LACP 」;兩者是完全不相同的。因此,讀者們在使用 Cisco 交換機設備時,務必弄清楚不要搞錯了,不要選到「 PAgP 」。

2. 必須要有 ifenslave 指令。

    ifenslave 為設定 bonding 功能的唯一指令,與核心所使用的版本有相當高的倚賴性,如果各位使用的核心是 2.4.32 版本的話,可以在核心原始碼根目錄中「 Documentation/networking 」的目錄位置下,找到「 ifenslave 」的原始碼—「 ifenslave.c 」,同時間也可在上述同樣的目錄下找到「 bonding.txt 」的檔案,其中簡單的陳述了在此 Linux 版本中,支援了哪些功能。

    因此,我們可以進行編譯適合核心版本 2.4.32 的「 ifenslave 」指令。

    致此為止,我們已確定也必須確定系統的核心支援「 bonding 」功能,再者其核心版本為 2.4.32 ,且有相對應的「 ifenslave 」操作指令存在。

 

(四) Cisco 支援的連接埠整合控制協定介紹

Cisco 對於交換機連接埠的整合有幾種方式,其一是先前描述過的 LACP ( Link Aggregation Control Protocol) LACP 是 IEEE 標準規格「 802.3ad 」協定中的一部份, 802.3ad 協定規範了:交換機上許多不同的實體連接埠,可以邏輯性的共同結合在一起,進而視為一條實體線;除了 LACP 以外, Cisco 本身也有其他相類似的功能,例如: Etherchannel 以及 PAgP ( Port Aggregation Protocol) 。

(五) 實驗目標

在此次的實驗中, Ben 哥需要讀者們把 Linux 的機器設定成為一個支援 802.3a d 的伺服器,以 802.3a d 的通訊協定方式與 Cisco Catalyst 3550 的交換機連結,最終達成連接埠整合的目的。

以上的網路拓墣為此次實驗的主要連接方式,我們以第二層 (Layer 2) 的連接為本次實驗的主軸,以下為實驗的步驟:



Step1:設定Linux伺服器
1.
首先, Ben 哥已經有一台 Linux 機器,其核心版本為 2.4.32 ,而且也已經有預先編譯好的 ifenslave 指令,該指令存於目錄「 /root 」中, Ben 哥使用一片有四個連接埠的網路卡 ( 附圖一 ) ,每個連接埠都有其獨立的 MAC 定址,因此可以將之視同為四張網卡,其設備代號各為: eth2 、 eth3 、 eth4 、 eth5 。

2.
確定了網路卡可以使用之後,接下來就必須建立一個虛擬的整合連接介面 (bond0) ,以便將 eth2 、 eth3 、 eth4 、 eth5 整合在一起。首先,我們必須安插支援 bonding 的核心模組,在安插模組的時候,同時通知核心待會在 bonding 時所要支援的模式,在這個版本 ( 2.4.32 ) 中,總共支援了 7 種模式,第四種模式就是「 802.3a d 」,因此在安插 bonding 模組的同時,需在其後加上『 mode= 802.3a d 』或是『 mode=4 』的命令參數 ( 兩者擇一使用皆可 ) ;另外,再加上一個用來「監控各個連接埠連接狀況」的參數,這個參數為『 miimon= 數字』 ( 數字表示多少 ms 之意 ) ,讀者們可以從下圖看到 Ben 哥如何確認核心是否支援 bonding 的功能,進而配合相關參數,安插 bonding 模組的整個過程。

3.
在核心支援 bonding 的功能後,在『 ifconfig –a 』指令的標準輸出中,會有一個名為「 bond0 」的介面設備,這個就是用來整合各張網路卡的介面,是以我們先對 bond0 介面設定其 IP 位址並將該介面啟動運作。

4.
啟動完 bond0 後,皆下來當然就是把各個實體網路卡整合到 bond0 中,這時就要使用剛剛 Ben 哥教大家預先編譯好的「 ifenslave 」指令!只要鍵入『 ./ifenslave –v bond0 eth2 eth3 eth4 eth5 』即可。

5.
到現在為止, Linux 伺服器已經設定好了,但是網路線另一端的 3550 交換器還沒有作任何的設定。是以我們先 ping 路由器的 IP 位址「 192.168.10.2 」,看看封包是否能夠到達路由器;結果當然是不行。因為交換器那一端並還沒有將 802.3a d 通訊協定設定進去,所以通訊協定不同,勢必就無法相互傳遞資料。

6.
觀察檔案內容完畢之後,再次鍵入『 ifconfig 』指令來確認是否包含剛剛所設定的各項設備。

7.
到現在為止, Linux 伺服器已經設定好了,但是網路線另一端的 3550 交換器還沒有作任何的設定。是以我們先 ping 路由器的 IP 位址「 192.168.10.2 」,看看封包是否能夠到達路由器;結果當然是不行。因為交換器那一端並還沒有將 802.3a d 通訊協定設定進去,所以通訊協定不同,勢必就無法相互傳遞資料。

觀看第2步驟!!>>


Step2:設定Cisco的交換器

1.
在這個階段的實驗中,我們使用 FastEthernet 連接埠 13 到 16 ,分別對應到 Linux 伺服器上的 eth2 、 eth3 、 eth4 、 eth5 ;在 Cisco 交換機的 IOS 文字使用介面下,可以使用範圍指令 (range) 來同時間對很多連接埠下達相同的指令。如下圖所示,我們利用範圍指令進入連接埠設定模式,設定步驟順序如下:

(1) 下達指定 VLAN 的 ID → ( 2) 設定連接埠的模式 → (3) 加入 802.3ad 的支援,也就是 LACP 。

2
設定完成後,鍵入『 show running 』指令,觀察一下 FastEthernet 連接埠 13 到 16 的設定狀況。 至此, Cisco 的交換器設定完畢。

觀看第3步驟!!>>


Step3:測試連線狀況

1.
在Linux伺服器以及Cisco交換器這兩台機器上,讀者們都已經完成了802.3ad的設定,接下來就是驗收設定成果的時候了。我們可以從Linux伺服器端ping交換器另一端的路由器,其結果是成功的,由此證明先前兩個設備的設定完全無誤。

 

觀看第4步驟!!>>


Step4:測試連線的備援機制(Redundancy)

1.
連接埠整合的另一個好處就是可以提供連線的備援機制,以本實驗為例,我們使用了四個網路連接埠連接到交換器,理應獲得 400M b/s 的總頻寬;順帶的這種網路連線機制也提供了連線備援的可能。簡單來說,四個網路通路中,如有其中 一兩 個連線有問題,這個連線機制 ( 802.3a d) 會偵測到連線的狀況,讓另外兩條正常工作的連線接替其他工作。 為了讓讀者實地觀察到這個狀況, Ben 哥先從 Linux 的伺服器 ping 路由器,然後在第 4 個 icmp 答應時, Ben 哥把 eth2 以及 eth3 的連線拔掉,各位可以從下圖『 mii-tool 』的指令輸出中,看到 eth2 及 eth3 是沒有連線的,當下,經由 eth2 以及 eth3 的封包就到達不了路由器,但是過了一分多鐘之後,在第 77 個 icmp 的封包之後,連線則自行恢復。

實驗步驟完畢!!