【问题标题】:Apache cloudstack: Cannot add instances using template created from snapshotApache cloudstack:无法使用从快照创建的模板添加实例
【发布时间】:2014-09-08 21:54:52
【问题描述】:

我遵循了这个https://github.com/imduffy15/GSoC-2014/,并在我的本地机器上安装了具有基本网络功能的apache cloudstack,一切都很顺利。

​我可以毫无问题地从内置的微型 linux 模板(cent-os 5.6 64bit)添加实例。

我获得了正在运行的实例卷的快照并从中创建了一个模板。当我尝试使用该模板添加实例时,我总是得到 InsufficientServerCapacityException。

根据我的仪表板,有足够的容量来添加实例。 有什么想法吗?

控制台:

​WARN  [o.a.c.alerts] (API-Job-Executor-5:ctx-4692c763 job-166 ctx-b141500e)  alertType:: 8 // dataCenterId:: 1 // podId:: null // clusterId:: null // message:: Failed to deploy Vm with Id: 29, on Host with Id: null
INFO  [o.a.c.a.c.a.v.DeployVMCmdByAdmin] (API-Job-Executor-5:ctx-4692c763 job-166 ctx-b141500e) com.cloud.exception.InsufficientServerCapacityException: Unable to create a deployment for VM[User|i-2-29-VM]Scope=interface com.cloud.dc.DataCenter; id=1
INFO  [o.a.c.a.c.a.v.DeployVMCmdByAdmin] (API-Job-Executor-5:ctx-4692c763 job-166 ctx-b141500e) Unable to create a deployment for VM[User|i-2-29-VM]
com.cloud.exception.InsufficientServerCapacityException: Unable to create a deployment for VM[User|i-2-29-VM]Scope=interface com.cloud.dc.DataCenter; id=1
    at org.apache.cloudstack.engine.cloud.entity.api.VMEntityManagerImpl.reserveVirtualMachine(VMEntityManagerImpl.java:214)
    at org.apache.cloudstack.engine.cloud.entity.api.VirtualMachineEntityImpl.reserve(VirtualMachineEntityImpl.java:200)
    at com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.java:3515)
    at com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.java:3166)
    at com.cloud.vm.UserVmManagerImpl.startVirtualMachine(UserVmManagerImpl.java:3154)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.apache.cloudstack.network.contrail.management.EventUtils$EventInterceptor.invoke(EventUtils.java:106)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
    at com.cloud.event.ActionEventInterceptor.invoke(ActionEventInterceptor.java:51)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at com.sun.proxy.$Proxy224.startVirtualMachine(Unknown Source)
    at org.apache.cloudstack.api.command.admin.vm.DeployVMCmdByAdmin.execute(DeployVMCmdByAdmin.java:48)
    at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:141)
    at com.cloud.api.ApiAsyncJobDispatcher.runJob(ApiAsyncJobDispatcher.java:108)
    at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.runInContext(AsyncJobManagerImpl.java:503)
    at org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:49)
    at org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56)
    at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103)
    at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53)
    at org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:46)
    at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.run(AsyncJobManagerImpl.java:460)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

【问题讨论】:

    标签: apache-cloudstack


    【解决方案1】:

    我回复了您的私人电子邮件。任何人在谷歌上搜索该问题都会在这里回复。

    这很可能是由于您正在使用的服务产品。

    默认的 Cloudstack 服务产品使用共享存储。我的 GSoC 项目的设置都是本地存储。

    您可以通过 UI 和指定的本地存储创建新的服务产品。

    或者,打开 SQL 数据库,导航到 service_offering_view 并将 use_local_storage 列修改为 1。

    编辑:

    您能否查看基于卷创建的模板的模板视图。检查 HVM 的列标志是否设置为 0。

    【讨论】:

    • 另外请注意,这里正在进行嵌套虚拟化。如果您尝试使用的 CentOS 模板没有 PV 驱动程序,它将无法启动。一个 32 位的可以在没有 PV 驱动程序的情况下正常启动。任何使用内核 3 或更高版本的 64 位 Linux 发行版也可以正常启动。出于测试目的,我通常使用 debian 7 或 ttylinux_vhd 模板。
    • 在使用 tiny linux 模板创建实例时,配置为共享存储的服务产品难道不会出现问题吗?
    • Miguel - postee 提供的参考 GSoC-2014 项目在类似开发的环境中设置 cloudstack。此环境使用管理程序本身的主存储(本地主存储)。默认情况下,cloudstack 附带的所有服务产品(小型实例、中型实例、tinyInstance(取决于您拥有的 Cloudstack 版本))都配置为使用共享存储。尝试在不存在共享主存储的情况下使用具有共享存储的服务产品将导致错误。
    • 我理解你的意思,但是如果可以首先创建一个实例,这是否意味着服务产品配置良好? (我假设用于从模板创建第二个实例的产品与用于从微型 Linux 模板创建初始实例的产品相同)
    猜你喜欢
    • 1970-01-01
    • 2017-07-30
    • 1970-01-01
    • 1970-01-01
    • 2018-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-20
    相关资源
    最近更新 更多