0

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

但是,我可以Templates在 Web UI 的链接下看到两个模板。 在此处输入图像描述

但是当我选择模板并导航到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 管理。一切都很好,直到我碰到这个模板的东西。请帮我弄清楚可能出了什么问题

4

1 回答 1

0

我知道我迟到了,但是对于将来尝试的人来说,这里是这样:我希望您在将 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>

我建议您/usr/local/cloud/systemvm/ssvm-check.sh在执行 ssh 后将其运行到辅助存储系统 VM(假设它正在运行)并具有私有、公共和链接本地 IP 地址。如果这对您没有多大帮助,请查看 Cloudstack 上的辅助存储故障排除文档

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

于 2018-03-03T15:35:06.430 回答