【发布时间】:2014-12-26 14:03:15
【问题描述】:
刚开始玩openstack,很多东西还是不明白。如我所见,要启动 VM 实例,我们通常在 controller 上执行一些命令,例如
glance image-create 新星开机
但是控制器怎么知道: 1)在哪个计算节点上启动VM 2) 它有多少个计算节点
它从哪里获取这些信息?
【问题讨论】:
刚开始玩openstack,很多东西还是不明白。如我所见,要启动 VM 实例,我们通常在 controller 上执行一些命令,例如
glance image-create 新星开机
但是控制器怎么知道: 1)在哪个计算节点上启动VM 2) 它有多少个计算节点
它从哪里获取这些信息?
【问题讨论】:
控制器将根据 nova-scheduler 提供的信息确定启动实例的位置:
http://docs.openstack.org/juno/config-reference/content/section_compute-scheduler.html
至于识别多少计算节点,这个是在控制器上用nova compute注册计算节点时确定的。以下是如何为 RHEL/CentOS/Fedora 安装和配置计算的参考:
http://docs.openstack.org/juno/install-guide/install/yum/content/ch_nova.html
【讨论】:
对于此类问题,我建议学习 OpenStack 软件架构,例如,查看此页面 http://docs.openstack.org/openstack-ops/content/example_architecture.html。
简单地说,OpenStack 将所有配置保存在默认为 mysql 的数据库中,因此 Controller 知道所有信息。一个名为 nova-scheduler 作为控制器服务运行的 Nova 组件将决定在所有可用主机中放置 VM 的位置。
一个很好的起点是部署多个节点环境。您将了解 OpenStack 在部署过程中的工作原理。
【讨论】: