设为首页 收藏本站
查看: 1148|回复: 0

[经验分享] openstack

[复制链接]

尚未签到

发表于 2015-4-11 13:44:08 | 显示全部楼层 |阅读模式
  最近在学习openstack,以下是一些基础知识:
  1、Cloud computing提供了以下几个模型:SaaS(software as a service), paas(platform as a service),iaas(infrastructure as a service),其中openstack属于第三种。
2、openstack包括以下几个模块:
1)、object Store(Swift):提供了对象的存储,它可以让你存储和检索文件,提供了强大的扩展性、冗余和持久性,一些大公司提供了基于Swift的商业存储服务。
2)、Image(Glance):主要用来管理镜像文件,这些文件都在Compute中被使用
3)、Compute(Nova):在需要的时候可以提供“虚拟”的服务。例如你需要一个100G,内存为1G的虚拟机,其可以通过设置将你需要的虚拟机提供给你。
4)、Dashboard(Horizon):提供了对于所有openStack services的一个基于web的用户界面,在这个界面上你可以进行很多的操作。
5)、Identity (Keystone):提供验证和授权的所有OpenStack的服务。
6)、Network (Quantum) :提供基于那些同样有OpenStack services (Nova)的连接来提供对用户的服务。
7)、Block Storage(Cinder):给用户的虚拟机上提供持久的块存储。该模块在别的版本中存在于Nova中。
  
  3、Network在OpenStack中是个很重要的部分,OpenStack的网络由network(网络控制器)管理,它会创建虚拟网络,使主机之间以及与外部网络互相访问。Nova有固定IP和浮动IP的概念。固定IP被分发到创建的实例不再改变,浮动IP是一些可以和实例动态绑定和释放的IP地址。在基本的网络管理方式中,所有实例的网络流都要经过网络控制器。当网络控制器出现问题时,网络就出现故障,网络控制器是一个SPoF(单故障点),为了防止出现这种问题,可以在每个计算节点上安装Network组件,此时作为其上所有实例的网关,实例不再都从控制节点经过,控制节点出现问题将不会影响网络。
在实例经过网络时,它所经过的步骤是:
1)实例经过所在主机的flat_interface(这是一个flat网络),连接到nova-network所在的主机(控制节点);
2)网络控制器对外出网络流进行转发。
  
  4、compute模块:
Nova是OpenStack中最复杂的分布式组件,它通过大量的进程合作,将最终用户的API请求发送到正在运行的虚拟机之上。以下是这些进程的列表及其功能的描述:
nova-api:接受和响应最终用户Compute API的请求。它支持OpenStack Compute API,Amazon EC2 API和一个特殊的Admin API。它还引发多数业务流程的活动(如运行一个实例),并实施一些政策(主要是配额检查)。
nova-compute:主要是一个人工守护进程,它可以通过虚拟机管理程序的API(XenAPI for XenServer/XCP, libvirt for KVM or QEMU, VMwareAPI for VMware等)来创建和终止虚拟机实例。虽然通过该进程做的事情是相当的复杂,但是它的基础原理却是非常的简单:接收队列中的动作,然后执行一系列的系统命令(如启动KVM实例),同时更新数据库中的状态。
nova-volume:给虚拟机分配额外持久化的存储,管理持久卷到计算实例的创建,连接和分离。一个新的OpenStack项目,Cinder,将最终替代nova-volume功能。在发布的Folsom版本中,nova-volume和Block Storage service(块存储服务)有类似的功能。
nova-network:该人工守护进程与nova-compute和nova-volume非常相似。它接受队列中的网络任务,然后执行任务操纵网络(如设立桥接接口或更改iptables规则)。不过该项功能被移植到Quantum之中,已经成为一个独立的OpenStack服务。
nova-schedule:从概念上说是OpenStack Nova中最简单的一段代码:从队列上得到一个虚拟机实例请求并且决定它应该在哪里运行(特别是它应该运行在哪台计算服务器主机之上)
queue:提供了一个守护进程之间传递消息的中央枢纽。当前由RabbitMQ实现,理论上可以是Python的ampqlib支持的任何AMPQ消息队列。新的Folsom版本支持Zero MQ。
SQL database:存储云基础设施的编译时和运行时的状态。这包括可用的实例类型,在使用中的实例,可用的网络和项目。从理论上讲,OpenStack Nova可以支持任何SQL-Alchemy支持的数据库,但是目前被广泛使用的数据库仅仅有sqlite3(只适用于测试和开发工作),MySQL和PostgreSQL。
Nova还提供控制台的服务,让最终用户通过代理服务器访问他们的虚拟实例的控制台。这涉及到多个守护进程(nova-console,nova-vncproxy和nova-consoleauth)。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-55996-1-1.html 上篇帖子: OpenStack Swift All In One安装部署流程与简单使用 下篇帖子: 聊聊云计算
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表