柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!
全部博文(1669)
分类: 云计算
2014-05-28 00:53:57
Hypervisor——一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件。也可叫做VMM( virtual machine monitor ),即虚拟机监视器。
CloudStack: 一个开源的具有高可用性及扩展性的云计算平台。支持管理大部分主流的hypervisors,如KVM,XenServer,VMware,Oracle VM,Xen等
CloudStack可以让用户快速和方便地在现有的架构上建立自己的云服务。CloudStack可以帮助用户更好地协调服务器、存储、网络资源,从而构建一个IaaS平台。
CloudStack的前身是Cloud com[1],后被思杰收购。英特尔、阿尔卡特-朗迅、瞻博网络、博科等都已宣布支持CloudStack。2011年7月,Citrix收购Cloud com[1],并将 100%开源。2012年4月5日,Citrix又宣布将其拥有的CloudStack开源软件交给Apache软件基金会管理。CloudStack已经有了许多商用客户,包括GoDaddy、英国电信、日本电报电话公司、塔塔集团、韩国电信等。
CloudStack 架构:
主存储:
– Block device to the VM
– IOPs intensive
– Accessible from host or cluster wide
– Supports storage tiering
主要是用来保存虚拟机实例的卷,供虚拟机运行时使用.对性能要求高,最好拥有较高的IOPS;一个主存储设备是被一个CloudStack集群内所有主机可共享访问的.主存储要支持存储分级功能.对于主存储,CloudStack支持NFS,本地存储(某些功能不可用),iSCSI,FC-SAN等存储协议,性能也是由低到高.
二级存储:
– Secondary Storage or Object Store fortemplates, ISO, and snapshot archiving
– High capacity
WORM Storage(WriteOnce Read Many storage)
用来保存一次写多次读的数据,比如模板,ISO,快照等数据,二级存储对IOPS要求并非像主存储那样高,但所存储的数据比较大,因此需要较大的容量.目前二级存储只支持NFS,对于Swift的支持正在添加,长远来看有可能支持其它的分布式文件系统如HDFS,Ceph等.
CloudStack管理节点用来提供对主存储及二级存储的综合管理,配置及使用,这两种存储在云环境中的可用上图表示:
二级存储用来存放template,snapshot和需要下载的volume。
二级存储不直接挂载到hyperviser上,需要由management server或ssvm来进行操作。
二级存储中有3个目录,template,volume,snapshots
l template目录存放的是cloudstack所管理的模板。目录结构为:template/tmpl/userid/templateid/templatefile。第一次从模板创建vm的过程,需要把secondary storage挂载到management server,然后由management server通过hyperviser向primary storage中复制模板,将template目录下的相应文件复制到primary storage中,然后将复制过去的文件标记为模板,之后再次通过该template创建的vm,都会直接从模板复制一个新的磁盘挂载到vm上作为主磁盘。
下载模板时,会由ssvm挂载相应目录,将文件link到/var/www/userdata下,并生成链接存放到db中,提供给用户进行下载。
跨zone复制模板的时候,会将文件link到/var/www/copy 目录下,并在copy中的.htaccess进行权限设置,根据全局配置和具体环境信息,会设置某些IP的可访问,某些IP无法访问。例如:如果两个zone在同一网段,都为192.168.1.*,则默认无法对模板进行copy操作,或者192.168.1.*网段的http server不允许向cloudstack上传模板。此功能由全局配置中的secstorage.allowd.internal.sites控制,将需要copy的网段添加到此项中,以逗号分隔,重启ms,然后破坏掉ssvm重建即可保证此项操作顺利进行。
l snapshots存放的是vm某磁盘的快照。目录结构为:snapshots/userid/templateid/snapshotfile。创建snapshot的时候,会先从hyperviser层创建snapshot,然后将secondary storage mount到ssvm,之后创建完整的文件存储路径,将snapshot文件复制到secondary storage相应目录中。下载snapshot的时候,会由ssvm挂载相应目录,将文件link到/var/www/userdata下,并生成链接存放到db中,提供给用户下载。
l volume存放的是需要下载的vm的磁盘的文件。在UI上点击下载后,会将volume文件先复制到secondary storage中,再由ssvm创建link到/var/www/userdata中,并生成链接存放到DB中,提供给用户进行下载。