wiki:Xen_Lab5

Version 14 (modified by rock, 15 years ago) (diff)

--

實作五: Eucalyptus 安裝

【前言】

  • 使用的 OS 為 Debian etch (5.0.3) AMD64
    • 桌面的 Web Broswer 為瀏覽器
    • 桌面的 終端機 用來輸入課程中的指令
  • 為了方便學員,可以使用 複製貼上 繁瑣的指令 (請複製 "$" 之後的指令)
  • 黑底白字部份為指令
    • 第1個指令為 使用 vim 指令來編輯 hosts 這個文件
    • 第2個指令的 sudo 為轉換成 root 管理者身份來編輯此文件 (因 hosts 文件的權限只有 root 能修改)
    • 第3個指令的 gedit 給不習慣用 vim 的學員使用 (類似 windows 的 notepad)
      $ vim /etc/hosts
      $ sudo vim /etc/hosts
      $ sudo gedit /etc/hosts
      
  • 白底黑字為文件內容
    127.0.0.1 localhost
    
  • 若是文件內容前面有數字則為行數 (方便學員可以快速找到文件編輯位置,下圖則為 /etc/hosts 文件的第1行)
    1  127.0.0.1 localhost
    
  • 小提醒
    1. 確定 node1 和 node2 的 /etc/hosts 有彼此的資訊
      $ sudo vim /etc/hosts
      
      192.168.100.1  node1
      192.168.100.2  node2
      
    2. Front-end、Node 和 Client 的時鐘需同步 (可使用 ntp server 來校正時間)
    3. 防火牆需允許 8443、8773、8774(Front-end) 和 8775(Node) (若是要讓防火牆外的administrator/user使用時,可請網管開啟這些 port)
    4. 正確的 locales (可用 dpkg-reconfigure locales 選擇正確的語系)
    5. Eucalyptus 安裝和執行需由 root 執行 (只有 root 可以控制 Eucalyptus)

【Step 0: 流程】

  • 本教學方便學員,使用 Eucalyptus 提供的 Debian 套件來簡化安裝流程
    • 套件安裝的優點: 1.方便快速 2.不需考慮軟體相依性,系統會自動幫你安裝相依的套件。缺點:可能不是最新的軟體版本
    • source安裝的優點: 1.了解軟體的安裝邏輯 2.可以安裝最新的版本。缺點:得自行解決軟體的相依性問題
GraphViz image

【Step 1:新增 Eucalyptus 套件庫】

  • 此網站下載適合我們系統的套件檔 (下載至家目錄)
  • 設定 Eucalyptus 套件庫
    $ tar zxvf eucalyptus-1.5.2-lenny-amd64.tar.gz
    $ cd eucalyptus-1.5.2-lenny-amd64
    $ sudo su
    $ echo deb file://${PWD} ./ >> /etc/apt/sources.list
    CTRL + D
    
  • 檢查是否有正確加到 apt 套件庫
    $ vim /etc/apt/sources.list
    $ gedit /etc/apt/sources.list
    
  • 更新 apt 套件庫
    $ sudo aptitude update
    

【Step 2:從套件庫安裝 Eucalyptus】

  • 使用 aptitude search 指令搜尋 Eucalyptus 有哪些套件
    $ sudo aptitude search eucalyptus
    
    p   eucalyptus-cc                  - Elastic Utility Computing Architecture - Cluster controller   
    p   eucalyptus-cloud               - Elastic Utility Computing Architecture - Cloud controller     
    p   eucalyptus-common              - Elastic Utility Computing Architecture - Common files         
    p   eucalyptus-gl                  - Elastic Utility Computing Architecture - Logging service      
    p   eucalyptus-javadeps            - Eucalyptus Java libraries dependencies                        
    p   eucalyptus-nc                  - Elastic Utility Computing Architecture - Node controller
    
  • 想一下我們的架構設計: node1:CLC&CC ,node2:NC
    • node1 - 安裝 CLoud Controller 和 Cluster Controller 至 node1
      $ su
      $ echo deb http://debian.osuosl.org/debian lenny non-free >> /etc/apt/sources.list
      CTRL + D
      
      $ sudo aptitude update
      $ sudo aptitude install eucalyptus-cloud eucalyptus-cc
      
    • node2 - 安裝 Node Controller 至 node1 (先重複做 Step 1 的步驟來設定 node2 的套件庫)
      $ sudo aptitude update
      $ sudo aptitude install eucalyptus-nc
      

【Step 3:設定 Eucalyptus 的網路架構】

  • 設定也分為兩部份 node1 和 node2 的設定 (設定檔的位置接放於 /etc/eucalyptus/eucalyptus.conf)
  • Eucalyptus 目前只支援 Xen 的 Bridge 架構,可分為4種網路架構,本範例使用 SYSTEM MODE (若是對其他網路架構有性可參考此篇)
  • node1
    $ sudo vim /etc/eucalyptus/eucalyptus.conf
    
    181 VNET_MODE="SYSTEM"
    
  • node2
    $ sudo vim /etc/eucalyptus/eucalyptus.conf
    
    132 VNET_INTERFACE="peth0"
    181 VNET_MODE="SYSTEM"
    

【Step 4: 設定 Eucalyptus Cluster】

  • 在我們作為 Server 的那台新增 Cluster Name
    • euca_conf -addcluster <clustername> <clusterhost>
      $ sudo euca_conf -addcluster Eucalyptus node1
      
  • 新增 Nodes
    • euca_conf -nodes "<nodehost1> ... <nodehostN>"
      $ sudo euca_conf -nodes "node2"
      $ sudo euca_conf -synckeys
      

【Step 5:啟動 Eucalyptus】

  • node1 啟動 CLoud Controller & Cluster Controller (可用 start/restart/stop)
    sudo /etc/init.d/eucalyptus-cloud restart
    sudo /etc/init.d/eucalyptus-cc restart
    
  • node2 啟動 Node Controller
    sudo /etc/init.d/eucalyptus-nc restart
    
  • 測試 CLoud Crontroller 網頁是否啟動 https://localhost:8443

  • 預設管理員帳密為 admin/admin

Attachments (1)

Download all attachments as: .zip