[[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 和 pcYYY 安裝 eucalyptus 相依的套件 {{{ $ sudo su # echo deb http://debian.osuosl.org/debian lenny non-free >> /etc/apt/sources.list CTRL + D $ sudo aptitude -y install ca-certificates sun-java6-jre $ sudo mkdir -p /etc/ssl/certs/java/ $ sudo ln -sf /etc/java-6-sun/security/cacerts /etc/ssl/certs/java/cacerts }}} * 想一下我們的架構設計: * '''__pcXXX__''' - 安裝 CLoud Controller 和 Cluster Controller {{{ $ sudo aptitude update $ sudo aptitude -y install eucalyptus-cloud eucalyptus-cc dhcp3-server $ sudo passwd eucalyptus }}} * '''__pcYYY__''' - 安裝 Node Controller {{{ $ sudo aptitude update $ sudo aptitude -y install eucalyptus-nc $ sudo passwd eucalyptus }}} ---- = 【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 132 VNET_INTERFACE="eth1" 139 #VNET_BRIDGE="eth0" 181 #VNET_MODE="SYSTEM" 193 VNET_MODE="STATIC" 194 VNET_SUBNET="192.168.100.0" 195 VNET_NETMASK="255.255.255.0" 196 VNET_BROADCAST="192.168.100.255" 197 VNET_ROUTER="192.168.100.254" 198 VNET_DNS="140.110.16.1" 199 VNET_MACMAP="00:16:XX:XX:XX:XX=192.168.100.X 00:16:YY:YY:YY:YY=192.168.100.Y 00:16:ZZ:ZZ:ZZ:ZZ=192.168.100.Z" }}} * '''__pcYYY'''__ {{{ $ sudo gedit /etc/eucalyptus/eucalyptus.conf }}} {{{ #!sh 132 VNET_INTERFACE="peth1" 139 VNET_BRIDGE="eth1" 181 #VNET_MODE="SYSTEM" 193 VNET_MODE="STATIC" }}} ---- = 【Step 3: 設定 Eucalyptus Cluster】 = * 在我們作為 Server 的那台新增 Cluster Name * euca_conf -addcluster {{{ $ sudo euca_conf -addcluster Euca_Cluster 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)]] ---- = 【討論 & 休息】 = [[BR]] [[BR]]