nova分析(2)—— nova-all】的更多相关文章

一.nova-rootwrap的作用 部署玩过openstack的都应该知道,它会生成一个nova用户来管理所有服务.nova身份在linux中属于普通用户级别,避免了一些需要root身份运行的操作,提高linux系统的安全性.但是openstack在实际过程中会调用很多外部命令,例如就network服务而言就有:`ip`,`ovs-vsctl`,`iptables`,`dnsmasq`,`brctl`等等,这些命令在linux中都是需要以root身份来运行的,如果是普通用户通常的做法是在命令前…
关于Cell的基本介绍,可以参考贤哥的一篇文章: [OpenStack]G版中关于Nova的Cell  http://blog.csdn.net/lynn_kong/article/details/8564558 详细的代码分析,可以参考gaoxingnengjisuan的blog:  OpenStack Nova-cell服务的源码解析(编者注:G版)http://blog.csdn.net/gaoxingnengjisuan/article/details/14216977 Cell的服务部…
学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分配和 SR-IOV (5)libvirt 介绍 (6)Nova 通过 libvirt 管理 QEMU/KVM 虚机 (7)快照 (snapshot) (8)迁移 (migration) 1. QEMU/KVM 迁移的概念 迁移(migration)包括系统整体的迁移和某个工作负载的迁移.系统整理迁移…
云主机迁移+扩展云主机大小 ,官方说它依赖nova用户之间的免密登录.确保每个resion区域的compute节点服务器他们可以相互SSH免密   compute1-7     他们相互SSH免密 kxcompute1-9  他们相互SSH免密   1.注意!是每台机器上的nova用户向另一台机器的nova用户的免密登录   每台compute节点修改ssh配置,目的是为了不让其提示输入yes保存密钥 vi /etc/ssh/ssh_config 尾部添加   StrictHostKeyChec…
Nova-Scheduler主要完成虚拟机实例的调度分配任务,创建虚拟机时,虚拟机该调度到哪台物理机上,迁移时若没有指定主机,也需要经过scheduler.资源调度是云平台中的一个很关键问题,如何做到资源的有效分配,如何满足不同情况的分配方式,这些都需要nova-scheduler来掌控,并且能够很方便的扩展更多的调度方法,可能我需要虚拟机调度到空闲的机器,可能还需要将某类型的虚拟机调度到固定的机架等等,现在就来看看Nova-Scheduler是如何完成调度任务的. Scheduler启动后,相…
nova-conductor是nova-compute之上的一个服务,这个服务比较简单,主要封装了DB访问和动态迁移相关的代码.转来一篇文章看看它是如何工作的. 更新记录:1. 2013.4.19  增加对nova-conductor的优势和劣势分析 正文:在Grizzly版的Nova中,取消了nova-compute的直接数据库访问.大概两个原因:1. 安全考虑.Benefit:因为compute节点通常会运行不可信的用户负载,一旦服务被攻击或用户虚拟机的流量溢出,则数据库会面临直接暴露的风险…
Nova project下面具有多个service,api,compute,sceduler等等,他们的启动过程都几乎类似,这一篇博客就详细记录nova-sceduler的启动过程.文章中贴出的源码都是从OpenStack Folsom版截取过来的. 下面就开始分析nova-sceduler的启动过程了,后面还有涉及到启动之后,做的一些周期性工作,这部分可能与sceduler无关,是在compute中的,一次帖上来. 首先是解析启动脚本的参数,包括配置文件,设置日志,utils.monkey_p…
nova-api是nova对外提供Restful API的服务,Horizon.novaclient等均通过该api与nova进行通信. nova其实对外提供了多个api服务,包括下面这些服务: nova-apinova-api-ec2nova-api-metadatanova-api-os-compute 其中,nova-api用于启动其他三个服务.下面逐个分析下. nova-api 入口在 nova.cmd.api:main ,主要是基于WSGI.PasteDeploy.Webob.Rout…
nova-compute是管理和配置虚拟机的入口,在所有compute机器上都需要该服务来创建和管理虚拟机. nova-compute服务的入口在 nova.cmd.compute:main ,其启动过程与其他nova服务类似. 简单看下它是如何启动的, binary='nova-compute', topic='nova.compute.rpcapi' ,  manager=nova.compute.manager.ComputeManager ,manager类在初始化的时候会创建与其他服务…
nova提供了novncproxy代理支持用户通过vnc来访问虚拟机,用户可以通过websocket.java客户端或者spicehtml5来访问.通过websket访问虚拟机的功能已经集成到horizon中,而通过java客户端则需要先安装相应的软件.为了方便用户访问虚拟机,nova通过有一个proxy来实现,proxy通常同nova-api一起部署. vnc访问的实现方法如下,首先是启动一个虚拟机时启用vnc,这可以通过给kvm加上vnc参数即可.这样,kvm就会启动一个vncserver监…
Conceptual Diagram Logical diagram Nova is the most complicated and distributed component of OpenStack. A large number of processes cooperate to turn end user API requests into running virtual machines. Below is a list of these processes and their fu…
nova-all是一个用来启动所有nova服务的辅助脚本,注意只是启动所有服务,不包括停止和重启等功能. nova-all的入口在 nova.cmd.all:main ,脚本也比较简单,这儿就贴下代码了 def main(): # 命令行参数解析,实际上命令行参数并没有使用 config.parse_args(sys.argv) logging.setup("nova") LOG = logging.getLogger('nova.all') utils.monkey_patch()…
cells的功能允许用户以更分散的方式去扩展OpenStack计算云而无需使用复杂的技术,比如数据库和消息队列的集群.它的目的是支持非常大规模的部署. 当启用了此功能,在OpenStack计算云中的主机被划分为组称为cells.cells可以被配置成树形结构.顶层的cell的主机应该运行nova-api服务,但是没有nova-compute服务.每一个childcell在常规的计算云中应该运行除了nova-api之外的所有nova-*类型的服务.可以认为,作为正常的计算部署的cells,每一个c…
1.nova client封装了获取认证 获取token等东西 2.nova  client提供shell cli方式访问和import client 然后new client的方式访问 区别: 通过cli命令调用nova client会先获取token,在调用restfull api 可以直接用测试restfull api的测试工具,直接调用nova的restfull api接口不用通过nova client 可以修改nova client使cli命令生效…
目录 文章目录 目录 问题 调查 解决 问题 nova-compute service 启动失败 InternalError: Nova requires QEMU version 2.5.0 or greater. 调查 查看当前使用的 qemu 版本 [root@control01 yum.repos.d]# qemu-img --help | grep version qemu-img version 1.5.3, Copyright (c) 2004-2008 Fabrice Bella…
前言        Openstack作为一个虚拟机管理平台,核心功能自然是虚拟机的生命周期的管理,而负责虚机管理的模块就是Nova. 本文就是openstack中Nova模块的分析,所以本文重点是以下三点:   先了解Openstack的整体架构,搞清楚为什么要用这样的架构: 然后再了解架构中的各个组件,组件提供的主要功能与各个组件之间的交互: 了解虚机的启动过程,能在遇到问题时发现问题出在哪个模块中的哪个组件.   Nova组件介绍 接下来进行详细介绍,如有错误,欢迎拍砖! 下图为创建虚拟机…
目录 目录 前言 流程图 nova-compute vCenter 前言 在上一篇Openstack Nova 源码分析 - Create instances (nova-conductor阶段)中,记录了 nova-api 接收到创建虚拟机的请求后,在 nova-conductor 中的执行流程.最终 nova-comductor 通过调用 nova-compute 的 RPC 接口函数 compute_rpcapi.build_and_run_instance() 将创建虚拟机的请求,通过…
前面 CloudMan 通过日志详细分析了 nova 的 launch, shut off 和 start 操作.不知道大家现在是否已经掌握了日志分析的技能? 今天咱们就来检验一下.本节讨论的是 nova 相对较简单的操作: reboot 和 lock/unlock.我首先会讲解这几个操作的理论知识,然后将日志分析留给大家来完成.大家在分析过程中如有任何疑问,可以给我留言. Soft/Hard Reboot soft reboot 与 hard reboot 的区别在于: 1. soft reb…
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GRE/VxLAN 虚拟网络 (4)Neutron OVS OpenFlow 流表 和 L2 Population (5)Neutron DHCP Agent (6)Neutron L3 Agent (7)Neutron LBaas (8)Neutron Security Group (9)Neutro…
本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云(Hybrid cloud)支持 主流硬件支持.云快速交付 和 SLA 保证 大规模扩展性支持 私有云外围环境支持(包括支持CDN .商业SDN控制器.防火墙和VPN/专线等) 良好的可使用性(用户和运维 Dashboard 等) 向上扩展性(PaaS 和 SaaS 等支撑) 企业数据中心IT环境支持…
      在我们安装nova的过程中,设置它的配置文件/etc/nova/nova.conf是必不可少的一步.配置好nova.conf文件,nova-compute.nova-network等服务才有可能正常启动.当然在修改nova.conf文件后,必须重启nova的所有服务,新的配置才能生效.       其实我们的配置文件不一定非要存放为/etc/nova/nova.conf,也可以设置成任意目录下的任意文件.nova获取配置文件的方式有两种: 1.通过命令行 选项 --config-fi…
