精华内容
下载资源
问答
  • openstack nova cfg

    2012-08-11 03:40:38
    openstack nova cfg
  • OpenStack Nova安装手册

    2012-02-24 11:18:44
    云计算平台,OpenStack Nova 的安装手册,供正在学习和准备学习实践OpenStack Nova的同学,提供参考。
  • openstack nova源码分析

    2012-10-09 16:56:36
    openstack nova 源码分析
  • openstack nova配置

    2011-11-27 10:12:36
    openstack nova配置全部文档 官方提供 按照步骤一步步安装 能用
  • openstack nova 分析笔记

    2018-09-11 16:14:05
    Openstack Nova 分析笔记

    原文地址:https://blog.csdn.net/u010827484/article/details/82627646
    Openstack Nova 分析笔记
    openstack-nova

    展开全文
  • OpenStack Nova novncproxy服务安装 在Ubuntu Precise(12.04)和Trusty(14.04)上进行了测试 要求 RabbitMQ服务器。 见下文。 对于RHEL / CentOS,需要RHOSP或RDO存储库。 角色变量 Nova novncproxy(由此角色...
  • OpenStack Nova 计算服务部署

    OpenStack Nova 计算服务部署

    Nova 计算服务

    为 OpenStack云环境提供了计算能力,相关环境需要在控制节点和计算节点分别进行部署。

    控制节点ct主要安装

    ​nova-api nova主服务
    ​nova-scheduler nova调度服务
    ​nova-condutor nova数据库服务,提供数据库访问
    ​nova-novncproxy nova的vnc服务,提供实例的控制台
    在这里插入图片描述

    创建 nova 用户及实体

    openstack user create --domain default --password NOVA_PASS nova		    	#创建nova用户
    
    openstack role add --project service --user nova admin					                #向nova用户添加admin权限
    openstack service create --name nova --description "OpenStack Compute" compute            #创建nova服务实体
    

    创建 compute API 服务端点

    openstack endpoint create --region RegionOne compute public http://ct:8774/v2.1
    openstack endpoint create --region RegionOne compute internal http://ct:8774/v2.1
    openstack endpoint create --region RegionOne compute admin http://ct:8774/v2.1
    

    在这里插入图片描述

    展开全文
  • openstack nova migration

    千次阅读 2015-07-16 15:26:08
    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 wh

    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 -- zero down-time migration whereupon the VM is not powered off during the migration and thus remains accessible.


    Understanding these VM migration operations from an OpenStack internals perspective can be a daunting task. I had the pleasure of digging into these flows in the latter part of 2013 and as part of that effort created a rough outline of the internal flows. Other's I've worked with found these flow outlines useful and thus they're provided below.


    Note -- The outlines below were created based on the OpenStack source in late 2013 and thus reflect the state of OpenStack at that point in time.




    Live Migration Flow:
    • nova.api.openstack.compute.contrib.admin_actions._migrate_live()
    • nova.compute.api.live_migrate()
      • update instance state to MIGRATING state
      • call into scheduler to live migrate (scheduler hint will be set to the host select (which may be none)).
    • nova.scheduler.manager.live_migration()
    • nova.scheduler.manager._schedule_live_migration()
    • nova.conductor.tasks.live_migrate.LiveMigrationTask.execute()
      • check that the instance is running
      • check that the instance's host is up
      • if destination host provided, check that it..
        1. is different than the instance's host
        2. is up
        3. has enough memory
        4. is compatible with the instance's host (i.e. hypervisor type and version)
        5. passes live migration checks (call using amqp rpc into nova manager check_can_live_migrate_destination)
      • else destination host not provided, find a candidate destination host and check that it...
        1. is compatible with the instance's host (i.e. hypervisor type and version)
        2. passes live migration checks (call using amqp rpc into nova manager check_can_live_migrate_destination)
      • call using amqp rpc into nova manager live_migration
        Note: Migration data is initially set by check_can_live_migrate_destination and can be used for implementation specific parameters from this point.
    • nova.compute.manager.check_can_live_migrate_destination()
      • driver.check_can_live_migrate_destination()
      • call using amqp rpc into nova manager check_can_live_migrate_source
      • driver.check_can_live_migrate_destination_cleanup()
    • nova.compute.manager.check_can_live_migrate_source()
      • determine if the instance is volume backed and add result to the migration data
      • driver.check_can_live_migrate_source()
    • nova.compute.manager.live_migration()
      • if block migration request then driver.get_instance_disk_info()
      • call using amqp rpc into nova manager pre_live_migration
        • Error handler: _rollback_live_migration
      • driver.live_migration()
    • nova.compute.manager.pre_live_migration()
      • get the block device information for the instance
      • get the network information for the instance
      • driver.pre_live_migration()
      • setup networks on destination host by calling the network API setup_networks_on_host
      • driver.ensure_filtering_rules_for_instance()
    • nova.compute.manager._rollback_live_migration()
      • update instance state to ACTIVE state
      • re-setup networks on source host by calling the network API setup_networks_on_host
      • for each instance volume connection call using amqp rpc into nova manager remove_volume_connection
      • if block migration or volume backed migration without shared storage
        • call using amqp rpc into nova manager rollback_live_migration_at_destination
    • nova.compute.manager._post_live_migration()
      • driver.get_volume_connector()
      • for each instance volume connection call the volume API terminate_connection
      • driver.unfilter_instance()
      • call into conductor to network_migrate_instance_start which will eventually call the network API migrate_instance_start
      • call using amqp rpc into nova manager post_live_migration_at_destination
      • if block migration or not shared storage driver.destroy()
      • else driver.unplug_vifs()
      • tear down networks on source host by calling the network API setup_networks_on_host
    • nova.compute.manager.post_live_migration_at_destination()
      • setup networks on destination host by calling the network API setup_networks_on_host
      • call into conductor to network_migrate_instance_finish which will eventually call the network API migrate_instance_finish
      • driver.post_live_migration_at_destination()
      • update instance to ACTIVE state
      • setup networks on destination host by calling the network API setup_networks_on_host
    • nova.compute.manager.rollback_live_migration_at_destination()
      • tear down networks on destination host by calling the network API setup_networks_on_host
      • driver.destroy()
    • nova.compute.manager.remove_volume_connection()
      • call _detach_volume
      • driver.get_volume_connector()
      • remove the volume connection by calling the volume API terminate_connection
    • nova.compute.manager._detach_volume()
      • driver.detach_volume()
        • Since the live migration failed the VM should not be on the destination host.  So this should be a no-op.
      • If there is an exception detaching the volume then rollback the detach by calling the volume API roll_detaching
     
    Cold Migration Flow:
    • nova.api.openstack.compute.servers._resize()
    • nova.api.openstack.compute.contrib.admin_actions._migrate()
    • nova.compute.api.resize()
      • if flavor_id is not passed, migrate host only and keep the original flavor
      • else flavor_id is given, migrate host and resize to new flavor
      • lookup the image for the instance by calling the image API show
      • check quota headroom and reserve
      • update instance to RESIZE_PREP state
      • determine if the instance's current host should be ignored as a migration target and update filter properties for the scheduler accordingly
      • call into scheduler to prep_resize
    • nova.scheduler.manager.prep_resize()
      • call scheduler driver to schedule_prep_resize
      • if no valid host was found then update instance to ACTIVE state and rollback quota reservation
      • if error occurred then update instance to ERROR state and rollback quota reservation
    • nova.scheduler.filter_scheduler.schedule_prep_resize()
      • run through scheduler filters to select host
      • call using amqp rpc into nova manager prep_resize
    • nova.compute.manager.prep_resize()
      • if no node specified call driver.get_available_nodes()
      • call _prep_resize
        • if an exception occurs then call into scheduler to prep_resize again if possible
    • nova.compute.manager._prep_resize()
      • if same host is used then ensure that the same host is allowed (as per configuration)
      • call using amqp rpc into nova manager resize_instance
    • nova.compute.manager.resize_instance()
      • get network and instance information
      • update instance to RESIZE_MIGRATING state
      • get block device information
      • call driver.migrate_disk_and_power_off()
      • call _terminate_volume_connections
      • call into conductor to network_migrate_instance_start which will eventually call the network API migrate_instance_start
      • update instance to RESIZE_MIGRATED state
      • call using amqp rpc into nova manager finish_resize
    • nova.compute.manager._terminate_volume_connections()
      • if there is a volume connection to terminate
        • driver.get_volume_connector()
        • for each volume connection remove the connection by calling the volume API terminate_connection
    • nova.compute.manager.finish_resize()
      • call _finish_resize
      • if successful commit the quota reservation
      • else rollback the quota reservation and update instance to ERROR state
    • nova.compute.manager._finish_resize()
      • if the flavor is changing then update the instance with the new flavor
      • setup networks on destination host by calling the network API setup_networks_on_host
      • call into conductor to network_migrate_instance_finish which will eventually call the network API migrate_instance_finish
      • update instance to RESIZE_FINISHED state
      • refresh and get block device information
      • driver.finish_migration()
      • update instance to RESIZED state
    Cold migration confirm flow:
    Cold migration revert flow:
      • nova.api.openstack.compute.servers._action_revert_resize()
      • nova.compute.api.revert_resize()
        • reserve quota for increase in resource usage
        • update instance task state to RESIZE_REVERTING
        • call amqp rpc into nova manager revert_resize
      • nova.compute.manager.revert_resize()
        • tear down networks on destination host by calling the network API setup_networks_on_host
        • call into conductor to network_migrate_instance_start which will eventually call the network API migrate_instance_start
        • get block device information
        • driver.destroy()
        • call _terminate_volume_connections
        • drop resize resources claimed on destination
        • call amqp rpc into nova manager finish_revert_resize
      • nova.compute.manager.finish_revert_resize()
        • update instance back to pre-resize values
        • re-setup networks on source host by calling the network API setup_networks_on_host
        • refresh and get block device information
        • driver.finish_revert_migration()
        • update instance to RESIZE_REVERTING state
        • call into conductor to network_migrate_instance_finish which will eventually call the network API migrate_instance_finish
        • update instance to ACTIVE (or possibly STOPPED) state
        • commit the quota usage

    Source: http://bodenr.blogspot.com/2014/03/openstack-nova-vm-migration-live-and.html

    展开全文
  • OpenStack Nova计算管理功能介绍 技术创新变革未来 前言 Nova作为OpenStack的核心项目提供大规模可扩展按需弹性和自助服务的计 算资源是整个OpenStack中最核心的项目 本章节分为两个部分理论和实验 理论部分主要讲解...
  • openstack nova源码分析.pdf
  • 如何拓展OpenStack nova

    千次阅读 2015-10-20 20:53:59
    OpenStack nova api有核心资源与扩展资源,这里记录的是如何拓展OpenStack nova api的拓展资源 1./nova/api/openstack/compute/contrib目录下是nova的扩展资源,在此目录下创建我们的代码,文件名为my_...

    OpenStack nova api有核心资源与扩展资源,这里记录的是如何拓展OpenStack nova api的拓展资源

    1./nova/api/openstack/compute/contrib目录下是nova的扩展资源,在此目录下创建我们的代码,文件名为my_extension.py,应为类名的小写,内容如下例

    from nova.api.openstack import extensions
    from nova.api.openstack import wsgi
    import webob
    from webob import exc
    from nova import db
    from nova import exception
    from nova.api.openstack import extensions
    authorize = extensions.extension_authorizer('compute', 'my_extension')
    
    
    
    
    class MyExtensionController(wsgi.Controller):
           def index(self, req):
                 result = {}
                 context = req.environ['nova.context']
                 authorize(context)
    
    
                 result["key"] =  "index"
                 return result
    
    
           def create(self, req):
                 result = {}
                 context = req.environ['nova.context']
                 authorize(context)
    
    
                 result["key"] =  "create"
                 return result
    
    
           def show(self, req, id):
                 result = {}
                 context = req.environ['nova.context']
                 authorize(context)
            
                 result["key"] =  "show"
                 return result
     
           def update(self, req):
                 result = {}
                 context = req.environ['nova.context']
                 authorize(context)
     
                 result["key"] =  "update"
                 return result
     
           def delete(self, req, id):
                 return webob.Response(status_int=202)
    
    
    
    
    class My_extension(extensions.ExtensionDescriptor):
        """my first extension."""
    
    
        name = "MyExtension"
        alias = "os-my-extension" 
        namespace = "........"
        updated = "....."
    
    
        def get_resources(self):
            resources = []
    
    
            res = extensions.ResourceExtension('os-my-extension',
                             MyExtensionController(),
                             member_actions={})
            resources.append(res)
            return resources
    
    
        def get_controller_extensions(self):
            controller = MyExtensionController()
            extension = extensions.ControllerExtension(self, 'servers', controller)
            return [extension]

    重启nova服务,用如下代码测试

    import httplib2
    
    http = httplib2.Http()
    url = 'http://controller:8774/v2/944fbff812a64d00bb12b347f9404e1e/os-my-extension/1'
    
    headers = {'X-Auth-Project-Id': 'admin', 'User-Agent': 'python-novaclient', 'Accept': 'application/json','X-Auth-Token': u'7f81cae370e04c8c8e310cad0b917c7b'}
    response, content = http.request(url, 'GET', headers=headers)
    print response
    print content

    调用的将是show函数,content内容为{"key":"show"}

    或者使用curl

    curl -v -X GET -H 'X-Auth-Token: 1c6e358a3cc1456db14fc73051ef39c7' http://controller:8774/v2/944fbff812a64d00bb12b347f9404e1e/os-my-extension/1  | python -mjson.tool

    展开全文
  • OpenStack Nova hacking和读书笔记

    千次阅读 2016-01-15 15:50:36
    OpenStack Nova 设计与实现
  • OpenStack Nova 创建出来的 instance 是没有永久存储的,也就是说关闭 instance 后所有数据都会丢失, 所以需要 storage 来保存每个 instance 的数据。OpenStack Nova 使用 nova-volume 服务来管理存储,实现和 ...
  • Multipath 安装 Openstack Nova + Cinder 配置
  • OpenStack Nova 的 Jar 驱动程序(基于 NovaDocker: : ) 安装和配置 ###1。 配置 OpenStack 以启用 docker ###2。 克隆这个仓库 ###3。 安装驱动程序 然后您应该安装所需的模块。 cd src/novadocker/ python ...
  • 该文档来自CCTC 2016中国云计算技术大会。Intel OTC 工程师发表的题为“OpenStack Nova 变革及Mitaka 更新”的主题演讲,欢迎下载!
  • OpenStack Nova 高性能虚拟机之 CPU 绑定

    千次阅读 2018-07-29 22:31:52
    目录 目录 前文列表 KVM 的功能列表 ...Nova 支持的 vCPU 绑定 ...OpenStack Nova 高性能虚拟机之 NUMA 架构亲和 多进程、多线程与多处理器计算平台的性能问题 # KVM KVM(Kernel-based...
  • hadoop-aware-nova-scheduler 用于虚拟 Hadoop 部署的 OpenStack Nova 调度程序低成本集成 想了解更多? 阅读项目!
  • OpenStack Nova源码分析之基础环境配置eclipse+pydev
  • openstack nova 源码下载

    2014-04-01 14:31:46
    为了方便大家一起学习openstack在这里将openstack nova源码跟大家一起分享!http://down.51cto.com/data/480000
  • OpenStack Nova 扩展API

    千次阅读 2013-09-11 15:24:40
    实验目标: 为OpenStack Nova 增加一个扩展API os-test 实验环境: CentOS 6.4 OpenStack Grizzly 操作流程: 在/nova/api/openstack/compute/contrib下创建一个Python
  • openstack nova api模块分析

    千次阅读 2015-02-10 11:00:18
    Nova API 在nova中的作用 ...Nova API服务是openstack nova模块的核心模块。API服务使nova计算模块的命令和控制流程,为用户提供服务。API是一个HTTP web服务,负责处理认证、授权、基本命令和控制功能。缺省情况
  • OpenStack Nova 扩展数据库

    千次阅读 2013-09-09 13:54:43
    OpenStack Nova 数据库增加一个表 test 实验环境: CentOS6.4 64-bit OpenStack Grizzy 操作流程: 在 /nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py 下增加一个新的方法 def test(): yarnhosts =...
  • Openstack nova(一)——Overview

    千次阅读 2015-03-12 17:00:03
    引子 想要明白Openstack Nova是怎么工作的,先要明白OpenstackNova是干什么的? 先看看百度百科介绍: OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有...
  • OpenStack NOVA概述

    2012-03-16 13:08:15
    OpenStack Compute作为OpenStack Cloud的“操作系统”,负责管理所有的资源、网络、认证以及可扩展性。OpenStack Compute的Austin版本所具有的特性如下: 支持的虚拟机类型有:Xen、KVM、Qemu,用户模式支持Linux ...
  • 感谢朋友支持本博客,欢迎共同探讨交流,由于能力和时间有限,错误之处在所难免,欢迎...OpenStack Nova的结构: 通过阅读Grizzly版OpenStack源码,整理的简要的Nova模块源码结构,希望和大家相互交流。/bin:Nova各...
  • openstack nova集成docker部署过程记录

    千次阅读 2015-09-15 17:49:35
    openstack nova集成docker部署过程记录docker已经可以作为compute driver来使用,脱离了原来HEAT的模式,可以做到真正地使用nova来启动容器.这里记录一下openstack Kilo + docker 1.8的集成过程.所有组件环境基于...
  • 查看OpenStack Nova的安装版本号

    千次阅读 2013-04-18 19:46:06
     安装完 OpenStack Nova 以后过段时间就很容易忘记自己装的是哪个版本,而旧版本的 OpenStack Nova 提供了 version 的接口,不过只是针对开发人员,命令行工具没有面向系统管理员的接口,所以只能通过 python 调取 ...
  • openstack nova计算节点修改实例路径后selinux问题的解决办法 故障描述 openstack nova计算节点可通过修改配置文件来更改示例的存放路径(默认是/var/lib/nova/instances),修改方式是运行vim /etc/nova/nova....
  • OpenStack Nova源码结构(2)

    千次阅读 2013-09-02 04:57:33
    接续上篇博文,继续来看OpenStack Nova的结构: /nova/cells/driver.py:cell通讯驱动基类; /nova/cells/manager.py:cell服务管理API,主要定义了类CellsManager; /nova/cells/messaging.py:cell通信模块; /nova/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,136
精华内容 9,654
关键字:

openstacknova