首页 > 代码库 > Openstack nova(二)——架构(一)
Openstack nova(二)——架构(一)
架构源自需求
需求分析
软件架构大部分都来自于需求。能够说。有什么样的需求,就会有什么样的架构, 尽管不同一时候期,不同的人来实现,可能不全然一样。可是整体来说, 架构不会相差太远。
如今假设假设须要自己来实现一个相似Openstack这样功能的软件,会是什么样的呢?
首先,还是再看看前一章中总结的最简单的需求
- 物理server的管理
- server的选择
- 虚拟机的创建、开机、关机、挂起、暂停、调整、迁移等操作
物理server的管理
要对物理server进行管理, 至少要满足下面几个条件
- 要有一台做管理用的server
- 每台server至少能够和管理服务进行网络通信
- 管理server有能力对服务进行一些操作管理
通过上述的分析。通信时至少须要一种通信协议。但为了满足很多其它的需求,能够考虑支持多种协议, 远程的管理须要远程调用功能。
server的选择
相同, 要依据客户的不同配置来选择服务。 至少须要满足下面几个条件
- 能够获取server的的状态信息, 比方说可用的CPU个数。内在大小, 硬盘大小等
- 须要保存server的状态信息,作为选择时的输入信息
- 须要一些选择过虑的规则
以上的需求。至少须要保存数据的数据库, 和协议有相同的问题,如今的数据库非常多,能够考虑支持多种数据库。
虚拟机的创建、开机、关机、挂起、暂停、调整、迁移等操作
在前一章中, 已经强调一点。 Openstack仅仅是管理平台。它是不会实现虚拟功能, 还有, 要创建一台虚拟机,至少须要CPU, 内存, 硬件三种硬件。并且虚拟本身就是为提供服务而存在,而如今的大部分服务。都是基于网络服务,所以网络也是不可缺少的一种硬件。
所以整体的需求大概例如以下
- 各种虚拟化技术的支持管理,眼下主流的虚拟化技术例如以下:
- Baremetal
- Docker
- Hyper-V
- Kernel-based Virtual Machine (KVM)
- Linux Containers (LXC)
- Quick Emulator (QEMU)
- User Mode Linux (UML)
- VMware vSphere
- Xen
- 硬盘支持
- 网络支持
- 镜像支持
隐形需求
- 对外的接口,仅仅有对外可操作,才干管理
- 用户管理, 不同的用户须要有不同的权限
到此为此, 一些最主要的需求已经出来了。把全部的节点用图表示出来例如以下:
Nova的实现
前面我们从需求的角度出发, 自己分析了假设要满足基本需求, 须要什么样的实现。
那么Nova的真实实现会和我们一样吗?
Openstack nova(二)——架构(一)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。