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

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工作。

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

(0)

相关推荐

  • CloudStack 环境如何重新部署详解

    CloudStack 环境重新部署: 最近公司项目需求,由于更改项目需要重新部署环境,经过一番官网查询,及论坛,博客的资料查询,终于解决,这里说下如何实现. 在研发基于CloudStack之上的应用时,经常遇到要重新安装CloudStack,如果全部重装的话,太慢,所以找到了一个简单办法,只需要删除存储SR并重新部署CloudStack数据库即可. 实现具体步骤: 1).停止CloudStack服务.service cloud-management stop. 2).到MySQL里查询selec

  • CloudStack 安装及使用过程中常见问题汇总

    CloudStack 安装及使用过程中常见问题汇总             在做工程项目中对CloudStack 安装及使用过程中常见的几个问题及如何解决做一个总结.   1.Windows XP虚拟机内部重启不能正确获取IP,windows xp iso建立VM,重启VM无法正确获取IP地址,原因是没有加入域,可以通过修改注册表来解决此问题.设置组策略 计算机配置--管理模板--网络--DNS客户端里的DNS后缀搜索列表,设置为已启动,后缀值为cs1group.internal Windows

  • CloudStack 创建主存储失败解决方案

    CloudStack创建主存储失败(SR已经被使用),删除SR后成功 由于最近工程需要用到这个东西,于是乎,在网上找了些资料解决了CloudStack创建主存储失败(SR已经被使用),删除SR后成功,的问题,这里就记录下: 创建主存储时,可能会发生创建存储pool失败(SR已经被使用,重装CloudStack management后可能发生此问题),错误提示如下: Can not create storage pool through host 1 due to Catch Exception

  • cloudstack下libvirtd服务无响应问题

    在cloudstack4.5.2版本下,偶尔出现libvirtd服务无响应的情况,导致virsh命令无法使用,同时伴随cloudstack master丢失该slave主机连接的情况.最初怀疑是libvirtd服务或版本的问题,经过分析和排查最终确定是cloudstack-agent的问题.但是在官网上并没有找到类似的bug提交,该问题可能还存在于更高的版本,需要时间进一步从根本上分析.下面是该问题的处理过程,在此记录下,关注和使用cloudstack的朋友可以参考. 众所周知,cloudsta

  • CentOS6.6安装CloudStack4.8

    CloudStack官方是有非常详细的安装使用文档,不过可能稍显散乱.这里记录下一次安装配置的过程,备忘!整个过程参考官方安装文档! CloudStack是一个开源的具有高可用性及扩展性的云计算平台.支持管理大部分主流的hypervisor,如KVM虚拟机,XenServer,VMware,Oracle VM,Xen等. 一.基础环境: 安装是在Centos6.6 64位版本的系统上进行的,使用的cloudstack版本为4.8目前官方最新版本,较之前的4.3有些改变,对后续的使用还是有些影响,

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

    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

  • Eureka源码阅读Client启动入口注册续约及定时任务

    目录 引言 1.环境 2. Spring Cloud整合Eureka Client 启动入口 2.1 封装配置文件的类 2.1.1 EurekaClientConfigBean 2.1.2 EurekaInstanceConfigBean 2.2 EurekaClient 2.2.1 ApplicationInfoManager 2.2.2 EurekaClient 2.3 小结 3. DiscoveryClient类的解析 3.1 DiscoveryClient 作用 3.2 Discover

  • Eureka源码阅读解析Server服务端启动流程实例

    目录 环境 1.spring cloud整合eureka server demo 1.1 新建spring boot项目 pom.xml文件添加 配置文件 1.2 启动类 1.3 启动 2. spring cloud自动装配eureka server源码解析 2.1 @EnableEurekaServer注解 2.2 EurekaServerAutoConfiguration 2.2.1 查找starter 自动装配类的技巧 2.2.2 EurekaServerAutoConfiguration

  • Java终止线程实例和stop()方法源码阅读

    了解线程 概念 线程 是程序中的执行线程.Java 虚拟机允许应用程序并发地运行多个执行线程. 线程特点 拥有状态,表示线程的状态,同一时刻中,JVM中的某个线程只有一种状态; ·NEW 尚未启动的线程(程序运行开始至今一次未启动的线程) ·RUNNABLE 可运行的线程,正在JVM中运行,但它可能在等待其他资源,如CPU. ·BLOCKED 阻塞的线程,等待某个锁允许它继续运行 ·WAITING 无限等待(再次运行依赖于让它进入该状态的线程执行某个特定操作) ·TIMED_WAITING 定时

  • Android线程池源码阅读记录介绍

    今天面试被问到线程池如何复用线程的?当场就懵掉了...于是面试完毕就赶紧打开源码看了看,在此记录下: 我们都知道线程池的用法,一般就是先new一个ThreadPoolExecutor对象,再调用execute(Runnable runnable)传入我们的Runnable,剩下的交给线程池处理就行了,于是这次我就从ThreadPoolExecutor的execute方法看起: public void execute(Runnable command) { if (command == null)

  • 源码阅读之storm操作zookeeper-cluster.clj

    storm操作zookeeper的主要函数都定义在命名空间backtype.storm.cluster中(即cluster.clj文件中). backtype.storm.cluster定义了两个重要protocol:ClusterState和StormClusterState. clojure中的protocol可以看成java中的接口,封装了一组方法.ClusterState协议中封装了一组与zookeeper进行交互的基础函数,如获取子节点函数,获取子节点数据函数等,ClusterStat

  • java源码阅读之java.lang.Object

    Object是所有类的父类,任何类都默认继承Object.Object类到底实现了哪些方法? 1.clone方法 保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常. 2.getClass方法 final方法,获得运行时类型. 3.toString方法 该方法用得比较多,一般子类都有覆盖. 4.finalize方法 该方法用于释放资源.因为无法确定该方法什么时候被调用,很少使用. 5.equals方法 该

  • springboot-2.3.x最新版源码阅读环境搭建(基于gradle构建)

    一.前言 跟很多小伙伴聊天,发现一个严重的问题,很多小伙伴横向发展的貌似很不错,很多技术都能说出一二,但是如果在某个技术上深挖一下就不行了,问啥啥不会.就拿springboot来说,很多同学止步于springboot的应用,再往深处就一问三不知了,那么如何破局呢?smart哥认为最好的办法就是直捣黄龙,要把一个技术理解透了,听别人讲一万遍原理,不如自己撕一遍源码. 要阅读源码那就首先得先搭建源码阅读环境,那么本篇文章就来介绍下Spring Boot的源码环境搭建. 鉴于spring团队已经全面抛

  • Nacos源码阅读方法

    为什么我会经常阅读源码呢,因为阅读源码能让你更加接近大佬,哈哈,这是我瞎扯的. 这篇文章将会带大家阅读Nacos源码 以及 教大家阅读源码的技巧,我们正式开始吧! 先给大家献上一张我梳理的高清源码图,方便大家对nacos的源码有一个整体上的认识. 有了这张图,我们就很容易去看nacos源码了. 如何找切入点 首先我们得要找一个切入点进入到nacos源码中,那么就从nacos依赖入手 <dependency> <groupId>com.alibaba.cloud</groupI

  • 基于Gradle搭建Spring 5.3.13-release源码阅读环境的详细流程

    目录 # 1.安装JDK # 2.安装Gradle # 3.Spring版本命名规则 # 4.下载Spring 5.3.13-release源码 # 5.修改Spring源码中Gradle配置 # 6.构建Spring源码 # 7.导入IDEA 点击File --> New --> Project from Existing Sources... # 8.创建Spring源码debug调试模块 # 基于Gradle搭建Spring 5.5.13-release源码阅读环境 Spring版本:5

随机推荐