Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10171041
  • 博文数量: 1669
  • 博客积分: 16831
  • 博客等级: 上将
  • 技术积分: 12594
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-25 07:23
个人简介

柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!

文章分类

全部博文(1669)

文章存档

2023年(4)

2022年(1)

2021年(10)

2020年(24)

2019年(4)

2018年(19)

2017年(66)

2016年(60)

2015年(49)

2014年(201)

2013年(221)

2012年(638)

2011年(372)

分类: 云计算

2014-05-28 00:53:57

CloudStack 架构和存储
http://blog.csdn.net/rumenxinshou/article/details/18808931

分类: 云计算 201人阅读 评论(0) 收藏 举报

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中,提供给用户进行下载。

阅读(716) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~