[[PageOutline]]
{{{
#!html
實作五: 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
}}}
* 白底黑字為文件內容
{{{
#!sh
127.0.0.1 localhost
}}}
* 若是文件內容前面有數字則為行數 (方便學員可以快速找到文件編輯位置,下圖則為 /etc/hosts 文件的第1行)
{{{
#!sh
1 127.0.0.1 localhost
}}}
* 小提醒
0. 確定 node1 和 node2 的 /etc/hosts 有彼此的資訊
{{{
$ sudo vim /etc/hosts
}}}
{{{
#!sh
192.168.100.1 node1
192.168.100.2 node2
}}}
1. Front-end、Node 和 Client 的時鐘需同步 (可使用 ntp server 來校正時間)
2. 防火牆需允許 8443、8773、8774(Front-end) 和 8775(Node) (若是要讓防火牆外的administrator/user使用時,可請網管開啟這些 port)
3. 正確的 locales (可用 dpkg-reconfigure locales 選擇正確的語系)
4. Eucalyptus 安裝和執行需由 root 執行 (只有 root 可以控制 Eucalyptus)
----
= 【Step 0: 流程】 =
* 本教學方便學員,使用 Eucalyptus 提供的 Debian 套件來簡化安裝流程
* 用'''套件'''安裝的__優點:__ 1.方便快速 2.不需考慮軟體相依性,系統會自動幫你安裝相依的套件。__缺點:__可能不是最新的軟體版本
* 從'''source'''安裝的__優點:__ 1.了解軟體的安裝邏輯 2.可以安裝最新的版本。__缺點:__得自行解決軟體的相依性問題
{{{
#!graphviz
digraph finite_state_machine {
rankdir=LR;
ranksep=0.3;
size="11,8";
node[shape=box,width=3.0];
"3.設定 Eucalyptus 的網路架構" -> "4.設定 Eucalyptus Cluster" -> "5.啟動 Eucalyptus";
"1.新增 Eucalyptus 套件庫" -> "2.從套件庫安裝 Eucalyptus";
}
}}}
----
= 【Step 1:新增 Eucalyptus 套件庫】 =
* 到[http://open.eucalyptus.com/downloads 此網站]下載適合我們系統的套件檔 (下載至家目錄)
* 設定 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
}}}
{{{
#!sh
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 (若是對其他網路架構有性可[http://trac.nchc.org.tw/grid/wiki/Eucalyptus/Install/Net 參考此篇])
* '''__node1'''__
{{{
$ sudo vim /etc/eucalyptus/eucalyptus.conf
}}}
{{{
#!sh
181 VNET_MODE="SYSTEM"
}}}
* '''__node2'''__
{{{
$ sudo vim /etc/eucalyptus/eucalyptus.conf
}}}
{{{
#!sh
132 VNET_INTERFACE="peth0"
181 VNET_MODE="SYSTEM"
}}}
----
【Step 4: 設定 Eucalyptus Cluster】
* 在我們作為 Server 的那台新增 Cluster Name
* euca_conf -addcluster
{{{
$ sudo euca_conf -addcluster Eucalyptus node1
}}}
* 新增 Nodes
* euca_conf -nodes " ... "
{{{
$ 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 https://localhost:8443]
[[Image(login.png)]]
* 預設管理員帳密為 admin/1234