云计算带来一场计算环境的变革,把传统的软件安装、许可证的发布变成了通过Internet获取的所需服务。比如,微软office365就是基于云的办公应用软件,用户再也不需要直接购买和安装;在Facebook社交网站,上传视频也是通过使用云存储服务来实现的,这样大大降低了用户的硬件成本。IaaS(基础设施即服务)是云计算的一种重要的服务形式,有许多开源软件可以提供多种私有云的构建方案,当前私有云平台有OpenNebula(主要用来实现集群计算的一种虚拟机管理器)、CloudStack(提供公共云、私有云、混合云laaS)和Eucalyptu等方案。Eucalyptus提供基于Amazon网页服务API规范标准的云接口,它提供的功能与Amazon云计算平台服务所提供的相同,在面向服务架构的层面上它做得较好,通过集群或工作站Eucalyptus可以实现具有弹性的、实用的云计算。
1、云计算提供的服务和实现技术
1.1云计算机提供服务
云计算是一种通过Internet以服务的方式提供动态可伸缩的虚拟化的资源的计算模式?,是一个无处不在、便利、按需的可通过网络访问的一池共享可配置的资源的一种模式,只要较少操作,就能持有者快速提供网络、服务器、存储、应用和服务。云的类型有公有云、私有云和混合云,公有云通过互联网为所有的用户提供资源,私有云通过互联网上为一个组织的内部用户提供资源,混合云通过互联网根据不同用户提供相应的资源。云计算服务包括:IaaS、SaaS和PaaS,IaaS(基础设施即服务)通过导航方式向用户提供基于云的服务包括:虚拟机、块存储、防火墙、负载平衡和网络;PaaS(平台即服务)通过互联网向用户提供操作系统、应用开发平台(如微软的VisualStudio.net):SaaS(软件即服务)通过互联网把软件(如ERP、CRM)提供给用户,这些由SasS提供的软件已经获得了较大的收益。
1.2云计算实现的关键技术
虚拟化技术是实现云计算的关键,IaaS(基础设施即服务)是一个在云环境中提供虚拟化设置创建多个工作站的基础。在计算环境中,虚拟化意味着对一个设备或一个资源创建一个版本,如服务器、存储装置、网络甚至操作系统,在这个架构里,把这些资源分成一个或多个执行环境管理程序,也被称为虚拟机监控程序(VMM),VMM是许多硬件虚拟化技术中的一种,它允许多被称为客户机的操作系统并发运行在主机上。VMM有2种模式,裸金属模式和主机模式;裸金属模式Hypervisor(虚拟机管理器)是提供虚拟分区方法的薄的软件层,它直接运行在硬件上,如CitrixXenServer、VMwareESX/ESXi。主机模式Hypervisor(虚拟机管理器)是一种分区和虚拟化服务都运行在主机操作系统顶层的虚拟化技术,如:基于核心的虚拟机KVM、VMwareplayer和VirtualBox。
目前所使用的虚拟化方式有2种:完全虚拟化及半虚拟化。完全虚拟化提供完整的相关计算机硬件模拟,软件能够不经任何修改运行。由于它使计算资源最大的使用和伸缩,多个操作系统能够同时运行在相同的硬件上,对于云计算来说,完全虚拟化被认为是一个关键的技术。对于云计算来说,完全虚拟化能够增加操作的有效性,因为它能优化计算机负载和调整使用中的服务器数量来满足需要,从而能源和信息资源。所使用的全虚拟化的仿真包有VMware Server Virtualbox。半虚拟化是Hypervisor提供一客户操作系统能够使用的接口客户操作系统的一种技术,它取代了通常的硬件接口。如果客户操作系统能使用半虚拟化的接口,它们将提供象对硬盘和网络资源显著快速的访问,如微软的Hyper-V和VMware ESX Server。
2、Eucayptus组成和原理
2.1组成
Eucalyptus是“Elastic Utility Computing Architecture for Linking Your programs to Userful Systems”首字母缩写,意思是把你的程序链接到有用系统的富有伸缩公共计算架构上,Eucalyptus是可创建和管理私有云和公有云的开源软件,有5个组件,分别是云控制器(CLC)、存储控制器(SC)、节点控制器(NC)、集群控制器(CC)、分布式存储控制器Warlus(W)。
2.2原理
它的CLC(云控制器)类似Amazon的EC2,是用户和管理员的云入口,它向节点管理员查询资源信息,做出计划和决策,并通过向集群控制器发出请求来实现;它的SC(存储控制器)类似Amazon的S3云控制器,它提供了存储、访问虚拟机器里的镜像和用户数据的方法;它的NC(节点控制器)是通过Hypervisor管理执行、检测、结束其所运行在主机上的虚拟机实例;它的CC(集群控制)是用来收集有关节点控制器上的虚拟机运行的信息,并调度其运行计划和管理虚拟实例的网络;SC(存储控制器)与W(Walrus)互相配合完成访问和存储内核映像、RAM磁盘映像、虚拟机映像及用户数据。
3、构建基于EucaIyptus私有云的具体实现
3.1构建一个私有云条件
构建一个私有云至少有一个前端和一个节点,为了更好阐明问题,本文就以部署最基本的系统为例说明一个私有云平台的具体构建。下文描述私有云前端系统(云控制器)和节点(节点控制器)建立的详细过程。
3.2所使用的硬件和软件
硬件:两台相同配置的Dell机架服务器R715(支持虚拟化技术);软件:操作系统Ubuntu10.04 server,Hypervisor使用KVM,云软件使用Eucalyptus Cloud1.6.2。
3.3软件安装和配置
3.3.1安装云、存储、集群控制器和Walrus存储服务
先选择其中一台Dell服务器(标记为SERVER1)使用ubuntu 10.04 server edition安装企业云,在安装时选择安装ubuntu企业云,安装过程中,具体配置参数如下:IP地址设置为:192.168.0.221,网关为:192.168.0.1,子网掩码为:255.255.255.0,域名服务器:202.101.98.55(根据自己具体的DNS来填),主机名设置为:CC;云控制器地址为空,在云安装模式中选择云控制器,Walrus存储服务,集群控制器,存储控制器:分区选择中把整个磁盘设置成LVM(逻辑卷管理),设置帐号的新用户全名和用户名(在本文设置为:cladmin),选择不自动更新软件,设置Eucalyptus集群名(在本文设置为:Clusterl),设置能动态分配给虚拟机的公共IP(在本文设置为:192.168.0.70—192.168.0.80),安装KVM以便绑定将来要安装的系统镜像。
3.3.2安装节点控制器
使用另一台Dell服务器(标记为Server2),同样使用ubuntu 10.04 server edition,在安装时选择安装ubuntu企业云,这时云控制器会自动被检测到,具体配置参数如下:IP地址设置为:192.168.0.222,网关为:192.168.0.221,子网掩码为:255.255.255.0,域名服务器:202.101.98.55(根据自己具体的DNS来填),云安装模式选择节点控制器,主机名设置为:NC,分区选择中把整个磁盘设置成LVM(逻辑卷管理),设置帐号的新用户全名和用户名(在本文设置为:cladmin)
3.3.3交换公共SSH密钥,在节点控制器设置临时口令:
$sudo passwd eucalyptus
在云控制器上输入:
$sudo –u eucalyptus ssh-copy-id-I/var/1ib/eucalyptus/.ssh/id-rsa.pubeucalyptu@192.168.0.222
在节点控制器上删除临时口令:
$sudo passwd -d eucalyptus
3.3.4获取证书
在云控制器上:安装x.509证书和变量,在浏览器中键入:https://192.168.0.221:8443#login后单击击证书选择“证书”标签
下载证书文件euca2-admin-x509.zip。然后把它复制到/home/cladmin中,创建隐藏的文件夹euca,云控制器和zip文件的解压放在这里
$mkdir~/.euca
$cd~/.euca
$unzip/home/cladmin/euca2-admin-x509.zip
为安全起见,删除ZIP文件
$rm~/euca2-admin-x509.zip
$chmod 0700~/.euca
$chmod0600~/.euca/*
设置环境变量,并让它产生作用:
$echo.~/.euca/eucarc>>~/.bashrc
$source~/.bashrc
安装euca2ool与UEC建立通信:
$sudoapt-getinstal1euca2ools
检N0euca2ool工作状态:
$euca-describe-availability-zones verbose
如果在有效资源列表中,free/max vcpus是0000/0000那么意味着节点在安装期间或在云控制器上没检测到云控制器,节点没有自动注册。在服务器SERVER1(装有云控制器)上,使用下面的命令增力N192.168.0.222为节点控制器:
$sudo euca_conf –discover-nodes
3.3.5在SERVERl上安装镜像
打开浏览器,键入https://192.168.0.221:8443,在出现的页面选择“Extras”标签,在页面上会列出提供的镜像。
(1)在出现的页面里,从UEC(ubuntu企业云)中下载镜像,注册内核映像执行下列命令来绑定和注册内核镜像:
$euca-bundle-image-I vmlinuz-2.6.28-11-server—kernel true
$euca-upload-bundle-b mybucket—m /tmp/vmlinuz-2.6.28-11-server.manifest.xml
$euca-register mybucket/vmlinuz-2.6.28-11-server.manifest.xml IMAGE eki-68101303
(2)注册ramdisk执行下列命令绑定和注册ramdisk镜像:
$euca-bundle-image-iinitrd.img-2.6.28-11-server
$euca-upload-bundle-b mybucket –m /tmp/initrd.img-2.6.28-11-server.manifest.xml
$euca-register mybucket/initrd.img-2.6.28-11-server.manifest.xml IMAGE eri-A26613DD
(3)注册磁盘镜像执行下列命令绑定和注册磁盘镜像:
$euca-bundle-image-icentos.5-3.x86.img—kernel eki-68101303—ramdiskeri-A26613DD
$euca-upload-bundle -b mybucket -m/tmp/centos.5-3.x86:img.manifest.xml
$euca-register mybucket/centos.5-3.x86.img.manifest.xml IMAGE emi-F62F1100
(4)已经上传的新镜像可以由下列命令查看:
$euca-describe-images
3.3.6安装密钥对
创建一个新组“wiki”取代缺省组,并使用:对实例开放22号端口,:
$euca-add-group wiki –d wiki-demo-appllances
$euca-authorize wiki –P tcp –p 22 –s 0.0.0.0/0
建立用来注入实例(虚拟机)中允许通过ssh访问的密钥对:
$euca-add-keypair mykey>~/.euca/mykey.priv
$chmod 0600~/.euca/mykey.priv
此时,基于IaaS服务的私有云平台建立完成并开始运行。
4、在云中运行实例
4.1启动实例
键入命令:
$euca-run-instances -g wiki –k mykey –t c1.medium emi-F62F1100
4.2使用Elasticibx插件
由于Elasticfox与Amazon EC2有接口,在需要的时候,可以把所构建的私有云迁移到公有云上。Elasticfox是运行在火狐浏览器2.0及以后版本帮助管理AmazonEC2的一个插件,初始设计来支持EC2,它从1.7版本开始增加了Eucalyptus的支持,因为EucalyptusAPI与EC2是兼容的。Elasticfox的特性:列出可用的机器镜像;列出正在运行的实例:启动一个新的AMI/EMI实例;管理安全组和规则;管理快照/EBS卷。
$euca-describe-instances
4.3运行实例时注意事项
在启动时.实例处在挂起状态,一段时间后,处在运行状态,这个时候,客户可以使用CentOS操作系统。一个实例要结束,首先进入关闭状态,然后结束。
5、结论
本文对于使用开源软件构建基于Eucalyptur架构提供IaaS服务的私有云提供了一种设计方案,并详细描述了使用开源操作系统Ubuntu Server具体的实施过程。这种设计具有快速、简单、费用少、维护简单特点,并可在合适的时候迁移到公有云上。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/