[[PageOutline]]
{{{
#!html
實作五: Eucalyptus 安裝
}}}
= 【前言】 =
* 小提醒
0. 確認無任何的 VM 再執行 並將 oned 停止 (onevm shutdown {vm_ID}) (one stop)
1. 確定 pcXXX 和 pcYYY 的 /etc/hosts 有彼此的資訊
1. Front-end、Node 和 Client 的時鐘需同步 (可使用 sudo ntpdate time.stdtime.gov.tw 來校正時間)
2. 防火牆需允許 8443、8773、8774(Front-end) 和 8775(Node) (若是要讓防火牆外的administrator/user使用時,可請網管開啟這些 port)
3. 正確的 locales (可用 dpkg-reconfigure locales 選擇正確的語系)
4. Eucalyptus 安裝和執行需由 root 執行 (只有 root 可以控制 Eucalyptus)
----
= 【Step 0: 流程】 =
* 本教學方便學員,使用 Eucalyptus 提供的套件來簡化安裝流程
* pcXXX 作為 Eucalyptus Server,pcYYY作為 Eucalyptus Node
{{{
#!graphviz
digraph finite_state_machine {
rankdir=LR;
ranksep=0.3;
size="11,8";
node[shape=box,width=3.0];
"3.設定 Eucalyptus Cluster" -> "4.啟動 Eucalyptus";
"1.從套件庫安裝 Eucalyptus" -> "2.設定 Eucalyptus 的網路架構";
}
}}}
----
= 【Step 1:從套件庫安裝 Eucalyptus】 =
* 使用 ''aptitude search'' 指令搜尋 Eucalyptus 有哪些套件
{{{
$ sudo aptitude update
$ 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
}}}
* 想一下我們的架構設計:
* '''__pcXXX__''' - 安裝 CLoud Controller 和 Cluster Controller
{{{
$ su
# echo deb http://debian.osuosl.org/debian lenny non-free >> /etc/apt/sources.list
CTRL + D
$ sudo aptitude update
$ sudo aptitude -y install eucalyptus-cloud eucalyptus-cc
}}}
{{{
$ sudo gedit /etc/eucaltpyus/eucalyptus.conf
}}}
{{{
#!sh
94 HYPERVISOR="xen"
113 SWAP_SIZE=128
}}}
* '''__pcYYY__''' - 安裝 Node Controller
{{{
$ su
# echo deb http://debian.osuosl.org/debian lenny non-free >> /etc/apt/sources.list
CTRL + D
$ sudo aptitude update
$ sudo aptitude -y install eucalyptus-nc
}}}
{{{
$ sudo gedit /etc/eucaltpyus/eucalyptus.conf
}}}
{{{
#!sh
94 HYPERVISOR="xen"
113 SWAP_SIZE=128
}}}
----
= 【Step 2:設定 Eucalyptus 的網路架構】 =
* 設定也分為兩部份 pcXXX 和 pcYYY 的設定 (設定檔的位置接放於 /etc/eucalyptus/eucalyptus.conf)
* Eucalyptus 目前只支援 Xen 的 Bridge 架構,可分為4種網路架構,本範例使用 SYSTEM MODE (若是對其他網路架構有性可[http://trac.nchc.org.tw/grid/wiki/Eucalyptus/Install/Net 參考此篇])
* '''__pcXXX'''__
{{{
$ sudo gedit /etc/eucalyptus/eucalyptus.conf
}}}
{{{
#!sh
153 VNET_INTERFACE="eth1"
165 VNET_DHCPDAEMON="/usr/sbin/dhcpd3"
202 #VNET_MODE="SYSTEM"
214 VNET_MODE="STATIC"
215 VNET_SUBNET="192.168.100.0"
216 VNET_NETMASK="255.255.255.0"
217 VNET_BROADCAST="192.168.100.255"
218 VNET_ROUTER="192.168.100.254"
219 VNET_DNS="140.110.16.1"
220 VNET_MACMAP="00:XX:XX:XX:XX:XX=192.168.100.X 00:YY:YY:YY:YY:YY=192.168.100.Y"
}}}
* '''__pcYYY'''__
{{{
$ sudo gedit /etc/eucalyptus/eucalyptus.conf
}}}
{{{
#!sh
153 VNET_INTERFACE="peth1"
160 VNET_BRIDGE="eth1"
202 #VNET_MODE="SYSTEM"
214 VNET_MODE="STATIC"
}}}
----
【Step 3: 設定 Eucalyptus Cluster】
* 在我們作為 Server 的那台新增 Cluster Name
* euca_conf -addcluster
{{{
$ sudo euca_conf -addcluster Eucalyptus pcXXX
}}}
* 新增 Nodes
* euca_conf -nodes " ... "
{{{
$ sudo euca_conf -nodes "pcYYY"
$ sudo euca_conf -synckeys
}}}
----
= 【Step 4:啟動 Eucalyptus】 =
* pcXXX 啟動 CLoud Controller & Cluster Controller (可用 start/restart/stop)
{{{
sudo /etc/init.d/eucalyptus-cloud restart
sudo /etc/init.d/eucalyptus-cc restart
}}}
* pcYYY 啟動 Node Controller
{{{
sudo /etc/init.d/eucalyptus-nc restart
}}}
* 測試 CLoud Crontroller 網頁是否啟動 [https://localhost:8443 https://localhost:8443]
[[Image(login.png)]]
* 預設管理員帳密為 admin/admin