openstack 问题澄清

1. neutron中plugin与agent是一一对应的吗?

 在不使用ml2时,plugin与agent一一对应,如ovs-plugin与ovs-agent;当使用ml2 plugin时,该plugin可以对应多种agent,如ovs-agent,linuxbridge-agent等。

2. neutron server能同时使用多个plugin吗?

 plugin分为 core plugin 与 service plugin。

 core plugin 只能使用一个,如ml2 plugin,至于可以使用哪些core plugin,都在neutron/plugins文件夹下,具体使用了哪种core plugin,定义在neutron.conf的core_plugin字段。

 service plugin能使用多个,如LB plugin、L3 plugin等,可以使用哪些service plugin,都在neutron/services文件夹下,具体使用了哪种service plugin,定义在neutron.conf的service_plugins字段。

 3. 是不是使用了ml2 plugin,agent 可以同时使用ovs和linuxbridge?

 应该说一个host只能使用一种agent,如controller node 使用neutron server+ml2 plugin,compute node1 使用ovs agent,compute node2 使用linuxbridge agent。

4.  G版本后,为何取消nova-compute直接访问数据库,而由nova-conductor代替?

  • 安全考虑。因为compute节点通常会运行不可信的用户负载,一旦服务被攻击或用户虚拟机的流量溢出,则数据库会面临直接暴露的风险。
  • 方便升级。将nova-compute与数据库解耦的同时,也会与模式(schema)解耦,因此就不会担心旧的代码访问新的数据库模式。

  目前,nova-conductor暴露的方法主要是数据库访问,但后续从nova-compute移植更多的功能,让nova-compute看起来更像一个没有大脑的干活者,而nova-conductor则会实现一些复杂而耗时的任务,比如migration(迁移)或者resize(修改虚拟机规格)。

  应该避免nova-conductor与nova-compute部署在同一个计算节点,否则移除直接数据库访问就没有任何意义了。同其他nova服务(nova-api, nova-scheduler)一样,nova-conductor也可水平扩展,即可以在不同的物理机上运行多个nova-conductor实例。

5. 创建VM状态变化过程如何?

 vm_state 只会从building到active状态

 task_state 状态变化:scheduling-> None -> networking -> block-device-mapping -> spawn -> None

6. 

你可能感兴趣的:(openstack 问题澄清)