Enomalys Elastic Computing Platform (ECP),是目前值得关注的十家云计算公司之一,ECP把企业数据中心与商用云计算服务集成起来,让IT专业人员可以通过单一控制台全面管理内外资源,同时便于虚拟机从一个数据中心转移至另一个数据中心。从中可以体会到云计算的实质是把企业的富足的计算资源虚拟化,按照用户的要求提供服务,用户看到的一台虚拟服务器可以用来满足用户的弹性计算要求,用户无需去买一堆的硬件设备,并进行系统,应用软件的安装,对用户来说业务发展了只需要提出增加云计算服务能力的要求即可,极大的减少了用户的IT投入和维护优化,因此云计算服务不仅仅是提供了虚拟的主机,应用服务,而且通过云计算平台也在提供企业的IT服务能力。
我们通过完整的体验一把Enomaly的ECP来理解云计算的本质。
玩云计算,需要比较强悍的硬件配置,如果没有一个几十台硬件组成的实验室环境,是玩不起来的,不过如果只是想体验一下云计算的技术,一台配置强悍的单机也能满足要求,下面我们就以一台单机来部署一套完整的云计算环境,让大家也来过一把云计算的瘾。
云计算技术需要很多基础的单项技术基础,如果你曾经折腾过很多oracle的rac,折腾过很多服务器os(rhel,suse,ubuntu,freebsd),折腾过很多web服务(apache,tomcat,php,jboss)等等,而且对虚拟化技术(xen,kvm,qemu)有所了解,那么请继续阅读这篇文章,如果没有,建议先google这些关键词,这样有助于自己独立部署一套完整的云计算环境。
首先一套完整的云计算环境有多种配置,这里只介绍其中一种,很多零配件都可以换用,在换用的过程中也能锻炼动手能力,为了尽快让大家先走通一条,我们先来准备基础环境,利用sun的virtualbox建立一台虚拟机,os采用rhel 5.2,虚拟机内容设置为3.6G,硬盘设置为32G,有条件的话当然越大越好,要知道体验一套云计算环境,后面会看到动辄都是很大的iso文件和虚拟os image,都是耗费内存和硬盘的大户。
接着我们来安装配置ECP。
预安装需要做一些准备。
step1 下载 enomalism.public 并通过rpm安装 : rpm --import enomalism.public
step2 下载 enomalism001.pubkey.asc 并通过rpm安装: rpm --import enomalism001.pubkey.asc
step3 安装libvirt 0.4.1 。
手动安装保障成功
yum install libxml2-devel openssl-devel cyrus-sasl-devel xen-devel gnutls-devel gcc
wget http://libvirt.org/sources/libvirt-0.4.1.tar.gz
tar -xvzf libvirt-0.4.1.tar.gz
cd libvirt-0.4.1
./configure --prefix=/usr && make && make install
step4  下载最新的enomalism2-2.2.3.noarch.PY2.4.rpm
SourceForge, 安装:
yum install Enomalism2-2.2.2-r4157.noarch.PY2.4.rpm
 
step 5 安装管理程序 Hypervisor
Xen
yum install kernel-xen xen
或者KVM/QEMU¶
选择了rhel 5.2,需要手工下载进行安装。
Install CentOS 5.x Public Key: rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
 
32 Bit (x86) wget http://mirrors.kernel.org/centos/5.2/extras/i386/RPMS/qemu-0.9.0-4.i386.rpm
wget http://mirrors.kernel.org/centos/5.2/extras/i386/RPMS/kvm-36-1.i386.rpm
wget http://mirrors.kernel.org/centos/5.2/extras/i386/RPMS/kmod-kvm-36-2.2.6.18_92.1.10.el5.i686.rpm
wget http://mirrors.kernel.org/centos/5.2/updates/i386/RPMS/kernel-2.6.18-92.1.10.el5.i686.rpm
yum install qemu-0.9.0-4.i386.rpm kvm-36-1.i386.rpm kmod-kvm-36-2.2.6.18_92.1.10.el5.i686.rpm kernel-2.6.18-92.1.10.el5.i686.rpm
ln -s /usr/bin/qemu-kvm /usr/bin/kvm
到这一步,如果都没有出现error,那么重新启动虚拟机。
 
step 6. 启动mysql服务
/etc/init.d/mysqld start
设置mysql密码
mysqladmin password <password>
 
设置mysql服务在主机启动的时候自动启动
chkconfig mysqld on
以上6步,我们接着开始配置ECP.
step 7:
cd /opt/enomalism2 scripts/init-db.sh <mysql root password> <new ecp user> <new ecp password>
cp default.cfg config/$HOSTNAME.cfg
Edit config/$HOSTNAME.cfg
- Change sqlobject.dburi="mysql://enomalism2:zx45qw12@localhost/enomalism2" to reflect your proper MySQL username and password.
- Change enomalism2.self="5fe6f05e-7ee0-11dc-ba7c-0011d88b8e81" to reflect a unique identifier for your cluster environment (each instance needs to be unique)
- Most distros have a utility such as uuid or uuidgen that can generate a number for you. The only valid value in this field is a uuid.
- Change enomalism2.baseurl="http://127.0.0.1:8080/rest/" to the IP/hostname you use to access the ECP web interface.
- Change enomalism2.ip_addr="1.2.3.4" to the IP/hostname you use to access the ECP web interface, this will be used later for clustering
验证并查看一下mysql里面存的元数据配置。
mysql> use enomalism2
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables
+----------------------+
| Tables_in_enomalism2 |
+----------------------+
| clusters             |
| clusters_machine     |
| e2_perm              |
| enomalism_group      |
| enomalism_user       |
| exception            |
| hypervisor           |
| locker               |
| machine              |
| machine_definition   |
| networks             |
| packages             |
| qmessage             |
| queue                |
| repo_entry           |
| repo_feed            |
| static_ip_range      |
| static_ip_used       |
| static_network       |
| tg_group             |
| tg_group_permission  |
| tg_permission        |
| tg_user              |
| tg_user_group        |
| transactions         |
| variables            |
| visit                |
| visit_identity       |
+----------------------+
28 rows in set (0.00 sec)
 
接下来我们配置一下VNC,这一步如果不配置,后面在节目里面启动虚拟镜像的时候会提示连接不上虚拟镜像,也可以在遇到问题后在配置。这里我们先配置好。
 
- /etc/libvirt/qemu.conf (NOTE: If this file is missing or is a directory, you probably did not install the 0.4.1 version of libvirt!)
# VNC is configured to listen on 127.0.0.1 by default.
# To make it listen on all public interfaces, uncomment
# this next option.
#
# NB, strong recommendation to enable TLS + x509 certificate
# verification when allowing public access
#
vnc_listen = "0.0.0.0"
到这里面,我们开始启动ECP,关键的一步。
/etc/init.d/enomalism2.sh start
Starting enomalism2
Setting up KVM/Qemu Networking
Configuring Virtual Bridge on eth0 IP x.x.x.x
ok,启动成功!
先看一下web页面,下一篇详细介绍功能使用。
http://x.x.x.x:8080
默认的用户名和密码 admin password