openstack 问题澄清

本文详细解析了Neutron中plugin与agent的关系,包括在不同插件使用情况下的对应关系,以及Neutronserver如何同时使用多个plugin和serviceplugin。此外,文章还探讨了G版本后nova-compute直接访问数据库被取消的原因,以及创建虚拟机状态变化的过程。

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. 

转载于:https://www.cnblogs.com/xingyun/p/4705864.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值