有关openstack的所有的帖子. https://www.ustack.com/blog/openstack_hacker/#Nova_Workflow 网上已经很多的分析文章了: http://blog.csdn.net/ddl007/article/details/8602731?utm_source=tuicool http://wenku.baidu.com/view/34892729af45b307e87197ec.html 今天liyong同学问起pecan的原理. 有必要写篇博…
一.什么是配额(quota)管理 简单的讲就是控制用户资源的数量.在openstack里,管理员为每一个工程(project)分配的资源都是有一定限制的,这些资源包括实例(instance).cpu.内存.存储空间等等,不能让一个工程无限制的使用资源,所以配额管理针对的单位是工程(project).先来个感性的认识,看一下dashboard里的一个工程的overview: 管理员给这个工程的资源配额是最多创建10个实例,最多使用20个vcpu,最多使用5G的内存==,只要达到某一个资源的使用上限…
在控制节点上执行 controllerHost='controller' controllerIP='172.31.240.49' MYSQL_PASSWD='m4r!adbOP' RABBIT_PASSWD='0penstackRMQ' NOVA_PASSWD='nova1234!' PLACEMENT_PASSWD='placement1234!' 1.创建数据库 mysql -uroot -p${MYSQL_PASSWD} << EOF     DROP DATABASE IF EXIS…
参考https://www.cnblogs.com/CloudMan6/p/5479408.html   前面通过日志详细分析了 nova 的 launch.shutoff .start 操作.   本节来体验两个比较简单的操作:reboot 和 lock/unlock .   Soft/Hard Reboot   soft reboot 与 hard reboot 的区别在于:       1.soft reboot 只是重启操作系统,整个过程中,instance 依然处于运行状态.相当于在l…
目录 文章目录 目录 前文列表 numa_fit_instance_to_host _numa_fit_instance_cell _numa_fit_instance_cell_with_pinning _pack_instance_onto_cores 使用示例 NUMA 对齐,CPU isolate NUMA 对齐 CPU require NUMA 对齐,CPU prefer NUMA 不对齐,CPU isolate NUMA 不对齐 CPU require NUMA 不对齐,CPU pr…
我一直想把EntityFramework(简称EF)的那一套搬过来,应用于HTML5 SQLite. 幸运的是,我几乎做到了,有些功能无法完成的那是因为SQLite本身不支持.至少从现在已经完成的功能来看,我们几乎可以像EF那样去操作数据库. 在我们这个框架中,所有对数据库的访问都封装在了命名空间"nova.data"下面.其下主要包括了以下类: nova.data.DbContext nova.data.Entity nova.data.Repository nova.data.Qu…
Compute Service Nova 是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源. OpenStack 作为 IaaS 的云操作系统,虚拟机生命周期管理也就是通过 Nova 来实现的. 在上图中可以看到,Nova 处于 Openstak 架构的中心,其他组件都为 Nova 提供支持:Glance 为 VM 提供 image Cinder 和 Swift 分别为 VM 提供块存储和对象存储 Neutron 为 VM 提供网络连接 Nova 架构如下 Nova 的架构比…
学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分配和 SR-IOV (5)libvirt 介绍 (6)Nova 通过 libvirt 管理 QEMU/KVM 虚机 (7)快照 (snapshot) (8)迁移 (migration) 1. Libvirt 在 OpenStack 架构中的位置 在 Nova Compute 节点上运行的 nova-…
OpenStack nova compute supports two flavors of Virtual Machine (VM) migration: Cold migration -- migration of a VM which requires the VM to be powered off during the migrate operation during which time the VM is inaccessible. Hot or live migration --…