Enomaly’s 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 --imp<wbr>ort enomalism.public</wbr>
step2 下载enomalism001.pubkey.asc并通过rpm安装:rpm --imp<wbr>ort enomalism001.pubkey.asc</wbr>
step3 安装libvirt 0.4.1 。
手动安装保障成功
yum install libxml2-devel openssl-devel cyrus-sasl-devel xen-devel gnutls-devel gcc
wgethttp://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 --imp<wbr>ort<a href="http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5" rel="nofollow" style="padding-bottom:0px; margin:0px; padding-left:0px; padding-right:0px; color:rgb(175,140,0); text-decoration:none; padding-top:0px">http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5</a></wbr>
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
Editconfig/$HOSTNAME.cfg
- Changesqlobject.dburi="mysql://enomalism2:zx45qw12@localhost/enomalism2"to reflect your proper MySQL username and password.
- Changeenomalism2.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 asuuidoruuidgenthat can generate a number for you. The on<wbr>ly valid value in this field is a uuid.</wbr>
- Changeenomalism2.baseurl="http://127.0.0.1:8080/rest/"to the IP/hostname you use to access the ECP web interface.
- Changeenomalism2.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"
- /etc/xen/xend-config.sxp
# The interface for VNC servers to listen on. Defaults # to 127.0.0.1 To restore old 'listen everywhere' behaviour # set this to 0.0.0.0 (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页面,下一篇详细介绍功能使用。
默认的用户名和密码 admin password
登陆后,我们可以看到整体界面
dashboard里面可以很清楚的看到整个平台的操作过程和结果,非常清晰。
Virtual Infrastructure里面可以看到虚拟的os镜像,这里是Ubuntu 8.04 server 和netbsd 4.0,界面十分友好,虚拟的配置为256M内存,1颗CPU和1G硬盘。启动很快,可以通过vnc连接上虚拟os镜像或者用vnc客户端连接,和真实机器使用起来基本没有区别。还可以管理网络设备。
大家会问,这些虚拟os系统如何安装的,别着急,下一个菜单就有。虚拟os的管理都在Repository里面。可以管理本地应用,远程应用,自己通过iso,cdrom等创建vm镜像,并且对于iso大于1G的还提供直接通过ftp方式传输到/opt/enomalism2/iso/,方便安装。
在admin菜单下有很多api的介绍。
还可以做个性化配置
在user菜单下可以进行用户和组的管理。
还可以管理每个用户的具体访问资源的权限。
管理起来非常方便。
还有很多功能,大家可以深入挖掘一下。
如果有兴趣的同学可以参考官方文档,共同交流提升。
转自:http://rdc.taobao.com/blog/dw/archives/408