首页 » OpenStack系统架构设计实战 » OpenStack系统架构设计实战全文在线阅读

《OpenStack系统架构设计实战》2.7.5 nova-conductor

关灯直达底部

从G版本开始,取消了nova-compute的直接数据库访问,而增加了一个服务nova-conductor,所有nova-compute原先需要和数据库交互的部分,都不得直接访问数据库,而是通过访问nova-conductor获得。nova-conductor相当于Nova组件操作数据库的一个中间件。这个主要是从两方面考虑,一个是数据库安全。传统情况下每个nova-compute所运行的主机都能访问数据库,一旦某个主机被攻破,则数据库也就直接暴露了,对于数据库来说很不安全。另一个是,nova-compute与数据库解耦更有利于nova-compute的后续升级。

不仅是nova-compute在访问数据库时需要和nova-conductor交互,其他Nova组件访问数据库也通过nova-conductor中转。所以在启动时,nova-conductor需要首先启动起来。另外,随着nova-conductor的逐步完善,nova-conductor也逐渐承接了一部分TaskAPI任务。TaskAPI任务主要包含一些比较耗时的任务,如创建虚拟机等。比如传统模式下,nova-api收到请求消息后会发送给nova-scheduler处理,现在改为首先发给nova-conductor,再由nova-conductor发送给nova-scheduler进行调度处理。