NOVA炉石传说连击怎么触发是怎么算的

developerWorks 社区
本文将介绍 OpenStack Compute (Nova) 和 Image (Glance) 项目,解释它们是如何融入整体 OpenStack
架构的,并展示它们的运作方式。本文在说明这些项目的过程中了解了如何安装、配置和使用各个组件。
, 云计算专家
, Recursive
John Rhoton 是一名技术策略家,专门为跨国企业客户提供有关公共云、私有云和混合云计算的咨询。他定期在行业活动中发表有关新兴技术的演讲,这些技术包括移动、社交网络和虚拟化,John Rhoton 还是六本书的作者,其中包括 Cloud Computing Explained(2009)和 Cloud Computing Architected(2011)。
本文将介绍 OpenStack Compute
(Nova),它代表了任何工作负载的核心。如果有些云服务的工作中不包括计算,那么它们充其量只代表静态存储 —
但所有动态活动都会涉及一些计算元素。OpenStack Compute 这个名称指的是一个特定的项目,该项目也被称为 Nova,但与计算和运行计算的软件相关的项目其实有两个,即
Image 和 Compute: OpenStack Image 管理其中包含可执行代码和操作环境的静态磁盘镜像。OpenStack Compute (Nova) 管理正在运行的实例。Nova 控制云计算架构,因此形成一个基础架构服务核心。Nova 也是 OpenStack
家族中最复杂的组件,主要因为它具有高度分散的性质和多个流程。Nova 与其他几个 OpenStack 服务都有一些接口:它使用 Keystone 来执行其身份验证,使用 Horizon 作为其管理接口,并用
Glance 提供其镜像。它与 Glance 的交互最为密切,Nova 需要下载镜像,以便在加载镜像时使用。在更详细地讨论 Nova 之前,让我们先仔细了解一下 Image 服务,它按时间顺序表示 Compute 工作负载的开始。Glance 是
OpenStack Image Service 的项目名称,它会注册、列出并检索虚拟机(VM)镜像。Glance 管理在 OpenStack 集群中的镜像,但不负责实际的存储。它为从简单文件系统到对象存储系统(如 OpenStack Swift
项目)的多种存储技术提供了一个抽象。除了实际的磁盘镜像之外,它还保存描述镜像的元数据和状态信息。OpenStack Image Store
是虚拟镜像的中央存储库。用户和其他项目可以存储公共和私有镜像,他们可以访问这些镜像来启动实例。他们还可以请求获得可用镜像的列表,检索它们的配置信息,然后将它们作为启动
Nova 实例的基础。您还可以从运行实例拍摄快照,作为备份虚拟机及其状态的一种手段。在创建镜像之后,Nova 就开始起作用。它通常使用一个镜像来启动一个实例,或
VM。虽然它本身不包括任何虚拟化软件,但它可以通过与虚拟化技术有关联的驱动程序来集成许多常见的虚拟机管理程序。从实践角度来看,启动实例涉及到识别并指定虚拟硬件模板(在 OpenStack 中被称为风格)。模板描述被分配给 VM 实例的计算(虚拟
CPU)、内存(RAM)和存储配置(硬盘)。默认的安装提供了五种风格,它们由管理员配置。然后,Nova 通过将执行分配给某个特定的计算节点(在 OpenStack
中被称为主机)来调度被请求的实例。每个系统都必须定期报告其状态和能力,tonova-scheduler
使用数据来优化其分配。整个分配过程由两个阶段组成。Filtering(过滤)阶段应用了一组过滤器,生成最适合的主机的列表。每个 OpenStack
服务都会公布其能力,这些能力是最重要的考虑因素之一。调度程序将会缩小主机的选择范围,以找到符合请求参数的主机。然后,Weighting(加权)阶段使用了一个特殊的函数来计算每个主机的成本,并对结果进行排序。这个阶段的输出是一个主机列表,这些主机可用最少的成本满足用户对给定数量的实例的请求。Nova 还执行了其他一些函数,其中有许多函数与涵盖网络、安全性和管理的其他 OpenStack 项目有密切的交互。但 Nova
一般处理这些项目的特定于实例的方面,如连接和取消连接存储、分配 IP 地址,或拍摄运行实例的快照。架构Nova 采用的是无共享架构(图 1),这样所有的主要部件都可以在不同的服务器上运行。分布式设计依赖于一个消息队列来处理组件对组件的异步通信。图 1. Nova 架构Nova 将虚拟机的状态存储在一个基于结构化查询语言 (SQL) 的中央数据库中,所有的 OpenStack
组件都使用该数据库。该数据库保存了可用实例类型、网络(如果正在使用
nova-network)和项目的详细信息。用户可以使用 SQLAlchemy 支持的任何数据库。Web 仪表板OpenStack Compute 的主用户界面是 Web 仪表板(OpenStack Horizon)。这是所有 OpenStack
模块的中央门户,为所有项目提供图形界面,并执行应用程序编程接口(API)调用来调用任何被请求的服务。API该 API 基于 Representational State Transfer。这是一个 Web Server Gateway Interface
应用程序,它将统一资源指示器路由到控制器类上的操作方法。该 API 接收 HTTP 请求,处理命令,然后将任务通过消息队列或 HTTP(在使用
ObjectStore 的情况下)委派给其他组件。Nova API 支持 OpenStack Compute
API、Amazon Elastic Compute Cloud (Amazon EC2) API,以及面向特权用户的 Admin
API。它会启动大部分协调活动和策略(如 Quota)。Authorization Manager每个 HTTP 请求都需要一个特定的身份验证凭据,它使用了提供商为 Compute 节点配置的身份验证架构。Authorization Manager
不是一个独立的二进制文件;相反,它是一个 Python 类,任何 OpenStack 组件都可以使用它进行身份验证。它暴露了用户、项目和角色的
API 授权使用情况,并与 OpenStack Keystone 进行通信,以便获得详细信息。实际的用户存储可以是数据库或者 Lightweight
Directory Access Protocol(LDAP,轻量级目录访问协议)后端。ObjectStoreObjectStore 是一个基于 HTTP、基于对象的简单存储(如 Amazon Simple Storage
Service),专门针对镜像。通常可以用 OpenStack Glance 取代它。消息队列消息队列为 OpenStack Nova 中的所有组件提供了相互通信、相互协调的一种手段。它就像所有 Nova
组件都共享和更新的一个中心任务列表。所有这些组件都在一个非阻塞的基于消息的架构上运行,只要它们使用了相同的消息队列服务,就可以在相同或不同的主机上运行。它们使用了 Advanced
Message Queuing Protocol,以面向回调的方式进行交互。在默认情况下,大多数分发实现了通过 Kombu 库访问的
RabbitMQ,但也提供了面向 Apache QPID 和 ZeroMQ 的插件。Nova 组件通过使用 Pub/sub 的 Message Broker,使用远程过程调用实现彼此之间的通信。从技术角度讲,Nova 实现了
rpc.call(请求/响应;该 API 作为消费者)和 rpc.cast(单向;该 API
作为发布者)。Nova API 和调度程序使用消息队列作为 Invoker,而 Network 和 Compute 充当了工人。Invoker 通过
rpc.call 或 rpc.cast 发送消息。Worker
模式从队列接收消息,并用适当的响应回答每个 rpc.call。守护进程对于
Nova,要考虑的两个主要守护进程是调度程序和计算守护进程。调度程序确定了为虚拟机请求分配哪个计算主机。它采用了上述的过滤和调度算法,并考虑多种参数,包括亲和性(与共置相关的工作负载)、反亲和性(分发工作负载)、可用区、核心
CPU 使用率、系统内存,以及自定义的 JavaScript Object Notation
时间表。请注意,它只在进行配置时做出此决定,不会重新分配正在运行的实例。Nova 计算是一个工人守护进程,用于管理与虚拟机管理程序和虚拟机的通信。它从消息队列中检索其订单,并使用虚拟机管理程序的 API
执行虚拟机的创建和删除任务。它还在中央数据库中更新其任务状态。为了获得完整性,一些守护进程将会覆盖原来分配给 Nova 的、正慢慢迁移到其他项目的功能。Network Manager 负责管理 IP
转发、网桥和虚拟局域网。它是一个工人守护进程,从消息队列读取与网络有关的任务。OpenStack Neutron
现在也涵盖这些功能,可以在适当的位置上选中它。Volume Manager 负责处理将持久存储的块存储卷附加到虚拟机以及从虚拟机分离持久存储的块存储卷(类似于 Amazon Elastic
Block Store)。此功能已被提取到 OpenStack Cinder。这是一个使用 Logical Volume Manager 的
iSCSI 解决方案。设置各发行版和 OpenStack
版本的实际安装说明差别很大。一般来说,它们是作为分发的一部分提供的。不过,您必须完成相同的基本任务。本节让您了解此基本任务涉及的内容。系统要求OpenStack 依赖于一种 64 位 x86 架构;另外,它是为商用硬件而设计的,所以具有极低的系统要求。它可以在配有包含 8GB RAM
的单个系统上运行整套 OpenStack
项目,但对于任何重大的工作,官方建议是,对于运行网络、卷、API、调度程序和镜像服务的云控制器节点,至少要配有 12GB RAM、两个 2TB
硬盘和一个网络适配器。计算节点(运行虚拟实例)的负载将会有更大的差异,但对于简单的系统而言,一个四核 CPU、32GB 的 RAM 和 2Gb
的网络适配器就是一个良好的起点。安装安装指南取决于所用的发行版,更具体地说,取决于所选择的软件包管理实用工具。在许多情况下,必须声明存储库。因此,举例来说,如果您使用的是
Zypper,那么您要用 zypper ar 向 libzypp 公开: # zypper ar -f http://download.opensuse.org/repositories/Cloud:/OpenStack:/Grizzly/SLE_11_SP3/Cloud:OpenStack:Grizzly.repo然后,在控制器和计算节点上安装所需的 Nova 包。软件包管理实用工具应该自动安装所有依赖关系。为了进行说明,我已经提供了适用于 Ubuntu、Red Hat (Red Hat Enterprise
Linux®、CentOS、Fedora) 和 openSUSE 的主要命令: Ubuntu:在控制器节点上,运行:
sudo apt-get install nova-novncproxy novnc nova-api nova-ajax-console-proxy nova-cert nova-conductor nova-consoleauth nova-doc nova-scheduler nova-network在计算节点上,运行:sudo apt-get install nova-compute nova-network
sudo apt-get install glanceRed Hat:运行以下命令:
sudo yum install openstack-nova
sudo yum install openstack-glanceopenSUSE:运行以下命令:
sudo zypper install openstack-nova openstack-glance配置Nova 配置包括几个文件,但最重要的是 nova.conf,它被安装在 /etc/nova
中。对于标准安装,一组默认选项就可以正常工作,但对于任何特殊要求,则需要编辑配置。您可以在这里查看 ,并在此处查看 。使用场景要了解如何在实践中使用 OpenStack Compute,可以想象一下自己有一个想在 OpenStack
中加载的基本镜像。在配置系统并完成一些个性化的定制后,您可能想获得运行实例的快照,这样就可以加快配置过程,再次执行相同的任务。在完成项目后,您可能会停止实例,甚至可能想要删除镜像。以具有 Member 角色的用户身份登录到 OpenStack Dashboard。在导航窗格中,在 Manage Compute 下面,单击 Images &
Snapshots,然后单击 Create Image。Create An Image
窗口将会打开(图 2),您可以在该窗口中配置用于定义实例的设置。输入之前创建或下载的镜像的名称和位置。您需要指定镜像文件的格式,但不需要指定最小磁盘空间或 RAM,除非您想提供它们。
图 2. 创建一个镜像在创建镜像后,在 Manage Compute 下面,单击 Instances,然后单击
Launch Instance。
图 3. 启动一个实例系统会提供一个窗口,用于确认您的配置,并允许您指定所需的 Flavor(风格),或基本的硬件配置。单击
Launch;该实例应该被启动并运行。考虑拍摄一个快照。同样,在 Manage Compute 下面,单击
Instances,然后在与感兴趣的实例有关联的行中单击 Create
Snapshot。
图 4. 实例图 4. 实例您可以在这个窗口中执行其他任务,包括编辑、暂停、挂起和重新启动实例。在使用完实例后,仍将在这里终止实例。要删除镜像和任何快照,请回到 Images & Snapshots 菜单,在这里可以找到用来删除不再需要的对象的选项。图 5. 镜像和快照图 5. 镜像和快照结束语这就是开始使用 OpenStack Compute 功能所需的一切。在使用 OpenStack
计划并部署计算工作负载时,需要记住的重点是:它不是一个虚拟化平台,而是一个管理抽象,它允许您使用多种可插拔技术来跨多个虚拟机管理程序协调工作流。OpenStack
只简化了这些组件的管理和集成。
参考资料 阅读本系列中的更多 。查看 。阅读 。。了解关于
的更多信息。阅读了解 。了解关于
的更多信息。探索 。。观看 ,从面向初学者的产品安装和设置演示,到为经验丰富的开发人员提供的高级功能。通过
。下载 。查看 。查看 。下载 。以最适合您的方式 :下载产品试用版或在线试用产品。加入 。探索由开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户进行交流。
developerWorks: 登录
标有星(*)号的字段是必填字段。
保持登录。
单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件。
在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。
所有提交的信息确保安全。
选择您的昵称
当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。昵称长度在 3 至 31 个字符之间。
您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。
标有星(*)号的字段是必填字段。
(昵称长度在 3 至 31 个字符之间)
单击提交则表示您同意developerWorks 的条款和条件。 .
所有提交的信息确保安全。
文章、教程、演示,帮助您构建、部署和管理云应用。
立即加入来自 IBM 的专业 IT 社交网络。
免费下载、试用软件产品,构建应用并提升技能。
static.content.url=/developerworks/js/artrating/SITE_ID=10Zone=Cloud computingArticleID=972522ArticleTitle=发现
OpenStack: Compute 组件 Glance 和 Novapublish-date=Nova服务架构_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Nova服务架构
上传于||文档简介
&&N​o​v​a​是​O​p​e​n​S​t​a​c​k​的​计​算​部​分​,​本​文​描​述​其​服​务​架​构​。
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢刚刚开始玩的时候,觉得nova要学核弹,现在我认为得学3连击_风暴英雄吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:784,017贴子:
刚刚开始玩的时候,觉得nova要学核弹,现在我认为得学3连击
7级nova的看法,不知道以后会不会变。3连击会把nova的爆发力发挥到极致,隐形游走如果看到半血的敌人英雄可以直接锁定招呼过去,收残血的大招啊!遇到落单血薄的也可以放大招然后一个w一个q,基本能收掉,好评!
本人刚刚入坑国行PSV,...
已放上图~ 我的条件有...
然后一开机你猜我看到了...
来认识下咯~
贴吧热议榜
使用签名档&&
保存至快速回贴博客访问: 112164
博文数量: 127
博客积分: 0
博客等级: 民兵
技术积分: 1330
注册时间:
认证徽章:
APP发帖 享双倍积分
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: 云计算
Compute Service Nova 是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源。&
OpenStack 作为 IaaS 的云操作系统,虚拟机生命周期管理也就是通过 Nova 来实现的。
在上图中可以看到,Nova 处于 Openstak 架构的中心,其他组件都为 Nova 提供支持:&
Glance 为 VM 提供 image&
Cinder 和 Swift 分别为 VM 提供块存储和对象存储&
Neutron 为 VM 提供网络连接
Nova 架构如下
Nova 的架构比较复杂,包含很多组件。&
这些组件以子服务(后台 deamon 进程)的形式运行,可以分为以下几类:
接收和响应客户的 API 调用。&
除了提供 OpenStack 自己的API,nova-api 还支持 Amazon EC2 API。&
也就是说,如果客户以前使用 Amazon EC2,并且用 EC2 的 API 开发了些工具来管理虚机,那么如果现在要换成 OpenStack,这些工具可以无缝迁移到 OpenStack,因为 nova-api 兼容 EC2 API,无需做任何修改。
Compute Core
nova-scheduler&
虚机调度服务,负责决定在哪个计算节点上运行虚机
nova-compute&
管理虚机的核心服务,通过调用 Hypervisor API 实现虚机生命周期管理
Hypervisor&
计算节点上跑的虚拟化管理程序,虚机管理最底层的程序。&
不同虚拟化技术提供自己的 Hypervisor。&
常用的 Hypervisor 有 KVM,Xen, VMWare 等
nova-conductor&
nova-compute 经常需要更新数据库,比如更新虚机的状态。&
出于安全性和伸缩性的考虑,nova-compute 并不会直接访问数据库,而是将这个任务委托给 nova-conductor,这个我们在后面会详细讨论。
Console Interface
nova-console&
用户可以通过多种方式访问虚机的控制台:&
nova-novncproxy,基于 Web 浏览器的 VNC 访问&
nova-spicehtml5proxy,基于 HTML5 浏览器的 SPICE 访问&
nova-xvpnvncproxy,基于 Java 客户端的 VNC 访问
nova-consoleauth&
负责对访问虚机控制台请亲提供 Token 认证
nova-cert&
提供 x509 证书支持
Nova 会有一些数据需要存放到数据库中,一般使用 MySQL。&
数据库安装在控制节点上。&
Nova 使用命名为 “nova” 的数据库。
Message Queue
在前面我们了解到 Nova 包含众多的子服务,这些子服务之间需要相互协调和通信。&
为解耦各个子服务,Nova 通过 Message Queue 作为子服务的信息中转站。&
所以在架构图上我们看到了子服务之间没有直接的连线,它们都通过 Message Queue 联系。
OpenStack 默认是用 RabbitMQ 作为 Message Queue。&
MQ 是 OpenStack 的核心基础组件,我们后面也会详细介绍。
下一节我们讨论这些 Nova 组件如何协调工作。
阅读(959) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。

我要回帖

更多关于 nova 删除计算节点 的文章

 

随机推荐