摘要
本文是詳細記錄了作者自己架設
調試
使用集群服務器的過程
全文內容翔實
有很高的參考階值
在此我也代表全體Linux愛好者向他們這一無私奉獻的精神表示感謝
作者
Motorola Global Infrastructure Solutions Engineering Computing Ding Wei
摩托羅拉全球基礎架構解決方案工程計算部 丁玮
北京藍潮志誠網絡有限責任公司(提供硬件支持) 楊波
正如你所看到的一樣
你的機器在絕大多數時間是空閒的
如果你在Windows下用任務管理器或其他的Linux平台的工具(例如top
xload)觀察CPU
你會看到CPU的使用率常見在
~
%
事實上
如果你有更多的計算機
這種浪費會加劇
在一個有
台計算機的部門裡
CPU的空閒率是驚人的
然而這些部門還是需要強大的服務器用來編譯或模擬計算
這樣的情況還會加劇
不止需要一台
因為隨著用戶的增加
即使是
個CPU的服務器
滿負荷時也不能把任務交給另外的空閒服務器
因為用戶很少會改變習慣去登陸另外一台服務器
如果能利用現有的計算資源
把空閒的CPU利用起來
或者能讓服務器智能的遷移負荷
就是你看下去的理由
集群的基本單位是單獨的計算機
稱為節點(node)
其可增長的特性
稱為延展性(Scale)
也就是向集群中加入計算機
集群沒有嚴格的定義
可以說就是許多利用高速聯接的
具有高速運算能力的
具有單一用戶界面的計算機組合
這並不是集群的定義
而是表面現象的描述
集群中的節點需要硬件盡可能的一致
不一致的硬件集群稱為異構集群
雖然這並不能改變集群的特性
但是異構導致集群會花費額外的時間來處理由於異構帶來的延遲
另一方面這也是集群的優勢
任何其他的多CPU系統都是嚴格要求CPU是一致的
集群就有足夠的自由度增減節點
不受類型的限制
本文選擇MOSIX作為集群的方案
並使用無盤節點
架構集群並沒有想象中那樣復雜
參考下面的步驟可以一步步的架構集群
整個的方案並不是很昂貴
而且便於擴展
使用RedHat是因為在中國這是最有權威的版本
不論是初學者還是專業工作者
都可以在RedHat Linux中定制自己的版本
使用終端服務器LTSP是因為結構簡單
便於快速擴展
使用的硬件是可以改進的
比如使用雙CPU的主板和至強處理器
這樣單一機櫃中處理器就密集到
塊CPU
本例中可以使用
塊CPU
除了CPU以外
還可以使用千兆網卡或光纖網卡
交換機可以使用光纖交換機
內存總數可以達到
GB
但是隨著硬件的升級
整體價格就會過高
而性能的提升並不是按比例的
因此本例的配置是性價比較好的組合
MOSIX是利用給內核源代碼加補丁的辦法
增加內核的功能來達到內核級的集群支持
通過編譯後的內核啟動的系統間類似SMP多處理器的系統
從外面的角度看只有一台有很多處理器的龐大機器
但是內部是用很多機器架構成的
而MOSIX集群的特點是對用戶透明
原有的應用程序不需要修改代碼即可以在集群中分布計算
有幾種情況是不需要使用集群系統的
使用類似網格計算的腳本就可以完成計算
比如三維動畫的渲染
這類計算可以使用不同的節點
不需要對稱的硬件
不需要一致的操作系統(需要應用具有支持不同操作系統的版本)
只需要按照處理器來分割渲染的任務段
在每個節點上運行相應的任務段
然後合成所有節點的計算結果
因為計算數據是離散的(結果的連續是視覺的連續)
因此用類似網格計算的腳本也可以完成
這類計算不需要使用集群也可以完成
下面本文將告訴你如何准備硬件和軟機環境
首先是規劃你的計算環境
硬件環境
U標准機櫃
安裝
U的交換機
台
U機架式機箱
U的
口
MB交換機(不是集線器)
Intel P
GHz CPU
GB DDR
Intel
D主板
軟驅
NVIDIA顯卡(能啟動X Windows就可以)
U機架式機箱
C
B
/
MB自適應網卡
網關需要配置光驅
GB硬盤和雙網卡
類線
按照
A壓
米網線
根
顯示器
鍵盤
鼠標僅在安裝時使用
軟件環境和必要的安裝包(除特殊說明外
高版本不一定適用)
Redhat
CD
和CD
安裝光盤
dhcp
rc
i
rpm是支持啟動內核調用的DHCP版本
dhcpcd
pl
i
rpm是DHCPD守護進程
mknbi
noarch
rpm是制作客戶端啟動內核的必要軟件包
MOSIX
tar
gz是原始的MOSIX文件
最新的版本是
MOSKRN
tar
gz是原始MOSIX內核文件
最新的版本是
openmosix
kernel
openmosix
i
rpm是MOSIX分支版本的通用內核
最新的版本是
openmosix
kernel
openmosix
i
rpm是MOSIX分支版本的新處理器內核
最新的版本是
openmosix
kernel
smp
openmosix
i
rpm是MOSIX分支版本的多處理器內核
最新的版本是
openmosix
kernel
openmosix
src
rpm是MOSIX分支版本的源代碼
openmosix
tools
i
rpm是MOSIX分支版本的客戶端工具
ltsp_core
i
rpm是LTSP的核心文件
ltsp_kernel
i
rpm是LTSP的內核
ltsp_floppyd
i
rpm是LTSP的軟盤工具
ltsp_initrd_kit
i
tgz是LTSP的啟動制作工具
linux_kernel
tar
gz是需要編譯的內核源碼
網絡配置環境
網關對外網卡配置
子網掩碼
給內部網使用
用於登錄和提交進程
網關對內網卡配置
子網掩碼
網關為
給集群用於DHCP服務器
NFS服務器
LTSP服務器
網關對內網卡配置DHCP
分配地址從
到
子網掩碼
都是C類
當以上條件都具備時
可以開始架構MOSIX集群
安裝所有硬件
並能確保可以從光盤啟動網關服務器系統
節點可以使用軟盤啟動
檢查BIOS的啟動設置
並確認可以正確啟動
將所有節點和交換機安裝到機櫃上
用網線連接交換機和各節點
網關需要額外的網線連接到局域網
因為可以稱集群計算環境為計算場(Computing Farm)
因此對應局域網稱集群系統的網絡為計算網絡
連接好電源後
使用兩套顯示器和鍵盤鼠標
分別連接一台節點機和網關服務器
安裝RedHat
版本在具有兩塊網卡的網關服務器上
分區使用自動分區(比較簡單
本文不討論Linux其他問題)
選擇定制安裝
但不要安裝所有的軟件包
除缺省的選擇外
需要額外選擇軟件開發和內核開發兩組軟件包
安裝時沒有選擇的軟件包
可以在系統正常啟動後參考
如何編譯內核
中的軟件包來安裝
安裝到網絡配置時
按照網絡環境配置IP地址
需要配置DNS的需要修改對外網卡的設置
使用小寫mosix為主機名
安裝完後需要驗證網關服務器可以正常啟動
按照個人喜好來設定系統
推薦使用文本模式
圖形模式資源消耗較大
另外需要連接到RedHat網站升級有缺陷的軟件包
減少系統漏洞
注意別把內核也升級了
並不是因為本文的操作
而是內核升級後
系統很可能啟動失敗
本文將自己編譯內核
升級完成後重啟
再次確認系統沒有任何錯誤
安裝MOSIX包(openmosix的安裝是另外的分支)需要很多步驟
注意操作步驟的准確性
A
將所有下載的軟件包上載到服務器的/usr/src/tmp目錄下
確認下載的軟件包是完整的
確認md
的校驗結果一致
su
cd /usr/src/
makdir tmp
md
package_file_name
B
將RedHat
CD
放入到光驅
參考以下操作確認編譯內核需要的軟件包已經存在
mount /dev/cdrom /mnt/cdrom
cd /mnt/redhat/RPM
rpm
Uvh kernel
headers*
rpm
Uvh kernel
source*
rpm
Uvh kernel
doc*
rpm
Uvh dev
*
rpm
Uvh make
*
rpm
Uvh glibc
devel*
rpm
Uvh cpp*
rpm
Uvh ncurses
devel*
rpm
Uvh binutils*
rpm
Uvh gcc
*
rpm
Uvh tftp*
cd /usr/src
umount /mnt/cdrom
C
安裝需要的軟件包
展開所有的tar
gz軟件包
tar xvfz MOSIX
tar
gz
tar xvfz MOSKRN
tar
gz
tar xvfz linux
tar
gz
D
如果展開文件沒有錯誤
將各個軟件展開目錄移到正確的位置
mv MOSIX
/usr/src/
mv MOSKRN
/usr/src/
mv linux /usr/src/linux
E
為了避免以往MOSIX腳本的錯誤
需要確認以下步驟
chmod goa+x /usr/src/MOSIX
/inst/add_kernel_to_grub
mkdir /usr/local/man
F
下面才是真正有趣和讓人著迷的步驟
首先要創建編譯內核配置文件的目錄
這是個好習慣
因為每次的編譯配置不一定相同
後面排錯也會提到相關的問題
cd /usr/src
mkdir config
backup
From:http://tw.wingwit.com/Article/program/Oracle/201311/18227.html