我是CloudStack的新手。我使用CentOS 6.4和kvm上的快速安装指南安装它。由于我的网络是我所在学院的局域网,并且有一个用于连接到互联网的DHCP和网关,所以我在开始时定义了Pod和guest虚拟机的地址池,其中包含LAN地址范围。但我无法创建实例来获取此错误:
2013-06-17 13:44:03,445 DEBUG [cloud.storage.StorageManagerImpl](Job-Executor-1:job-9)未分配的容量不足:200用于卷分配:[Vol [3 | vm] = 3 | ROOT]]因为其分配的百分比:2.2468850974329963E7已越过分配的pool.storage.allocated.capacity.disablethreshold:0.85,跳过此池
我猜这是因为pool和dhcp范围之间的IP冲突。所以我重新安装了它(删除并重新安装了cloud-agent和cloud-client),这次从dhcp子网(255.255.0.0)为地址池(255.0.0.0)定义了一个不同的子网。但是现在我在使用UI进行配置后“创建系统虚拟机”时出现此错误:
WARN [cloud.consoleproxy.ConsoleProxyManagerImpl](consoleproxy-1 :)尝试启动控制台代理时出现异常com.cloud.exception.AgentUnavailableException:资源[Host:1]无法访问:主机1:由于无法启动实例无法启动VM [ConsoleProxy | v-2-VM]由于finalizeStart,在com.cloud.vm.VirtualMachineManagerImpl.advanceStart(VirtualMachineManagerImpl.java:847)在com.cloud.vm.VirtualMachineManagerImpl.start不重试错误(VirtualMachineManagerImpl的.java:472)在com.cloud.vm.VirtualMachineManagerImpl.start(VirtualMachineManagerImpl.java:465)在com.cloud.consoleproxy.ConsoleProxyManagerImpl.startProxy(ConsoleProxyManagerImpl.java:627)在com.cloud.consoleproxy.ConsoleProxyManagerImpl.allocCapacity( ConsoleProxyManagerImpl.java:1164)在com.cloud.consoleproxy.ConsoleProxyManagerImpl.expandPool(ConsoleProxyManagerImpl.java:1981)在com.cloud.consoleproxy.ConsoleProxyManagerImpl.expandPool(ConsoleProxyManagerImpl.java:173)在com.cloud.vm.SystemVmLoadScanne r.loadScan(SystemVmLoadScanner.java:113)在com.cloud.vm.SystemVmLoadScanner.access $ 100(SystemVmLoadScanner.java:34)在com.cloud.vm.SystemVmLoadScanner $ 1.reallyRun(SystemVmLoadScanner.java:83)在com.cloud java.util.concurrent.Executors中的.vm.SystemVmLoadScanner $ 1.run(SystemVmLoadScanner.java:73)java.util.concurrent.FutureTask $ Run.ableRapAndReset(FutureTask.java)中的$ RunnableAdapter.call(Executors.java:471) 351)在java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)在java.util.concurrent.ScheduledThreadPoolExecutor中$ ScheduledFutureTask.access $ 301(ScheduledThreadPoolExecutor.java:178)在java.util.concurrent.ScheduledThreadPoolExecutor中$ ScheduledFutureTask。运行(ScheduledThreadPoolExecutor.java:293)在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)在java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:603)在java.lang.Thread中.run(Thread.java:722)引起:com.cloud.utils.exception.ExecutionException:无法启动VM [ConsoleProxy | v-2-VM]由于finalizeStart中的错误而没有在com.cloud.vm.VirtualMachineManagerImpl.advanceStart(VirtualMachineManagerImpl.java:814)上重试... 19更多
问题与IP冲突有关吗?如果是,如何解决?
由于
答案 0 :(得分:1)
您可以创建嵌套的虚拟机管理程序实验室并部署cloudstack。使用cloudstack与开源Xenserver虚拟机管理程序的最简单方法。 Bellow post显示了与步骤相同的过程。
第2部分:http://www.cloudometry.in/2015/03/apache-cloudstack-implementation-step_29.html
第3部分:http://www.cloudometry.in/2015/03/apache-cloudstack-implementation-step_96.html
答案 1 :(得分:0)
首先是最后一个例外:
需要一些背景知识才能理解为什么CloudStack尝试在虚拟机管理程序上启动虚拟机。 VM是系统VM。 CloudOS将系统VM用于跨云的分布式服务。目前,CloudStack有三种:二级存储,虚拟路由器和控制台代理VM。控制台代理VM允许您查看VM的虚拟帧缓冲区。通常您需要访问虚拟机管理程序本身。相反,管理程序上安装了控制台代理。请注意,系统VM和用户VM使用相同的代码启动。因此,例外情况表明创建VM存在一般问题。
异常的具体细节表明CloudStack无法访问KVM盒上的代理。为什么不检查您是否可以从CloudStack管理服务器SSH到KVM管理程序?其次,查看KVM盒的传出连接。是否存在从KVM盒上的代理到CloudStack管理服务器的TCP连接?