熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

如何架構高性價比的分布式計算機集群(1)

2013-11-13 16:22:32  來源: Oracle 

  摘要
    本文是詳細記錄了作者自己架設調試使用集群服務器的過程全文內容翔實有很高的參考階值在此我也代表全體Linux愛好者向他們這一無私奉獻的精神表示感謝
  作者Motorola Global Infrastructure Solutions Engineering Computing Ding Wei
    摩托羅拉全球基礎架構解決方案工程計算部 丁玮
    北京藍潮志誠網絡有限責任公司(提供硬件支持) 楊波
  
    正如你所看到的一樣你的機器在絕大多數時間是空閒的如果你在Windows下用任務管理器或其他的Linux平台的工具(例如topxload)觀察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 CPUGB DDRIntel D主板軟驅NVIDIA顯卡(能啟動X Windows就可以)U機架式機箱CB /MB自適應網卡網關需要配置光驅GB硬盤和雙網卡
    類線按照A壓米網線
    顯示器鍵盤鼠標僅在安裝時使用
  
    軟件環境和必要的安裝包(除特殊說明外高版本不一定適用)
  
    Redhat CD 和CD安裝光盤
    dhcprcirpm是支持啟動內核調用的DHCP版本
    dhcpcdplirpm是DHCPD守護進程
    mknbinoarchrpm是制作客戶端啟動內核的必要軟件包
    MOSIXtargz是原始的MOSIX文件最新的版本是
    MOSKRNtargz是原始MOSIX內核文件最新的版本是
    openmosixkernelopenmosixirpm是MOSIX分支版本的通用內核最新的版本是
    openmosixkernelopenmosixirpm是MOSIX分支版本的新處理器內核最新的版本是
    openmosixkernelsmpopenmosixirpm是MOSIX分支版本的多處理器內核最新的版本是
    openmosixkernelopenmosixsrcrpm是MOSIX分支版本的源代碼
    openmosixtoolsirpm是MOSIX分支版本的客戶端工具
    ltsp_coreirpm是LTSP的核心文件
    ltsp_kernelirpm是LTSP的內核
    ltsp_floppydirpm是LTSP的軟盤工具
    ltsp_initrd_kititgz是LTSP的啟動制作工具
    linux_kerneltargz是需要編譯的內核源碼
  
  網絡配置環境
  
    網關對外網卡配置子網掩碼給內部網使用用於登錄和提交進程 網關對內網卡配置子網掩碼網關為給集群用於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 kernelheaders*
    rpm Uvh kernelsource*
    rpm Uvh kerneldoc*
    rpm Uvh dev*
    rpm Uvh make*
    rpm Uvh glibcdevel*
    rpm Uvh cpp*
    rpm Uvh ncursesdevel*
    rpm Uvh binutils*
    rpm Uvh gcc*
    rpm Uvh tftp*
    cd /usr/src
    umount /mnt/cdrom
  
    C安裝需要的軟件包展開所有的targz軟件包
  
    tar xvfz MOSIXtargz
    tar xvfz MOSKRNtargz
    tar xvfz linuxtargz
  
    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 configbackup

From:http://tw.wingwit.com/Article/program/Oracle/201311/18227.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.