7 | | * Eucalyptus的安裝主要有兩種方法: |
8 | | 1. __'''''從 Source 安裝'''''__ |
9 | | 2. __'''''從套件安裝'''''__,官方有提供[http://open.eucalyptus.com/downloads Binary 套件]可安裝,或是 OS 為 Ubuntu 9.04 直接可 apt-get install |
10 | | * 本安裝文件想了解 Eucalyptus 的架構,所以選擇從 Source 安裝 |
11 | | * Eucalyptus 太長了 @@,之後文章用 Euc 簡稱 |
12 | | ---- |
13 | | = 【2.安裝步驟】 = |
14 | | * 主要參考 [http://open.eucalyptus.com/wiki/EucalyptusAdministratorGuide_v1.4 Eucalyptus Administrator Guide v1.4]安裝步驟,此文件主要分為5部份:(1)__必要的環境設定__,(2)__安裝__,(3)__配置__,(4)__管理__,(5)__問題排解__ |
15 | | == '''''__『2.1 必要的環境設定』__''''' == |
16 | | * __2.1.1__ 從 Source 安裝所需的套件 -> (1)C compilers (2)Java Developer Kit (SDK) version 1.6 or above (3)Apache ant 1.6.5 or above (4)Curl development package (5)openssl development package |
| 8 | * 本管理文件主要參考 [http://open.eucalyptus.com/wiki/EucalyptusAdministratorGuide_v1.4 Eucalyptus Administrator Guide v1.4],此文件分為5部份:(1)__必要環境的設定__,(2)__安裝__,(3)__配置__,(4)__管理__,(5)__問題排解__ |
| 9 | * Euc 分為三個元件: (元件間透過 SOAP with WS-security 來溝通,一個 Cluster 只會有一個 Cluster controller() 被執行再 head node 和每個 node 都個有一個 Node controller) |
| 10 | * [[Image(euc_3com.png)]] |
| 11 | 1. '''Cloud controller(CLC)''' -> Java 寫的程式,負責高階的資源排程和系統 accounting,此外也提供 Web services 和網頁介面讓外界使用者可以連接 |
| 12 | 2. '''Cluster controller(CC)''' -> 用 C 撰寫,在 Apache 內當成 Web server 來佈署 |
| 13 | 3. '''Node controller(NC)''' -> 用 C 撰寫,在 Apache 內當成 Web server 來佈署 |
| 14 | ---- |
| 15 | = 【2.必要環境的設定】 = |
| 16 | == ''__2.1 編譯 Euc 所需的套件__'' == |
| 17 | * (1)C compilers (2)Java Developer Kit - SDK version 1.6 or above (3)Apache ant 1.6.5 or above (4)Curl development package (5)openssl development package (6)zlib development package |
47 | | * __2.1.2__ 執行 Eucalyptus 需要的套件 (Euc 有分為 front-end 和 node,安裝的 Euc 元件也不同) |
48 | | * Front-end run-time dependencies -> (1) Java6 (2) Apache ant -> cloud controller (3)Java(TM) Cryptography Extension (JCE) (4) Run a server on port 25 & Exim, postfix to send mail (5) Dhcp3-server (6) iptables, vlan(vconfig) (7) 如果從 rpm 安裝的話,必須再安裝 xen-libs RPM |
49 | | * Node run-time dependencies -> (1) xen > 3.0.X: enabule Unix Socket for Euc to contorl Xen -> xend-unix-server yes,Euc 透過 libvirt >0.6.0 與 hypervisior 互動,需確定 libvrt 是正常的來執行 Eucalyptus Node Controller (2) Euc 支援各種網路型式 : vlan (vconfig), bridge-utils, xen-utils |
50 | | * [wiki:Xen_Installation 安裝 Xen] |
51 | | * __2.1.3__ 與 Euc 互動的套件 -> 需安裝 EC2 command-line tools: (1)[http://s3.amazonaws.com/ec2-downloads/ec2-api-tools-1.3-30349.zip ec2-api-tools-1.3-30349] (2)[http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools-1.3-26357.zip ec2-ami-tools-1.3-26357] |
52 | | |
53 | | == '''''__『2.2 從 source 安裝』__''''' == |
54 | | * __2.2.0__ 安裝前需注意以完成 2.1 的部份,此外 Euc 分為三個元件: (元件間透過 SOAP with WS-security 來溝通,一個 Cluster 只會有一個 Cluster controller() 被執行再 head node 和每個 node 都個有一個 Node controller) |
55 | | 1. '''Cloud controller(CLC)''' -> Java 寫的程式,負責高階的資源排程和系統 accounting,此外也提供 Web services 和網頁介面讓外界使用者可以連接 |
56 | | 2. '''Cluster controller(CC)''' -> 用 C 撰寫,在 Apache 內當成 Web server 來佈署 |
57 | | 3. '''Node controller(NC)''' -> 用 C 撰寫,在 Apache 內當成 Web server 來佈署 |
58 | | >>3個元件的架構圖 -> [[Image(euc_3com.png)]] |
59 | | |
60 | | * __2.2.1__ [http://open.eucalyptus.com/downloads 下載 Eucalyptus] -> 下載兩個檔案 (Euceucalyptus-1.5.1-src.tar.gzalyptus source) & eucalyptus-1.5.1-src-deps.tar.gz |
| 48 | == ''__2.2 執行 Euc 所需的套件__'' == |
| 49 | * Front-end run-time dependencies |
| 50 | * (1) Java6 (2) Apache ant -> cloud controller (3)Java(TM) Cryptography Extension (JCE) (4) Run a server on port 25 & Exim, postfix to send mail (5) Dhcp3-server (6) iptables, vlan(vconfig) (7) 如果從 rpm 安裝的話,必須再安裝 xen-libs RPM |
| 51 | * Node run-time dependencies |
| 52 | * (1) xen > 3.0.X: enabule Unix Socket for Euc to contorl Xen -> xend-unix-server yes,Euc 透過 libvirt >0.6.0 與 hypervisior 互動,需確定 libvrt 是正常的來執行 Eucalyptus Node Controller (2) Euc 支援各種網路型式 : vlan (vconfig), bridge-utils, xen-utils |
| 53 | * [wiki:Xen_Installation 安裝 Xen] |
| 54 | * 與 Euc 互動的套件 |
| 55 | * 需安裝 EC2 command-line tools: (1)[http://s3.amazonaws.com/ec2-downloads/ec2-api-tools-1.3-30349.zip ec2-api-tools-1.3-30349] (2)[http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools-1.3-26357.zip ec2-ami-tools-1.3-26357] |
| 56 | |
| 57 | == ''__2.3 編譯 Euc__'' == |
| 58 | * [http://open.eucalyptus.com/downloads 下載 Eucalyptus] -> 下載兩個檔案 (Euceucalyptus-1.5.1-src.tar.gzalyptus source) & eucalyptus-1.5.1-src-deps.tar.gz |
149 | | * 網路配置 (提供三種高階的網路 modes,必須選擇合適的網路模式再 front-end 和 node 在 'eucalyptus.conf'設定檔內) |
150 | | 1. SYSTEM Mode -> 最簡單的網路配置,Euc 發 random MAC 位址,使用 Xen Bridge,配合 DHCP 來發 IP,適合小環境測試用 |
151 | | 2. STATIC Mode -> 此模式可讓 Euc 管理者管理 VM 的 MAC 和 IP 位址(和 SYSTEM Mode 一樣會使用到 Xen Bridge 和 DHCP),適合當管理者有一群 MAC/IP 時 |
152 | | 3. MANAGED Mode -> 最有特色的 modes,但也相當多的約束,Euc 管理需定義一個大的網路 (private 且 unrouteable)給 VMs,Euc 使用者可定義 'named networks' 和 'security groups',舉例來說使用者可以選擇是否允許 ping (ICMP) 或 ssh (TCP, port 22)到他們的 VMs,此外,Eua 也可定義一個 Public Network Pool(在Amazon 稱為 elastic IP)。此 mode 適用於需要 security groups, elastic IPs 和 VM network isolation |
| 143 | * 網路配置 (提供三種高階的網路 modes,必須選擇合適的網路模式再 front-end 和 node 在 'eucalyptus.conf'設定檔內) |
| 144 | 1. SYSTEM Mode -> 最簡單的網路配置,Euc 發 random MAC 位址,使用 Xen Bridge,配合 DHCP 來發 IP,適合小環境測試用 |
| 145 | 2. STATIC Mode -> 此模式可讓 Euc 管理者管理 VM 的 MAC 和 IP 位址(和 SYSTEM Mode 一樣會使用到 Xen Bridge 和 DHCP),適合當管理者有一群 MAC/IP 時 |
| 146 | 3. MANAGED Mode -> 最有特色的 modes,但也相當多的約束,Euc 管理需定義一個大的網路 (private 且 unrouteable)給 VMs,Euc 使用者可定義 'named networks' 和 'security groups',舉例來說使用者可以選擇是否允許 ping (ICMP) 或 ssh (TCP, port 22)到他們的 VMs,此外,Eua 也可定義一個 Public Network Pool(在Amazon 稱為 elastic IP)。此 mode 適用於需要 security groups, elastic IPs 和 VM network isolation |