• OpenStack组件


    OpenStack的架构及组件(Havana)

    服务 项目名 描述
    控制台 Horizon 用户通过该服务与OpenStack的各服务进行交互,如启动虚机实例、分配IP地址、设置访问控制等;
    计算 Nova 按需分派并管理虚机;
    网络 Neutron 通常是计算服务通过该服务管理网络设置之间的连接,也可以允许终端用户创建并添加网络接口;通过一个插件式架构支持大量网络广商设备及网络技术;
    存储类
    对象存储 Swift 存取文件,但并不提供传统挂载式的文件服务;
    块存储 Cinder 向虚机提供可用于持久存储的块存储服务;
    共用服务
    身份服务 Keystone 为OpenStack提供认证及授权服务。
    镜像服务 Glance 提供虚机镜像的注册服务;同时计算服务也使用该服务分派实例;
    计量/监控服务 Ceilometer 用于计费、基准测试及数据统计等功能
    更高层服务
    编排组织服务 Heat 使用自带的HOT模板或AWS的CloudFormation模板,通过OpenStack中各服务的REST API,将各组件的资源组织形成云应用;

    Nova

    计算服务是OpenStack的核心服务,它由nova-compute模块通过libvirt、XenAPI等管理hypervisor,从而管理虚机,此外它还通过nova-api服务向外提供如EC2兼容、管控功能等的接口,通过nova-scheduler模块提供虚机调研逻辑等;这些模块间的通信全部通过消息队列完成;

    Swift

    对象存储服务是OpenStack最早期的两个服务之一(另一个是计算服务),在OpenStack平台中,任何的数据都是一个对象;swift-proxy模块对外提供如HTTP(S)、OpenStack Object API及与S3兼容的存取接口。对象的存取经swift-proxy接入后,还需要经三个模块进行定位,即account、container、object;这是因为在OpenStack中一个对象被描述为:某个帐户下某个容器中的某个对象;

    Glance

    Glance的出现是解决虚机镜像的管理问题;在生成一个镜像后,需要将镜像注册到系统的数据库中;当要实例化一个虚机时,需要将镜像分派到一台具体的实机上用来以启动虚机;因而Glance最重要的接口是镜像的注册和分派;

    Cinder

    Essex将nove的卷管理api独立化后,Folsom终于将卷管理服务抽离成了Cinder;Cinder管理所有的块存储设备,块设备可以挂接在虚机的实例中,然后虚机里的guest系统可以像操作本地卷一样操作块存储设备;
    Cinder需要处理的主要问题应该是接入各种块设备,如本地磁盘、LVM或各大广商提供的设备如EMC、NetApp、HP、HuaWei,还有如Vmware提供的虚拟块设备等。
    值得一提的是发现在Cinder的驱动列表中出现了NFS,按理说NFS提供的不是块访问接口,而是文件访问接口,走到文档中看到说明为:NFS based cinder driver. Creates file on NFS share for using it as block device on hypervisor.竟然是用NFS上的文件模拟块设备。为什么不直接写一个将本地文件模拟为块设备的驱动呢?应该是写成NFS驱动,可以将NFS的挂载动作封装在驱动中。

    Neutron

    经过一定时间的演变,网络管理也抽离成一个独立的服务;在OpenStack的网络管理流程中,通常需要经过以下几个步骤:
    1.    创建一个网络;
    2.    创建一个子网;
    3.    启动一个虚机,将一块网卡对接到指定的网络上;
    4.    删除虚机;
    5.    删除网络端口;
    6.    删除网络;

    Keystone

    身份服务需要进行认证凭证的验证及关于用户、角色等的信息,及所有相关的元数据;这些数据全都由Keystone服务管理,并提供CRUD的操作方法;另外这些信息可以从另一个认证服务中获取,例如使用LDAP做Keystone的后端。

    OpenStack与VM

    以上这些服务与服务、服务与虚机的关系如下图所示:

    • 真正服务于VM的服务只有Nova、Glance、Neutron、Cinder:
      • Nova调派资源实例化虚机;
      • Glance提供虚机实例化时需要的镜像;
      • Neutron提供网络连接;
      • Cinder提供外接的块存储服务;
    • Ceilometer从上面与虚机相关的几个服务中收集数据,用于统计、监控、计费、报警等;
    • Swift可以为Glance提供镜像的存储服务,可以为Cinder提供卷的备份服务;
    • Keystone为所有服务提供认证、授权等服务;
    • Horizon为所有服务提供基于Web的操作接口;
    • 通过Heat可以方便地将各组件组织起来;
  • 相关阅读:
    追踪CPU跑满
    巧用Systemtap注入延迟模拟IO设备抖动
    用户态函数跟踪 (无调试符号)
    C#(同步调用、异步调用、异步回调)
    如何安装Python环境以及为Visual Studio 2012安装Python插件
    [转] FTP主动模式和被动模式的区别
    ORA-12154: TNS: 无法解析指定的连接标识符
    C# Enum,Int,String的互相转换 枚举转换
    2.Maven之(二)Maven生命周期
    1.Maven之(一)Maven是什么
  • 原文地址:https://www.cnblogs.com/xueluo/p/3510761.html
Copyright © 2020-2023  润新知