CloudStack SSVM启动条件源码阅读与问题解决方法

时间:2021-05-19

CloudStack SSVM启动条件源码阅读与问题解决方法:

在CloudStack建立zone的时候,经常遇到SSVM不启动,或者根本就没有SSVM的情况,分析CloudStack日志,会发现有“Zone 1 is not ready to launch secondary storage VM yet”打印,意思是zone还未准备好启动SSVM。

通过查询CloudStack源代码,发现启动SSVM前有如下检查:

获取Zone里的template。

select a.* from vm_template a, host h where h.type = 'Routing' and h.data_center_id = 1 and a.type = 'System' and a.hypervisor_type = h.hypervisor_type limit 1;

如果没有获取到,会打印如下警告:

Warn: Zone host is ready, but secondary storage vm template 3 is not ready on secondary storage: 1

解决办法:检查system template是否已经下载完成(注意,要下载自己环境的hypervisor的system template)。

获取zone的二级存储。

select * from host where type = 'SecondaryStorage' and data_center_id = 1; # host id is 3

如果没有获取到,会打印如下警告:

Warn: No secondary storage available in zone 1, wait until it is ready to launch secondary storage vm

解决办法:为zone 1建立secondary storage pool。

获取template和host的关联。

select * from template_host_ref where host_id = 3 and template_id = 1 and download_state = 'DOWNLOADED'; # host id and template id is query by before.

如果没有获取到,会打印如下警告:

Warn: Zone host is ready, but secondary storage vm template 3 is not ready on secondary storage: 1

如果secondary storage是NFS,可以通过mount来检查secondary storage是否能够正常工作,如果secondary storage没有问题,则只能等待CloudStack自动关联上。

获得host的主存储。

SELECT p.data_center_id, count(ph.host_id) count FROM storage_pool p, storage_pool_host_ref ph WHERE p.id = ph.pool_id AND p.data_center_id = 1 GROUP by p.data_center_id;

主存储数量需要大于0,如果等于0,会打印如下警告:

Warn: Primary storage is not ready, wait until it is ready to launch secondary storage vm

没有问题后,CS会打印:Zone 1 is ready to launch secondary storage VM。 CS将会启动 start secondary storage VM工作。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章