【问题标题】:Apache CloudStack: No templates showing when adding instanceApache CloudStack:添加实例时没有显示模板
【发布时间】:2017-07-30 23:19:47
【问题描述】:

我已经按照quick installation guide 在 CentOS 6.8 机器上设置了 apache cloudstack。管理服务器和 KVM 设置在同一台机器上。管理服务器运行没有问题。我能够从 Web 界面添加区域、pod、集群、主存储和辅助存储。但是当我尝试添加一个实例时,它没有在第二阶段显示任何模板,如您在屏幕截图中所见

但是,我可以在 Web UI 中的 Templates 链接下看到两个模板。

但是当我选择模板并导航到Zone 选项卡时,我看到Timeout waiting for response from storage host 和Ready 字段显示没有。

当我检查管理服务器日志时,似乎在 cloudstack 尝试挂载辅助存储以供使用时出现错误。 cloudstack-management.log 文件中的以下部分描述了此错误。

    2017-03-09 23:26:43,207 DEBUG [c.c.a.t.Request] (AgentManager-Handler-
14:null) (logid:) Seq 2-7686800138991304712: Processing:  { Ans: , MgmtId: 
279278805450918, via: 2, Ver: v1, Flags: 10, [{"com.cloud.agent.api.Answer":
{"result":false,"details":"com.cloud.utils.exception.CloudRuntimeException: 
GetRootDir for nfs://172.16.10.2/export/secondary failed due to 
com.cloud.utils.exception.CloudRuntimeException: Unable to mount 
172.16.10.2:/export/secondary at /mnt/SecStorage/6e26529d-c659-3053-8acb-
817a77b6cfc6 due to mount.nfs: Connection timed out\n\tat 
org.apache.cloudstack.storage.resource.NfsSecondaryStorageResource.getRootDir(Nf
sSecondaryStorageResource.java:2080)\n\tat 
org.apache.cloudstack.storage.resource.NfsSecondaryStorageResource.execute(NfsSe
condaryStorageResource.java:1829)\n\tat 
org.apache.cloudstack.storage.resource.NfsSecondaryStorageResource.executeReques
t(NfsSecondaryStorageResource.java:265)\n\tat 
com.cloud.agent.Agent.processRequest(Agent.java:525)\n\tat 
com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:833)\n\tat 
com.cloud.utils.nio.Task.call(Task.java:83)\n\tat 
com.cloud.utils.nio.Task.call(Task.java:29)\n\tat 
java.util.concurrent.FutureTask.run(FutureTask.java:262)\n\tat 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)\
n\tat 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)\
n\tat java.lang.Thread.run(Thread.java:745)\n","wait":0}}] }

谁能指导我如何解决这个问题?我已经尝试了几个小时,但不知道如何继续。
编辑 1: 请注意,我的 LAN 地址是 10.103.72.50,我认为不是/24 地址。我试图通过在ifcg-eth0 文件中进行以下设置来给 CentOs 一个静态 IP

DEVICE=eth0
HWADDR=52:54:00:B9:A6:C0
NM_CONTROLLED=no
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.16.10.2
NETMASK=255.255.255.0
GATEWAY=172.16.10.1
DNS1=8.8.8.8
DNS2=8.8.4.4

但是这样做会阻止我的互联网。作为一种解决方法,我恢复了这些更改并首先安装了所有软件包。然后我通过与上面相同的配置设置将 IP 更改为静态并运行 cloudstack 管理。一切都很好,直到我碰到这个模板的东西。请帮我弄清楚可能出了什么问题

【问题讨论】:

  • 由于Edit 1中提到的问题,我的系统无法访问互联网。系统是否需要找到互联网才能正常运行?

标签: centos nfs kvm apache-cloudstack


【解决方案1】:

我知道我迟到了,但对于将来尝试的人来说,这里是: 我希望您在将 IP 更改为静态之前已成功添加了快速安装指南中提到的主机,因为它会为不同的流量自动配置 VLAN 并创建两个网桥 - 通常名称为“cloud”或“cloudbr”。 Cloudstack 使用辅助存储系统 VM 在每个区域和集群中执行所有与存储相关的操作。问题似乎是辅助存储系统 vm (SSVM) 无法在端口 8250 与管理服务器通信。如果不能,请尝试在 SSVM shell 中手动挂载 NFS 服务器的挂载点。您可以使用以下命令 ssh 进入 SSVM:

ssh -i  /var/cloudstack/management/.ssh/id_rsa  -p 3922 root@<Private or Link local Ip address of SSVM>

我建议您在通过 ssh 进入辅助存储系统 VM(假设它正在运行)后运行 /usr/local/cloud/systemvm/ssvm-check.sh,并拥有它的私有、公共和链接本地 IP 地址。如果这对您没有多大帮助,请查看 Cloudstack 的 secondary storage troubleshooting docs。

我会进一步建议,如果将来有人遇到类似问题,请检查 SSVM 是否正在运行并且在基础架构选项卡的系统虚拟机部分中处于“启动”状态,并且您能够打开控制台会话它从浏览器。如果这有效,请继续运行上面提到的 ssvm-check.sh 脚本,该脚本系统地检查 SSVM 执行的每个操作点。即使无法打开控制台会话,您仍然可以使用 SSVM 的链接本地 IP 地址进行 ssh,通过打开 SSVM 的详细信息可以访问该地址,然后执行脚本。如果它说,它无法在端口 8250 与管理服务器通信,我建议您检查管理服务器的 iptables 规则并确保端口 8250 允许所有流量。检查相同的自定义命令是nc -v &lt;mngmnt-server-ip&gt; 8250。如果端口 8250 没有打开,你可以做一个简单的搜索并学习如何在你的 iptables 规则中添加端口 8250。接下来,您提到您使用的是 CentOS 6.8,因此它可能使用旧版本的 nfs,因此在您的 NFS 服务器中执行exportfs -a 以确保所有 NFS 共享都正确导出并且没有错误。我建议您等待 CentOS 5.5 no GUI kvm 模板的下载状态完成并且其就绪状态显示为“是”,然后再开始导入您自己的模板和 ISO 以在 VM 上执行。最后,如果您的 ssvm-check.sh 脚本显示一切正常并且下载仍然没有开始,您可以运行命令:service cloud restart 并实际检查服务是否使用 service cloud status 作为旧版本系统虚拟机模板有时需要我们使用service cloud start手动启动云服务,即使在重启命令之后也是如此。在 SSVM 中重启云服务会触发所有剩余模板和 ISO 的重新下载。旁注:如果您想进行更多故障排除,系统虚拟机使用 Debian 内核。希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 2021-05-16
    相关资源
    最近更新 更多