网站开发人员主要干什么的,WordPress添加图片模块,东莞网页设计师培训班,衡水网站制作多少钱一 、Nova 使用OpenStack Compute来托管和管理云计算系统。 OpenStack Compute是基础架构即服务 #xff08;IaaS#xff09;系统的主要部分。 主要模块在Python中实现#xff1a; 1因为认证#xff0c;与OpenStack 身份认证keystone 交互。 2因为磁盘和服务器镜像#xf… 一 、Nova 使用OpenStack Compute来托管和管理云计算系统。 OpenStack Compute是基础架构即服务 IaaS系统的主要部分。 主要模块在Python中实现 1因为认证与OpenStack 身份认证keystone 交互。 2因为磁盘和服务器镜像 与镜像服务Glance 交互。 3因为提供图形界面与仪表盘Dashboard交互。 Nova是OpenStack云中的计算组织控制器。支持OpenStack云中实例instances生命周期的所有活动都由Nova处理。这样使得Nova成为一个负责管理计算资源、网络、认证、所需可扩展性的平台。但是Nova自身并没有提供任何虚拟化能力相反它使用libvirt API来与被支持的Hypervisors交互。Nova 通过一个与Amazon Web ServicesAWSEC2 API兼容的web services API来对外提供服务。 OpenStack Compute与OpenStack Identity身份进行交互以进行身份验证; 用于磁盘和服务器映像的OpenStack Image服务; 和用于用户和管理界面的OpenStack仪表板。 图像访问受到项目和用户的限制; 每个项目的配额有限例如数量。 OpenStack Compute可以在标准硬件上水平扩展并下载图像以启动实例。 功能和特点 实例生命周期管理管理计算资源网络和认证管理REST风格的API异步的一致性通信Hypervisor透明支持Xen,XenServer/XCP, KVM, UML, VMware vSphere and Hyper-V OpenStack Compute由以下几个方面组成 novaapi 服务 接受并响应最终用户的计算API调用。 该服务支持OpenStack Compute APIAmazon EC2 API 和特殊的Admin API用于特权用户执行管理操作。 它执行一些策略并启动大多数业务流程活动例如运行一个实例。 openstack云平台所有的服务相互之间进行通讯走各个服务的API接口。 访问API的方式CLI命令行方式、web方式、第三方工具 nova api metadata 服务 接受来自实例的元数据请求保存相关虚拟机的硬件数据同时需要使用network。 当您使用nova network安装在多主机模式下运行时通常会使用nova api metadata服务。 nova compute 计算服务 创建虚拟机的方式CLI形式virt-manager、virsh install、Nova-compute服务形式。 两种方式最终都是通过libvirtd创建虚拟机。 nova compute 计算服务功能 1 定时向OpenStack报告计算节点的状态CPU、内存等资源的使用状态。 2 nova compute 与Hypervisor一起实现OpenStack对instance实例生命周期的管理。 3 通过虚拟机管理程序API创建和终止虚拟机实例的工作程序守护程序。 1适用于XenServer / XCP的XenAPI 2KVM或QEMU的libvirt 3适用于VMware的VMwareAPI 处理相当复杂。 基本上守护程序接受队列中的操作并执行一系列系统命令例如启动 KVM实例并更新数据库中的状态。 nova place mentapi 服务 跟踪每个提供商的库存和使用情况。有关详细信息请参阅Placement API。 nova-compute服务定时将收到的计算节点的信息内存、CPU发送给nova-placement-api服务。 nova-compute服务收集信息过程kvm虚拟化层到libvirtd服务在到nova-compute服务。 nova-placement-api服务部署在控制节点上。 nova scheduler 服务 从队列获取虚拟机实例请求并确定运行哪个计算服务器主机。决策一个虚拟机应该调度到哪个计算节点上需要分两个步骤 过滤过滤内容包括计算节点的内存、CPU等调度算法 随机算法计算主机在所有可用域内随机选择 可用域算法跟随机算法相仿但是计算主机在指定的可用域内随机选择。 简单算法这种方法选择负载最小的主机运行实例。负载信息可通过负载均衡器获得。 nova conductor module 模块 nova compute服务与数据库之间的交互。它消除了由novacompute服务器对云数据库的直接访问。新星导体模块水平放置。但是不要在运行novacompute服务的节点上部署它。 nova-conductor是nova-compute与数据库的中间件nova-compute对数据库的操作都借由nova-conductor完成nova-conductor通过rpc对外提供API服务。 数据库写入数据时必须经过novaconductor module 模块读取不必经过novaconductor module 模块这样保证了数据库安全性。并且novaconductor module 模块只能在控制节点上部署。 novacert 模块 为X509证书提供Nova Cert服务的服务器守护程序。用于生成eucabundleimage的证书。只需 要EC2 API。 nova consoleauth 守护进程 为控制台代理提供的用户授权令牌。参见novanovncproxy和novaxvpvncproxy。此服务必须运行才能使控制台代理工作。您可以在集群配置中针对单个novaconsoleauth服务运行任一类型的代理 nova novn cproxy 守护进程 提供通过VNC连接访问运行实例的代理图形化远程连接。 支持基于浏览器的novnc客户端。 nova spicehtml5proxy 守护进程 提供通过SPICE连接访问运行实例的代理。 支持基于浏览器的HTML5客户端。 nova xvpvncproxy 守护进程 提供通过VNC连接访问运行实例的代理。 支持特定于OpenStack的Java客户机。 the queue 服务内部守护进程之间传递消息的中心枢纽。 通常用RabbitMQ实现异步传输减少等待时间。也可以用另一个AMQP消息队列来实现如ZeroMQ。 SQL数据库 二、nova的逻辑架构 存储云基础架构的大部分构建时间和运行时状态包括 1可用的实例类型 2正在使用的实例 3可用网络 4项目 理论上OpenStack Compute可以支持SQLAlchemy支持的任何数据库。 公共数据库是用于测试和开发工作的SQLite3MySQLMariaDB和PostgreSQL。 OpenStack异构可管理不同kvm、VMware、xen类型的虚拟机。 Nova 逻辑架构 1、客户端利用 API 发出请求要求启动一个实例。
2、该请求通过一系列检查 (比如身份验证、配额、权限等等)后由 Nova API 服务器进行处理。
3、Nova API 服务器将客户端请求的URL进行拆分存储到消息队列中。
4、Nova-scheduler服务接受到启动实例的任务后先去查看Nova-placement-api服务收集到的信息。
5、Nova-scheduler服务根据调度规则决定在哪运行实例 — 即从 N 个计算节点中选取符合规则的节点。
6、Nova-scheduler服务通过队列向指定的计算节点发出消息让其开始创建实例。
7、计算节点通用 Glance API 在 Glance 注册表中查找所需的镜像文件。
8、Glance API 向计算节点返回该镜像文件的物理位置和元数据。
9、得到了物理位置等信息计算节点就可以 Swift Proxy 请求镜像文件。
10、Swift Proxy 从 Swift 工作单元中获得映象并将其传递给计算节点。
11、获得了镜像文件之后计算节点就可以利用 libvirt API 来与被支持的Hypervisors交互。
12、计算节点将下载到本地的镜像文件派生出一个镜像文件供实例使用并且计算节点会在数据库中更新实例的详细信息。
13、计算节点向网络节点的队列发出消息以便为实例配置网络。
14、一旦收到返回的网络信息计算节点就开始最后的配置调整并启动实例。
15、创建实例完成之后无论成功与否计算节点都会更新数据库并在消息队列中发出通知。
三 、base节点设置 1、创建数据库nova、nova_api、nova_cell0 2、创建用户、设置登录密码、权限、登录方式 四、并查看数据库中所有用户
1、ctrl节点设置 1.1、创建nova相关用户、为nova用户设置角色、创建nova服务 1.2、为nova节点创建compute类型、范围为RegionOne的endpoint 1.3创建placement用户、并添加到admin角色中、为placement创建placement服务 1.4为placement服务创建endpoint 1安装nova相关软件 yum install \
openstack-nova-api \ openstack-nova-conductor \ openstack-nova-novncproxy \ openstack-nova-scheduler \ openstack-nova-placement-api \ openstack-nova-console
修改配置文件 /etc/nova/nova.conf 、 /etc/httpd/conf.d/00-nova-placement-api.conf同步数据库 1.5、重启服务、并开机自启 systemctl restart openstack-nova-api openstack-nova-consoleauth openstack-nova-scheduler openstack-nova-conductor openstack-nova-novncproxy systemctl enable openstack-nova-api openstack-nova-consoleauth openstack-nova-scheduler openstack-nova-conductor openstack-nova-novncproxy
四、compute节点配置 1.1克隆虚拟机 1.2在新克隆的虚拟机上修改IP、dns、主机名并在DNS中添加新虚拟机的正解、反解 1.3宿主机开启透传、然后重启该虚拟机、查看透传状态、查看一层虚拟机是否具有kvm_intel模块、是否支持vmx 重启、开机自启libvirtd 1.4、安装 openstack-nova-compute 软件 1.5、修改配置文件/etc/nova/nova.conf并查看支持vmx或svm的CPU核心数量 1.6、重启、开机自启动libvirtd、openstank-nova-compute 1.7、查看支持虚拟化的计算机 查看服务目 查看当前镜像文件