如何安装openstack 安装manila

自动安装分布式openstackM版_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
自动安装分布式openstackM版
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩10页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢首先说下什么是OpenStack?OpenStack是一个开源的管理平台,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的,每个服 务提供API以进行集成。用语言编写。什么是NAS服务?众所周知,有几种类型的存储,DAS(Direct Attached Storage),NAS( Attached Storage),SAN(Storage Area Network)今天主要围绕NAS来展开介绍。NAS全称Network Attached Storage,就是基于的存储服务,这里的网络一般是以太网。当存储通过网络交付后,内多个应用都能通过网络挂载存储服务,而主流NAS服务都支持CIFS协议和NFS协议。什么是Manila?马尼拉这个OpenStack项目听起来很像某个国家的的首都,是的没错,它就是菲律宾的首都。哈哈,咱们言归正传:)Manila项目全称是File Share Service,文件共享即服务。是OpenStack大帐篷模式下的子项目之一,用来提供云上的文件共享,支持CIFS协议和NFS协议。社区情况目前Manila项目的主导者是由各大存储厂商把持 NetApp、Mirantis、EMC、IBM等等,项目情况的话目前版本也是跟随OpenStack版本发布一同发布的。下面是Manila项目的Git地址、wiki地址和IRC地址。每周四23点可以参与社区的meeting讨论/openstack/manilahttps://wiki.openstack.org/wiki/Manila#openstack-manila on IRC(Freenode)功能性介绍Share用户指定大小、访问协议、共享类型可被多个实例并行访问Share Access Rule(ACL)定义哪些可以访问Share根据IP地址进行定义Share Network(共享网络)定义客户端访问Share使用的Neutron的网络及子网一个Share只能属于一个Share NetworkSecurity Service(服务)用户安全服务(LDAP、Active Directory、Kerberos等)一个Share可以被关联至多个安全服务Snapshots(快照)共享文件系统的只读副本可以从快照创建共享文件系统服务BackendShare服务的提供者一个share必然属于一个backendDriver(驱动)后端文件共享服务的具体实现,例如GPFS、Glusterfs、EMC VNX、Generic、Cephfs等一般使用Generic驱动,Cephfs驱动已经有人提交了。正在review中https://review.openstack.org/#/c/270211/创建Manila Share过程说明(这里使用的是Generic驱动) 650) this.width=650;" src="/upload/images//8581.jpg" title="QQ截图23.jpg" alt="wKiom1bTvmiju4ZlAAB2I43IlVg774.jpg" />创建一个Nova实例,通过Cinder的Volume来提供NFS/CIFS共享服务每个Share Network创建一个Nova实例连接到已存在Neutron网络及子网中创建Nova实例使用的Nova的flavor、Glance的image、SSH Keypair均是Manila配置的Manila通过 SSH对Nova实例进行配置Manila API概览650) this.width=650;" src="/upload/images//8582.png" style="float:" title="1.png" alt="wKioL1bTwDig3ZpJAAE7xHrIHxk446.png" />650) this.width=650;" src="/upload/images//8583.png" style="float:" title="2.png" alt="wKioL1bTwDmzUmMfAAL44BN7lMI170.png" />Manila网络详解关于Manila网络的管理以及连接的详细说明在王为的中已经详细说明了,这里就不在赘述。http://mytrix.me/2015/01/network-part-of-manila/,以及陈迪豪博客文章的为什么私有网络要绑存在疑惑:/p/d04f829e3330 这两篇文章都很经典值得一看。Manila-UI Horizon截图650) this.width=650;" src="/upload/images//8584.png" style="float:" title="1.png" alt="wKioL1bTwV2w3taQAACs2FKKMAc035.png" />650) this.width=650;" src="/upload/images//8585.png" style="float:" title="2.png" alt="wKioL1bTwV2gxmC-AADFAwMl6sA328.png" />650) this.width=650;" src="/upload/images//8586.png" style="float:" title="3.png" alt="wKiom1bTwOiiI4cAAACaLlMQXo4649.png" />650) this.width=650;" src="/upload/images//8587.png" style="float:" title="4.png" alt="wKioL1bTwV6g0yemAACkIB9c72s370.png" />本文出自 “态度决定一切” 博客,请务必保留此出处http://sangh./5955The page is temporarily unavailable
nginx error!
The page you are looking for is temporarily unavailable.
Please try again later.
Website Administrator
Something has triggered an error on your
This is the default error page for
nginx that is distributed with
It is located
/usr/share/nginx/html/50x.html
You should customize this error page for your own
site or edit the error_page directive in
the nginx configuration file
/etc/nginx/nginx.conf.openstack(14)
create share
manila-api
1.获取请求的上下文---context
2.验证请求体是否符合标准
不合法抛出异常
3.从请求体中取出要创建的share。
4.提取share的name替换成display_name
5.提取share的description信息,替换diplay_description
6.提取share的size和share_proto(协议)
7.提取share的所在az和metadata
8.提取share的snapsot_id
用于检测该share是否来自快照。
若有snapshot信息则获取该snapshot的信息。如果所创建的share来自于snapshot则,该share的share_network_id要么和snapshot的原版shareshare_network_id相等,要么为空。
如果为空着径snapshot的原版share的share_network_id赋值给新share,否则抛出异常。
9.提取share所使用的share_network_id。
10.若该share有share_network_id,则获取该share_network实体。** 异常检测,获取失败抛出异常
11.检测使用的网络是否关联到指定的router。**
1.通过子网id获取所使用的子网
2.检测子网中是否有geteway_id属性,没有则抛出异常。即使用的子网必须要有网关。
3.获取选定网络中的所有关联到router上的端口(ports)。
4.检测所使用的子网的网关ip是否管理到router。ip相等 and 所在同一个子网。否则抛出异常。
12.获取share所使用的volume的type。
13.如果share中有指定所使用的volume的类型,则获取该类型的标识,通过name或者uuid。异常检测,失败抛异常。
14.开始进一步创建。
manila.share.API.create()
1.对操作做策略检查。 ** 根据服务的policy文件,判断在此上下文环境下,对该目标的操作是否有效。
2.检测metadata对象,metadata中的key长度不能大于255字符,value的值长度小于1024字符.
3.如果该share是基于snapshot创建的,则该snapshot的status必须为available。否则抛出异常。
4.检测share的size,size为整型且大于0,否则抛异常。
5.如果基于snapshot且指定了类型,则指定的share的类型和snapshot的类型必须一致。
6.检测指定的协议是否合法,即:nfs、cifs、glusterfs中的一种。
7.从资源中预留将要创建的share大小的资源。** 如果超出限额则抛出异常。
8.构建options,包含要创建share信息,用于创建share数据库条目。share status 状态进入creating
9.创建share数据库条目,并提交资源预留值。异常捕获,如果有异常则回滚该数据库操作。
10.如果share是基于snapshot创建的,则该share也会落在snapshot所在的host上,不经过scheduler,直接在确定的
host上创建share。否则经scheduler选择合适的host,执行task。
这里假设share是基于新的volume来创建的。这里需要使用消息机制来远程调用(manila.scheduler.rpcapi.SchedulerAPI.create_share()),scheduler来选择 合适的host继续share的创建。
manila.scheduler.manager.SchedulerManager.create_share()
1.使用指定的scheduler驱动来选择过滤用来创建share的host。
scheduler_driver = manila.scheduler.filter_scheduler.FilterScheduler.scheduler_create_share() **
1.选择合适的host。**
没有选择合适的host,或者中间报出异常,则置该share状态为error
1.为context打上admin标签,使其可以调用一些admin操作。
2.将share_properties转换成resource_properties。
3.检查相关的配置文件是否发生更新,如果发生变动则重新加载。
4.添加可重复调到的配置项。
5.添加过滤的配置项。
6.获取运行有manila服务的所有可用的hosts。
7.对获得的hosts,使用指定的过滤器对其进行过滤,如az、存储等项进行过滤。
9.通过指定的标准,对通过过滤的hosts,计算其权重,并对其排序。
10.返回权重最大的host。
2.获得将用来创建share的host,更新share在数据库中的条目。
3.将选择的host,添加到filter_properties中,用于如果创建失败,在retry时,作为淘汰该host的条件。
4.从filter_properties中去除打上admin标签的context,继续share创建。
通过消息机制远程调用,share dirver继续share创建工作。
manila.share.manager.ShareManager.create_share(...)
1.把context打上admin标签。
2.通过share_id获得要创建的share的详细信息。
3.获取share使用的网络。
4.判断是否提供share_netwok且其使用的driver能够操作share server。否则抛出异常。
5.如果share是基于snapshot创建的,则获取该snapshot,和该snapshot的share server id。否则抛出异常。。否则抛出异常。
开始share创建task。
6.如果是基于snapshot创建share则获取snapshot所使用的share server,并更新该share的数据库条目。如果不是,但是提供了share_network
则为该share创建新的share server。如果都没有则置share_server为None。 **
7.如果基于snapshot创建share,则调用从snapshot来创建share,否则直接创建share。 **
8.更新share在数据库中的条目。
9.如果一切成功则置share的status为available,否则置为error。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:27800次
积分:1136
积分:1136
排名:千里之外
原创:85篇
(2)(9)(3)(3)(4)(3)(3)(7)(1)(1)(5)(6)(9)(1)(2)(4)(1)(9)(1)(1)(15)(1)(1)}

我要回帖

更多关于 openstack安装部署 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信