storage -cinder(2)

来源:互联网 发布:游族影业 游族网络 编辑:程序博客网 时间:2024/06/06 06:54

在storage -cinder(1)中说过,知道host的情况下,直接使用rpc call在指定host上创建volume,否则则需要调度,就是是提到的volume_scheduler,到调度host

上create volume。

 self.scheduler_rpcapi.create_volume #这里的scheduler_rpcapi即 cinder/scheduler/rpcapi.py

在rpcapi.py中cast的消息,被cinder/scheduler/manager.py收到:

self._wait_for_scheduler()

flow_engine = create_volume.get_flow(context,
                                                 db, self.driver,
                                                 request_spec,
                                                 filter_properties,
                                                 volume_id,
                                                 snapshot_id,
                                                 image_id)

需要指出的是,这里的self.driver默认为:cinder.scheduler.filter_scheduler.FilterScheduler

在cinder中大量使用了task flow,看来一开始写cinder的人很喜欢这个库:), 在taskflow中ScheduleCreateVolumeTask的execute里:

self.driver_api.schedule_create_volume(context, request_spec,  filter_properties), 即调用FilterScheduler中的scheduler_create_volume方法

其中最主要的_schedule方法,关于cinder中所有调度的部分都在这里。

如果是各个厂商自己的存储,用厂商自己的client对存储池中进行操作,这些个schedule的动作就没有必要了。

和nova生成instance一样,cinder的调度最终也是为了决定存储的位置,对应的host是哪个,因此有host_manager, 而host_manager中

则调用很多的filter进行过滤,过滤之后用weight打分,决定最终的位置。

hosts = self.host_manager.get_all_host_states

hosts = self.host_manager.get_filtered_hosts#过滤

weighed_hosts = self.host_manager.get_weighed_hosts#打分



在mark link中,对cinder的架构讲的很好,末尾也提到了不足,实际上,对Cinder的无数的driver来说(每个有存储的厂家,一般的都有自己的块存储产品),目前Ceph

是十分火的,我曾经听人说,以后搞Ceph的会比openstack本身要更火,本来Ceph也是开源的,Redhat以其在开源社区的影响力,自己在推glusterfs。看cinder部分的

源码,我们除了能在cinder/volume/drivers/中看到Ceph的影子(RBD Driver), 也能在cinder/backup/drivers中看到Ceph Driver,Ceph以其同时支持块存储和对象

存储而受到很多人的亲睐(对于很多想使用openstack的人而言,并非所有人都想要自己的对象存储,可能干脆就不要swift模块,Ceph的这一特点,使得客户在选择的时候

更加倾向)。


前一篇中cinder/volume/drivers中块存储可以用来放镜像,用户数据,虚机等,提高了openstack的可用性,而backup driver中的主要功能,我们可以从openstack

官方wiki中看到,其对volume进行备份(提供增量/差异化的备份策略)


mark link

http://www.storageonline.com.cn/storage/san-storage/openstack-hanvan-block-service-cinder-installation-and-configuration-guide/

http://specs.openstack.org/openstack/cinder-specs/specs/kilo/incremental-backup.html


加一句,整合openstack和ceph,在ceph的官网有详细教程 http://ceph.com/docs/master/rbd/rbd-openstack/




0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 公司在朝阳社保在海淀怎么办 公司没缴纳个税怎么办 报个税工资报少了怎么办 医院预约单丢了怎么办 肛瘘手术后太疼怎么办 低位保肛手术后吻合口瘘怎么办 做完痔疮手术后大便困难怎么办 20岁长痔疮了怎么办 孕妇痔疮痒的难受怎么办 痔疮术后伤口不愈合怎么办 剖腹产液化伤口长的慢怎么办 内痔斑痕怎么办了能消化 油条面和稀了怎么办 解脲支原体感染怀孕怎么办 怀孕了检查出解脲支原体感染怎么办 大便是黑色的要怎么办 大人直肠给药不好意思怎么办 肛周脓肿长肉芽怎么办 二岁宝宝有直肠息肉怎么办 87岁老人得直肠息肉怎么办 做b超查出囊肿怎么办 解大便时肛门痒怎么办 生完孩子肛门痒怎么办 把达克宁软膏摸到肛门怎么办 痔疮手术后肛门痒怎么办 便秘拉完屁股疼怎么办 屁股拉屎拉破了怎么办 6岁小朋友屁眼痒怎么办 孩子屁屁偶尔痒怎么办 1岁半宝宝屁眼痒怎么办 3岁宝宝肛门痒怎么办 得痔疮发烧了怎么办啊 痔疮手术后肚子胀气怎么办 乙肝引起的发烧头痛怎么办 肠癌手术后吃了会胃疼怎么办 来月经肛门坠痛怎么办 总想排便还有血怎么办 闻了别人的口臭怎么办 有内痔肛门经常不舒服怎么办 做完肠镜肛门疼怎么办 3周宝宝得皮彦怎么办