root@OpenstackIcehouse2:~# cat /etc/nova/nova-compute.conf [DEFAULT] compute_driver=libvirt.LibvirtDriver [libvirt] virt_type=qemu libvirt_inject_partition=-1 inject_password=true $ apt-get install libguestfs-tools $ update-guestfs-appliance $ libgue…
1. 虚拟机镜像的创建和resize流程 nova创建虚拟机涉及的组件比较多,调用比较复杂,这里只列出跟虚拟机镜像创建相关的流程,方便理清虚拟机状态变化的整个流程. nova-api nova.api.openstack.compute.servers.ServersController.create() # 接受创建请求,解析出image_uuid nova.compute.api.API.create () nova.compute.api.API._create_instance() #…
1. how to launch an instance: [root@localhost ~(keystone_admin)]# nova flavor-list+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+| ID | Name      | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor |…
2018-06-10 21:03:54.045 1898 ERROR nova.compute.manager [instance: 15a6c26f-b8af-4a3e-a3df-8552c16e092c] Traceback (most recent call last):2018-06-10 21:03:54.045 1898 ERROR nova.compute.manager [instance: 15a6c26f-b8af-4a3e-a3df-8552c16e092c]   File…
这里我只使用compute1节点配置为示例,其它节点的配置基本是一样的,只是声明的管理IP不同而已   计算节点 # yum install openstack-nova-compute sysfsutils   修改配置文件 vi /etc/nova/nova.conf   [DEFAULT] resume_guests_state_on_host_boot=True rpc_backend = rabbit auth_strategy = keystone my_ip = 10.40.42.…
这里我只使用kxcompute1节点配置为示例,其它节点的配置基本是一样的,只是声明的管理IP不同而已   计算节点 # yum install openstack-nova-compute sysfsutils   修改配置文件 vi /etc/nova/nova.conf   [DEFAULT] vcpu_pin_set = 4-31 resume_guests_state_on_host_boot=True rpc_backend = rabbit auth_strategy = keys…
云主机迁移+扩展云主机大小 ,官方说它依赖nova用户之间的免密登录.确保每个resion区域的compute节点服务器他们可以相互SSH免密   compute1-7     他们相互SSH免密 kxcompute1-9  他们相互SSH免密   1.注意!是每台机器上的nova用户向另一台机器的nova用户的免密登录   每台compute节点修改ssh配置,目的是为了不让其提示输入yes保存密钥 vi /etc/ssh/ssh_config 尾部添加   StrictHostKeyChec…
1.前言 非常早之前就開始着手写Openstack 系列的博客了,在写了总体架构和Keystone之后,准备写Nova,可是每次写到一半,自己心里就认为不踏实,由于似乎我并没有真正理解Nova,或者说根本就没理解Compute的真正意义.Nova 也许并不只不过Openstack总体架构中的一个组件那么简单.今天准备開始写Nova.可是我依然认为距离全然理解Nova另一段距离,但我打算先写出来.读者可以一起探讨. 2.背景 之前与同事在讨论云计算的时候,他说云计算事实上是一个伪命题.由于根本不存…
nova-compute 的代码结构图 如上图所看到的, 类图中最重要的三个Category Manager: 核心的业务类.提供实际的业务操作.比如启动虚拟机等等. Service: 每一个service通常包含一个相应的Manager. service 也负责在消息队列上对指定的topic进行监听,当监听到新的RPC消息的时候, 调用相应的Manager的方法. Launcher: 负责管理全部的service, 包含启动service, 停止service, 维护service列表…
Migrate 操作的作用是将 instance 从当前的计算节点迁移到其他节点上. Migrate 不要求源和目标节点必须共享存储,当然共享存储也是可以的. Migrate 前必须满足一个条件:计算节点间需要配置 nova 用户无密码访问. 下面是 Migrate instance 的流程图 向 nova-api 发送请求 nova-api 发送消息 nova-scheduler 执行调度 nova-scheduler 发送消息 nova-compute 执行操作 下面我们详细讨论每一个步骤.…