云計算EC2兼容平臺安裝實踐(圖)
最近我在公司中嘗試安裝搭建了基于 Eucalyptus 云計算EC2兼容平臺的測試環(huán)境。用一臺作為控制器,一臺作為虛擬機節(jié)點,在此感謝綜合服務部老馬的支持。
Eucalyptus 的組成說明
Euc 的組成可以分為5類組件,它們之間是通過 SOAP with WS-security進行通信。
通過下圖我們可以看到基于頂層的是Cloud Controller(clc) 和 Walrus。我們將clc,walrus,sc,cc控制器稱為前端節(jié)點,虛擬機控制器節(jié)點(nc)稱為后端節(jié)點。
控制器(前端節(jié)點):
the cloud controller (clc)
the cluster controller (cc)
walrus (the S3-like storage service)
the storage controller (sc)
虛擬機節(jié)點(后端節(jié)點):
一個或多個node controller (nc)
組件描述:
云控制器(Cloud Controller: CLC) 是Java寫的,提供給外界 ec2 兼容的Web SOAP Service 和query接口以及Web界面交互,用來管理所有的集群。執(zhí)行高層對資源的規(guī)劃和系統(tǒng)用戶的管理。
Walrus 是兼容Amazon S3的存儲,也是java寫的,為外界提供Key-Value存儲服務。 頂層的cls和walrus可以匯集多個集群的資源。每一個集群需要一個集群控制器(cc)來管理計算節(jié)點(資源規(guī)劃和網絡控制),以及一個存儲控制器(sc)。
存儲控制器(Storage Controller)實現EBS(Amazon Elastic Block Store)類型的塊存儲:所有的image文件存放于此,sc是用java寫的。
集群控制器Cluster controller (CC) - C 寫的,提供對集群內部控制,在 Apache 內作為 Web services 來部署。
虛擬機節(jié)點控制器Node controller (NC) - C 寫的,安在提供虛擬機服務的節(jié)點上,在 Apache 內作為 Web services 來部署。
安裝
鑒于ubuntu最新的Server版本已經直接集成了Eucalyptus Cloud Server的支持,能夠創(chuàng)建在 Amazon 的 EC2 基礎設施上運行 Eucalyptus 的公共云和位于防火墻之后的數據中心內部的基礎設施之上運行的私有云。這是到目前為止最為簡單的安裝和嘗試使用 Eucalyptus 的方式。只需下載 CD 服務器版并將其安裝在任何想要的地方。為了省事,所有機器安裝 Ubuntu Server 10.04 LTS。
如前所述,控制器(前端節(jié)點 10.34.7.102)上需要安裝云控制器(clc),集群控制器(cc),S3存儲服務(Walrus),Image存儲控制器(sc)??刂破鞯姆掌鹘ㄗh配置如下:
Hardware | Minimum | Suggested | Notes |
CPU | 1GHz | 2 x 2GHz | for an all-in-one front end, it helps to have at least a dual core processor |
Memory | 2GB | 4GB | the Java web front end benefits from lots of available memory |
Disk | 5400rpm IDE | 7200rpm SATA | slower disks will work, but will yield much longer instance startup times |
Disk Space | 40GB | 200GB | 40GB is only enough space for only a single image, cache, etc., Eucalyptus does not like to run out of disk space |
Networking | 100Mbps | 1000Mbps | machine images are hundreds of MB, and need to be copied over the network to nodes |
虛擬機節(jié)點控制器的服務器建議配置為:
Hardware | Minimum | Suggested | Notes |
CPU | VT extensions | VT, 64-bit, Multicore | 64-bit can run both i386, and amd64 instances; by default, Eucalyptus will only run 1 VM per CPU core on a Node |
Memory | 1GB | 4GB | additional memory means more, and larger guests |
Disk | 5400rpm IDE | 7200rpm SATA or SCSI | Eucalyptus nodes are disk-intensive; I/O wait will likely be the performance bottleneck |
Disk Space | 40GB | 100GB | images will be cached locally, Eucalyptus does not like to run out of disk space |
Networking | 100Mbps | 1000Mbps | machine images are hundreds of MB, and need to be copied over the network to nodes |
OK,下載ubuntu 10.04 Server ISO并刻盤:
http://www.ubuntu.com/server/get-ubuntu/download
#p#
安裝前端控制器節(jié)點
首先我們安裝前端控制器節(jié)點, 從光盤引導,選擇“Install Ubuntu Enterprise Cloud”.
安裝程序將會檢查本地網絡是否存在已知的云控制器組件,如果沒有檢測到就會顯示如下的畫面:
這里我們本來就要安裝云控制器,所以保持空白不填,按回車繼續(xù)。
在下面的屏幕中選擇你希望安裝的組件,這里我們要在一臺機器上安裝前端控制節(jié)點,所以選擇除了虛擬機節(jié)點外的所有組件.
在安裝過程中,你需要配置你的云計算平臺的基本信息:
首先是你的云集群名稱,例如:cluster1
然后是可供你的集群使用的公共 IP 地址池,分配給虛擬機實例的IP地址, e.g. 192.168.1.200-192.168.1.249. 如果在這里沒有提供公共 IP 地址池,那么在啟動虛擬機實例的時候就必須指定地址。
#p#
安裝后端虛擬機節(jié)點
虛擬機的節(jié)點安裝更簡單,首先請一定確保前端控制服務器已經在網絡中正常運行。
首先在節(jié)點服務器上從光盤引導,選擇“Install Ubuntu Enterprise Cloud”,只選擇安裝Node Controller.
注冊節(jié)點控制器
如果你正在用Ubuntu 10.04 LTS安裝,那么可以跳過此步,Ubuntu 10.04 LTS會自動向已經找到的集群控制器注冊該節(jié)點的。不過如果你是通過package的方式安裝的,那么本步驟依然需要。
交換公共SSH密鑰
云控制器的eucalyptus用戶需要去訪問其它控制服務器,它們之間的訪問是通過Public SSH Key來完成的。由于這里所有前端的控制器都在一臺上面,所以只需要將節(jié)點控制器的ssh key放到前端的云控制器上的俄服務器即可。
在節(jié)點服務器上臨時為eucalyptus用戶加上密碼:
sudo passwd eucalyptus
然后在云控制器(Cloud Controller)上:
sudo -u eucalyptus ssh-copy-id -i ~eucalyptus/.ssh/id_rsa.pub eucalyptus@
最后將臨時密碼刪除:
sudo passwd -d eucalyptus
配置服務
在云控制器( Cloud Controller)上:
注冊集群控制器( Cluster Controller ):
定義集群名稱: CC_NAME in /etc/eucalyptus/eucalyptus-cc.conf
定義集群IP: CC_IP_ADDR in /etc/eucalyptus/eucalyptus-ipaddr.conf, 如果有多個集群服務器IP,用空格分隔.
注冊S3 Key-Value存儲服務( Walrus Controller ):
定義服務的IP地址: WALRUS_IP_ADDR in /etc/eucalyptus/eucalyptus-ipaddr.conf.
在集群控制器( Cluster Controller)上:
注冊Image存儲控制器( Storage Controller ):
定義集群名稱: CC_NAME in /etc/eucalyptus/eucalyptus-cc.conf
定義存儲控制器的IP地址: SC_IP_ADDR in /etc/eucalyptus/eucalyptus-ipaddr.conf, 如果有多個存儲服務器IP,用空格分隔
#p#
獲取安全證書
安裝完畢,我們需要獲取能夠訪問云計算平臺安全證書來訪問,云計算平臺。
瀏覽器訪問
首先我們可以從瀏覽器訪問,訪問云控制器的URL:
注意你必須使用HTTPS安全連接訪問。默認管理用戶和密碼為:admin/admin,第一次訪問會讓你填寫修改密碼等管理信息。
完成登錄后,在Credentials頁面上獲取你的安全證書,點擊“Download Credentials”下載你的云計算平臺安全證書文件。
你也可以在云控制器服務器上直接用命令行的方式下載:
mkdir -p ~/.euca
chmod 700 ~/.euca cd ~/.euca sudo euca_conf --get-credentials mycreds.zip unzip mycreds.zip ln -s ~/.euca/eucarc ~/.eucarc cd -
可以在服務器上運行下euca2tools中的命令看看證書是否正常:
~/.euca/eucarc
euca-describe-availability-zones verbose AVAILABILITYZONE cluster1 192.168.1.2 AVAILABILITYZONE |- vm types free / max cpu ram disk AVAILABILITYZONE |- m1.small 0004 / 0004 1 192 2 AVAILABILITYZONE |- c1.medium 0004 / 0004 1 256 5 AVAILABILITYZONE |- m1.large 0002 / 0002 2 512 10 AVAILABILITYZONE |- m1.xlarge 0002 / 0002 2 1024 20 AVAILABILITYZONE |- c1.xlarge 0001 / 0001 4 2048 20
獲取了安全證書你就可以開始使用了,比如獲取或者創(chuàng)建操作系統(tǒng)Image, 開啟虛擬機實例等等。
【編輯推薦】