Changes between Version 22 and Version 23 of Eucalyptus/Install


Ignore:
Timestamp:
May 12, 2009, 11:51:16 AM (15 years ago)
Author:
rock
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Eucalyptus/Install

    v22 v23  
    22{{{
    33#!html
    4 <h1 style="text-align: center; color: blue">Eucalyptus 安裝</h1>
    5 }}}
     4<h1 style="text-align: center; color: blue">Eucalyptus 管理者手冊</h1>
     5}}}
     6----
    67= 【1.序言】 =
    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
    1718{{{
    1819### 安裝 sun Java ###
     
    4546}}}
    4647
    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
    6159{{{
    6260#!sh
     
    111109$ ./configure --prefix=$EUCALYPTUS/packages/libvirt-0.6.3 --without-storage-disk --without-storage-iscsi --without-storage-fs --without-storage-lvm --without-libvirtd --without-remote --without-lxc --without-kvm --without-qemu --without-sasl --without-openvz
    112110$ make ; make install
    113 }}}
    114 
    115  * __2.2.2__ Building Eucalyptus
    116 {{{
     111
     112### 3.6 Building Eucalyptus ###
    117113$ cd $EUCALYPTUS_SRC
    118114$ ./configure --with-axis2=$EUCALYPTUS/packages/axis2-1.4 --with-axis2c=$EUCALYPTUS/packages/axis2c-1.4 --with-libvirt=$EUCALYPTUS/packages/libvirt-0.6.3/ --prefix=$EUCALYPTUS
    119115$ make ; make install
    120 }}}
    121 
    122  * __2.2.3__ Eucalyptus on multiple machines
    123 {{{
    124 ### 設定 Euc 設定檔的位置 ###
     116
     117### 3.7 Eucalyptus on multiple machines ###
     118# 設定 Euc 設定檔的位置 #
    125119$ $EUCALYPTUS/usr/sbin/euca_conf -d $EUCALYPTUS $EUCALYPTUS/etc/eucalyptus/eucalyptus.conf
    126120
    127 ### 將 $EUCALYPTUS/ 同步複製到其他 nodes ###
     121# 將 $EUCALYPTUS/ 同步複製到其他 nodes #
    128122$ rsync -a $EUCALYPTUS/ hostname1:$EUCALYPTUS/
    129123$ rsync -a $EUCALYPTUS/ hostname2:$EUCALYPTUS/
    130124$ ...
    131125}}}
    132 
    133 == '''''__『2.3 配置』__''''' ==
    134  * __2.3.1__ 系統配置
    135    * Front-end
     126----
     127= 【3.配置】 =
     128== ''__3.1 系統配置__'' ==
     129 * Front-end
    136130{{{
    137131$EUCALYPTUS/usr/sbin/euca_conf -cc Y -cloud Y -nc N $EUCALYPTUS/etc/eucalyptus/eucalyptus.conf
    138132}}}
    139    * Node controler
     133 * Node controler
    140134{{{
    141135$EUCALYPTUS/usr/sbin/euca_conf -nodes "<hostname1> ... <hostnamen>" $EUCALYPTUS/etc/eucalyptus/eucalyptus.conf
    142136}}}
    143   * 設定 storage 存放 image template
     137* 設定 storage 存放 image template
    144138{{{
    145139for x in hostname1 hostname2 ... hostnameN ; do \
     
    147141done
    148142}}}
    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
    153147>> 使用 SYSTEM和 STATIC 會關掉一些特色 (1)VMs間的進出規則(在Amzaon EC2 稱為 security groups) (2)使用者可控制和動態IPs分配再開機和執行期間(在Amazon EC2 稱為 elastic IPs) (3)VMs間的網路流量的的隔離
    154148
    155  * __2.3.2__ 啟動Eucalyptus
     149== ''__3.2 啟動 Euc__'' ==
    156150   * 啟動
    157151{{{
     
    171165}}}
    172166
    173  * __2.3.2__ 第1次執行 Euc 的設定
     167 * 第1次執行 Euc 的設定
    174168   1. 在 CLC 那台 登入 https://localhost:8443/  (admin/admin)
    175169     * 修改 admin 密碼
     
    188182$ source $HOME/.euca/eucarc
    189183}}}
    190 
    191 == '''''__『2.4 管理』__''''' ==
    192 === __2.4.1__ Euc 印象檔管理 ===
    193  0. '''執行前的注意事項 (1)已 source 'eucaer' 檔案 (2)user 可以註冊 Image,但只有管理者可以註冊 kernel/ramdisks (3)已安裝EC2 tools: ec2-api-tools-1.3-30349 和 ec2-ami-tools-1.3-26357)'''
    194  1. '''新增 Image'''
     184----
     185= 【4.管理】 =
     186== ''__4.1 Euc 印象檔管理__'' ==
     187 0. 執行前的注意事項 (1)已 source 'eucaer' 檔案 (2)user 可以註冊 Image,但只有管理者可以註冊 kernel/ramdisks (3)已安裝EC2 tools: ec2-api-tools-1.3-30349 和 ec2-ami-tools-1.3-26357)
     188 * 新增 Image
    195189{{{
    196190### Euc 提供的 test image ###
     
    213207$ ec2-register <bucket_name>/initrd.img.manifest.xml
    214208}}}
    215  2. '''分配 Kernel 和 Ramdisks 給 VMs (有三種方法)'''
     209 * 分配 Kernel 和 Ramdisks 給 VMs (有三種方法)
    216210   i. 在 'ec2-bundle-image' 步驟指定
    217211{{{
     
    223217}}}
    224218   iii. 在 https://your.cloud.server:8443 選擇 'Configuration' 標籤,新增 <eki-xxxxxxxx> 和 <eri-xxxxxxxx> 作為預設的 kernel 和 ramdisk 
    225  3. '''刪除 Image'''
     219 * 刪除 Image
    226220{{{
    227221### 先取消註冊 ###
     
    234228ec2-delete-bundle -a $EC2_ACCESS_KEY -s $EC2_SECRET_KEY --url $S3_URL -b <bucket> -p <file prefix> --clear
    235229}}}
    236 === __2.4.2__ Euc 管理 ===
    237  1. '''管理者環境'''
     230
     231== ''__4.2 Euc 管理__'' ==
     232 * 管理者環境
    238233   * 目前管理者只能透過命令列來管理,需注意Euc的路徑必須正確被宣告,才能正常執行指令
    239234{{{
     
    241236$ export EUCALYPTUS=/path/to/eucalyptus 
    242237}}}
    243  2. '''印象檔管理'''
    244    * 參考之前 2.4.1
    245  3. '''Node管理'''
     238 * 印象檔管理
     239   * 參考之前
     240 * Node管理
    246241{{{
    247242### 可編輯 $EUCALYPTUS/etc/eucalyptus/eucalyptus.conf 來修改 node 列表 ###
     
    251246${EUCALYPTUS}/usr/sbin/euca_sync_key
    252247}}}
    253  4. '''使用者管理'''
     248 * 使用者管理
    254249   * 使用者註冊 -> 可到 https://your.front.end.hostname:8443/ 註冊,點選Apply for account,之候選填相關的資訊,直到管理者審核後會發mail通知註冊成功
    255250[[Image(sign.png)]]
    256251   * 增加使用者 -> 管理者也可直接透過 wen 介面增加,點選 'Users' 標籤並選 'Add User'
    257252   * 管理使用者 -> 管理者透過網頁 'disable' 或 'delete' 使用者
    258 == '''''__『2.5 問題排解』__''''' ==
    259  1. '''重新啟動'''
     253----
     254= 【5.問題排解】 =
     255 * 重新啟動
    260256   * 當 front-end 要重啟時,需要關掉所有的 VMs (可使用 client tools ),或是手動使用 'xm destroy'
    261257{{{
     
    263259/etc/init.d/eucalyptus restart
    264260}}}
    265  2. '''問題判斷'''
     261 * 問題判斷
    266262   * 若是有些無法正常運作,第一步可以參考文件檢查 installation/configuration/networking 部份,來確定元件是否正常運作,資源是否可被 instances 使用,eucarc 使否正確被 source和認証,也可使用以下指令來了解系Cloud 系統狀態
    267263{{{
     
    293289 * [http://open.eucalyptus.com/wiki/EucalyptusAdministratorGuide_v1.4 Eucalyptus Administrator Guide v1.4]
    294290 * [attachment:A_Tech_Report_Euc.pdf Eucalyptus : A Technical Report on an Elastic Utility Computing Archietcture Linking Your Programs to Useful Systems]
     291
    295292[[BR]]
    296 [[BR]]