利用 KNOPPIX 的特性,置入一片光碟片,
便可建制光碟中的環境。
運用在群集上可是更有可為,想要有幾台為您服務的伺服主機,
只要有片群集的 KNOPPIX 便可快速且無限延伸您所想要的群集系統。
首先必須先去下載 Cluster KNOPPIX (http://bofh.be/clusterknoppix/),
Cluster KNOPPIX (簡稱 CK) 是個將 openMosix (簡稱 oM) 的核心加入 KNOPPIX 的版本,
如果想要測試您的環境是否成功,當然最好有兩台以上的電腦測試,
此外,其他版本的 oM kernel 是不相容的,所以我們必須使用版本一致的 CK 光碟。
設定
-----------------------------
假設我們手邊的電腦都已經吃了一片 CK 光碟,並且設定好 IP,
我們就挑一台電腦來建立跟其他伺服電腦的連線,
開啟 root shell,設定 oM 的 map 檔 (/etc/openmosix.map),
將檔案複製到 ramdisk
- 代碼: 選擇全部
$ cp /etc/openmosix.map ~
修改之
- 代碼: 選擇全部
$ vi openmosix.map
這個設定檔有三個欄位
MOSIX-# IP number-of-nodes
第一個欄位代表的是伺服節點的 ID
第二個欄位就是代表該節點的 IP
第三個欄位就是代表接續這個節點的 IP 以下還有幾個連續的節點
舉個例子:
- 代碼: 選擇全部
# MOSIX-# IP number-of-nodes
1 192.168.1.11 8
便會出現
- 代碼: 選擇全部
1 192.168.1.11
2 192.168.1.12
3 192.168.1.13
...
這樣的節點資訊
設定好對應的節點之後,便可把設定檔作個 symbolic link 到 /etc/openmosix.map,
假設我們在 etc 底下
- 代碼: 選擇全部
$ ln -sf /ramdisk/home/knoppix/openmosix.map .
接下來當然是重新啟動 oM
- 代碼: 選擇全部
$ setpe -W -f /etc/openmosix.map
or
- 代碼: 選擇全部
$ /etc/init.d/openmosix restart
我們可以試試看設定檔是否正常
- 代碼: 選擇全部
$ showmap
或者使用圖形化的 openMosixview
- 代碼: 選擇全部
$ openmosixview &
--------------------------------------
測試
--------------------------------------
我們可以用 c 寫個 silly loop 來測試我們的群集環境。
oM 會自動替你分配 process 到其他伺服主機上。
oM 也有提供 drag'n drop 的方式,來讓您轉移 process 到您想要處理的節點上
當然也可以從命令列轉移您的 process
- 代碼: 選擇全部
$ echo 3 > /proc/$PID/migrate
-------------------------------------
後續設定
-------------------------------------
我們也可以透過 openMosixview 替每個節點設定他們的負載權重,
因為 openMosixview 是使用 ssh 來設定節點,所以必須使用公鑰來代替密碼,
將管理群集主機的公鑰,放到群集節點的電腦上,這樣使用 ssh 便不會詢問密碼,
CK 在開機階段時有先幫我們產生公鑰跟私鑰,放在 /etc/ssh 目錄底下。
請自行參考其他文章
http://www.freebsd.org/doc/en_US.ISO885 ... enssh.html
-------------------------------------
伺服器上的應用
-------------------------------------
WebServer
可以使用 oM + migshm
migshm 是將 oM 加入 DSM (Distributed Shared Memory) 的 patch,
由五個印度女生寫的喔!
小弟之前有把 oM patch migshm 包成 deb,有需要的大大就拿去用吧
http://163.17.9.47/~s9154003/kernel-hea ... 1_i386.deb
http://163.17.9.47/~s9154003/kernel-ima ... 1_i386.deb
Database
資料庫的話可能就要用 native cluster
ex: Oracle RAC...
------------------------------------
我們可以到 oM's wiki (http://openmosix.sourceforge.net/wiki.html)
看看那些是可以分散處理 http://howto.x-tend.be/openMosixWiki/in ... 20smoothly
那些不行 http://howto.x-tend.be/openMosixWiki/index.php/don't
最後感謝 irc.freenode.net (#openMosix) 上面高手的回覆
特別是 jack24 (Mulyadi)