公司新部署完一套OpenStack环境,准备创建一台虚拟机进行测试验证,结果创建的虚拟机状态都为ERROR,检查nova-scheduler日志发现报了一堆No valid host found, RetryFilter return 0 host,通常是哪个nova组件部署或者配置有问题?
收起由题意可得
- 经过nova的过滤器之后,没有任何计算节点符合要求
- 谁负责nova的调度呢?
- nova-schedule 内置多个过滤器,并可以自己扩展过滤器,包括元数据,安全组,可用域等等过滤器
- 有一个retry_filter最重要,举个例子方便大家理解: 假设 A,B,C 三个节点都通过了过滤,最终 A 因为权重值最大被选中执行操作。 但由于某个原因,操作在 A 上失败了。 默认情况下,nova-scheduler 会重新执行过滤操作(重复次数由 scheduler_max_attempts 选项指定,默认是 3)。 那么这时候 RetryFilter 就会将 A 直接刷掉,避免操作再次失败。 RetryFilter 通常作为第一个 filter。