运行时架构系统内部交互图
Swift也是独立组件,对系统运行没影响。
nova-api是对外的接口。 Glance是独立组件,供 nova-compute 下载镜像使用。 核心组件: Scheduler: 根据当前资源使用情况,决定计算节点分布到哪台计算节点上。目前实现很薄,目前已支持插件方式扩展,方便后面可能有采用更复杂算法。 Compute:计算节点,使用虚拟化技术, host 虚拟机 Network: 网络管理,给虚拟机分配网络和管理,使外部 PC 可以可直接访问 Volume:给虚拟机分配额外持久化的存储 运行时系统间交互都是通过异步消息的方式和DB 进行交互
运行时图管理和使用是走两个通道的。管理必须要经由 nova-api转发过去。而运行时,直接连接计算节点上的虚拟机即可。
OpenStack架构OpenStack的架构示意图和目前已实现情况
蓝色是要 openstack概念上的架构图,红色是目前已实现的。
部署部署时,除了Dashboard 必须部署在 nova-api server 上以外,所有的其它进程都可以部署在不同的机器上。
OpenStack提供了基于 Puppet 的自动部署工具。经过简单配置,就可以把各个组件部署到不同机器上。
OpenStack的镜像创建并没有纳入其职责列表。
网络模型Flat Network Manager, Flat DHCP Network Manager, VLAN Network Manager. VLAN Network Manager 这种方式适合于共有云。 在私有云方面, IP充足,而且为了方便的互联互通,简单的Flat结构网络比较适合。 OpenStack支持 Floating IPs ,该特性可以方便的通过更改IP来Failover(容错转移)或者迁移。
CAASCluster as a Service: Managing multiple clusters for openstack clouds and other diverse frameworks OpenStack无法独自满足集群计算的需求。目前有一种方案,把集群计算部署放到 IaaS/PaaS 的下一层,我们称这种解决方案是 CaaS. 当前,在很多机构或者学校,部署了不同的集群解决方案,但是他们使用的频率并不是很高,因此资源利用率不高的情况下,造成了很大的浪费(比如电费, PC)。 设计目标: o 每个集群资源都可以动态分配 o 系统隔离性好 o 集群有足够的性能和容量 设计: o IaaS/PaaS层与 CaaS 隔离 o IaaS/PaaS 层可联机扩展 o CaaS 层的镜像可通过容器有效被处理 o CaaS 层是通过 webservice提供服务 o 可通过 VLAN 网络隔离 o 自动安装 在这个解决方案中是通过 LXC的 方式来实现系统隔离 注: LXC, LINUX的容器工具,他使用cgroup把系统资源分组进行隔离。 架构图
在CaaS 中构建 OpenStack o CaaS(Physical) Physical layer. OS is installed on physical machines. o CaaS(LXC) LXC layer. A Tagged VLAN isolates LXC containers. o IaaS Cloud layer. OpenStack (nova). 过程: 1. 在物理机上安装LXC 2. 配置VPN网络 3. 执行nova 的自动部署工具 重复1~3, 在不同的机器上重复的安装OpenStack 的计算节点
|
|