云计算(四)——Openstack及其组件

OpenStack及其组件

Openstack是开源云计算平台(云操作系统),可以控制整个数据中心的大型计算、存储和网络资源池。

概念:云操作系统(云平台综合管理系统)指构架于服务器、存储、网络等基础硬件资源和单机操作系统、中间件、数据库等基础软件之上,管理海量的基础硬件、软件资源的云平台综合管理系统

  • 管理和驱动海量服务器、存储等基础硬件,将数据中心的硬件资源逻辑上整合成一台服务器
  • 为云应用软件提供统一的、标准的接口
  • 管理海量的计算任务以及资源调配和迁移

image-20221029203711503

特点

  • 网络化:将用户计算需求作为任务通过网络发送给各个处于不同地理位置的服务器处理,通过网络返回结果
  • 安全:采用多种多样的安全保障措施保证数据安全。内存安全、数据传输安全、持久存储安全
  • 计算的可扩充性:动态申请网络硬件资源为用户服务——本地硬件资源无需扩展

Openstack的定位:云计算系统的控制面

除了云操作系统Openstack,构建云计算还需要很多其他东西:底层驱动+上层应用程序

image-20221029204016740

组件

image-20221030183106348

云控制器:Keystone、Nova及其服务

Openstack采用无中心结构、节点无本地状态

控制器使用对称高性能集群

控制器节点很容易水平扩散

Keystone:身份认证和服务目录(所有其他服务需向Keystone注册API端点),由多个Provider组成

Nova:Openstack中提供计算资源服务的项目,是最核心的项目

  • 负责虚拟机和其他计算资源的生命周期管理
  • 不负责承载虚拟机的物理机自身的管理和全面的系统状态监控
  • 运行在云控制器上的组件
    • Nova-api
    • Nova-conductor
    • Nova-scheduler
  • Nova-compute运行在计算节点上,负责启动和终止虚拟机,通过消息总线监听虚拟机相关请求

计算节点:Hypervisor、Magnum

核心:Hypervisor

Nova-compute通过API server控制节点上的Hypervisor

存储节点:Swift、Cinder

对象存储Swift:

  • 数据与其副本作为二进制大对象存储在对象存储服务器上
  • 对象存储没有文件存储的层次结构,对象存储在扁平的命名空间
  • 使用REST或SOAP等API访问对象存储,而不是文件协议
  • 不适用于高性能要求以及经常更改的结构化数据,例如数据库

块存储Cinder:

  • 为云平台提供统一接口,按需分配的,持久化的块存储服务
  • 核心功能是对卷的管理,允许对卷、卷的类型、卷的快照、卷备份进行操作
  • 为后端不同的存储设备提供了统一的接口,不同的块设备服务厂商在Cinder 中实现其驱动支持以与OpenStack进行整合

网络节点:Neutron

​ 使得运营商能够构建和管理具有所有必要元素的完整网络拓扑

虚拟网络VLAN实现:

核心插件处理虚拟网络和端口的创建

虚拟网络创建方式

  • VLAN方式:编排连接计算节点和网络节点的物理交换机路径
  • 隧道网络:将二层数据包封装在IP数据包中;IP网络时已经封装的网络流量传输者

关键问题

如何新建虚拟机?组件之间的关联是怎样的?

虚拟机创建过程:

image-20221031102649499

image-20221031102237654

核心基础组件(不属于对外提供的而服务,但被多个Openstack组件使用):

  • 消息队列:中心化的消息交换器,用于在服务组件不同模块传递消息;队列的优势在于可以缓冲请求
  • 数据库:构建时和运行时状态信息,例如可以使用的实例类型、正在使用的实例、可用网络等,也是各个组件间共享信息的重要组件

所有组件分布在四种节点上:云控制器、网络节点、计算节点、存储节点

四种节点通过物理网络连接在一起:

  • 管理网络:Openstack服务之间的通信,包括消息队列、数据库和API
  • 存储网络:虚拟机和存储节点之间的物理连接
  • 租户数据网络:为租户创建的虚拟网络提供物理路径
  • 对外的网络:互联网连接+对外的API网络

使用隔离的物理网络处理不同类型的网络流量:同一个节点在不同网络中使用不同接口

虚拟机如何访问外网?

外网如何访问虚拟机?

虚拟机如何访问虚拟机?

posted @ 2022-10-31 14:37  PTCGnaya  阅读(391)  评论(0)    收藏  举报