CentOS7下部署CloudStack遇到的错误汇总

管理节点数据库安装。

CentOS7不可直接安装mysql-server 要下载相应的mysql rpm包。推荐安装mariadb
感觉比mysql效果更好一些,个人使用MySQL时,很多次启动management服务后,web访问UI界面失败。。

Unable to execute upgrade script: /usr/share/cloudstack-management/setup/db/schema-40to410.sql
Caused by: java.sql.SQLSyntaxErrorException: Duplicate column name 'size'

直接安装mariadb 效果与mysql类似。启动服务

systemctl start mariadb

设置 /etc/my.cnf文件时。

innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'

这些设置要放在mysqld下如下。

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd


innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'



[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d


CloudStack-management安装过程有warning。

Please download vhd-util from http://download.cloudstack.org/tools/vhd-util and put it in
/usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver/
WARNING: ipmi_devintf module isn't available.
WARNING: ipmi_msghandler module isn't available.

最好按它说的去做。。。不然可能引发问题,有可能引发问题
不明白。也不清楚是不是由它引发的。
下载一个vhd-util http://download.cloudstack.org/tools/vhd-util 然后放到/usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver/目录

顺便启动一下 ipmi 这个不知道不启动有什么错误没

systemctl start ipmi

CloudStack-management启动出错。

cloudstack-setup-management --tomcat7 
ImportError: No module named dns.resolver

这就很有可能是因为上一步引发的错误。只是有可能。。。也有可能是
大概是什么模块未安装。需要安装,百度一下。是Python相关模块dnspython。安装一下吧
先安装pip

yum -y install python-pip

在安装dnspython

pip install dnspython

中途可能又报错。。。如

ERROR: mysql-connector-python 8.0.19 requires protobuf==3.6.1, which is not installed.

继续安装 protobuf==3.6.1

pip install  protobuf==3.6.1

**所有的都结束后 重新初始化(这个错误解决只是安慰一下自己。一般来说如果报这种错误。即使正常启动也是UI也是连接不上的,查看日志文件会有许多看不懂的操作。。。)**我看不懂。。。

日志文件

一 Unable to execute upgrade script: /usr/share/cloudstack-management/setup/db/schema-40to410.sql
Caused by: java.sql.SQLSyntaxErrorException: Duplicate column name 'size’

这个 我是真没找到解决的办法。。。猜测和数据库有关系。使用mariadb基本就没事,可能使用MySQL数据库安装时出错了吧。MySQL安装 完成后执行mysql_secure_installation 按照提示设置root密码,第一次使用时root密码为空,直接按回车即可

** 2020-03-14 14:26:30,869 WARN [c.c.h.k.d.LibvirtServerDiscoverer] (catalina-exec-11:ctx-00e4b8f8 ctx-d6a07c6a) (logid:086d1c03) can’t setup agent, due to java.io.IOException: There was a problem while connecting to 192.168.0.61:22 - There was a problem while connecting to 192.168.0.61:22
2020-03-14 14:26:30,879 WARN [c.c.r.ResourceManagerImpl] (catalina-exec-11:ctx-00e4b8f8 ctx-d6a07c6a) (logid:086d1c03) Unable to find the server resources at http://192.168.0.61
2020-03-14 14:26:30,880 INFO [c.c.u.e.CSExceptionErrorCode] (catalina-exec-11:ctx-00e4b8f8 ctx-d6a07c6a) (logid:086d1c03) Could not find exception: com.cloud.exception.DiscoveryException in error code list for exceptions
2020-03-14 14:26:30,880 WARN [o.a.c.a.c.a.h.AddHostCmd] (catalina-exec-11:ctx-00e4b8f8 ctx-d6a07c6a) (logid:086d1c03) Exception:
com.cloud.exception.DiscoveryException: Unable to add the host
at com.cloud.resource.ResourceManagerImpl.discoverHostsFull(ResourceManagerImpl.java:812)**
添加主机时报错。网上搜到的答案大都是 VT服务没开(VT怎么起的自行搜索吧)。。。应该是一种错误源。 记下来。

[root@allinone ~]# lsmod | grep kvm
kvm_intel             183621  0 
kvm                   586948  1 kvm_intel
irqbypass              13503  1 kvm

好像这样就能证明VT是没问题的。如果使用的VMware做的测试。开启这里
开启虚拟化
不过我引发的这个错误不是因为VT。而是下面的。。。

2020-03-14 16:29:08,514 DEBUG [c.c.u.s.SSHCmdHelper] (catalina-exec-3:ctx-f408b87a ctx-d48178f5) (logid:3972d90b) Executing cmd: cloudstack-setup-agent -m localhost -z 1 -p 1 -c 1 -g cf9c040c-b185-308b-8e04-35eaea7a0739 -a --pubNic=cloudbr0 --prvNic=cloudbr0 --guestNic=cloudbr0 --hypervisor=kvm
2020-03-14 16:29:10,315 DEBUG [c.c.u.s.SSHCmdHelper] (catalina-exec-3:ctx-f408b87a ctx-d48178f5) (logid:3972d90b) cloudstack-setup-agent -m localhost -z 1 -p 1 -c 1 -g cf9c040c-b185-308b-8e04-35eaea7a0739 -a --pubNic=cloudbr0 --prvNic=cloudbr0 --guestNic=cloudbr0 --hypervisor=kvm output:Starting to configure your system:
Configure SElinux … [OK]
Configure Network … Configure Network failed, Please check the /var/log/cloudstack/agent/setup.log for detail, due to:list index out of range
Try to restore your system:
Restore SElinux … [OK]

这里就很烦人。。。压根就没有任何WARN和ERROR只有一个Faild。这是在通过管理节点添加主机时出现的错误。具体错误看受控控节点主机的/var/log/cloudstack/agent/setup.log 日志文件。网络配置错误。
我的解决方法不一定通用 根据配置文件编辑一个网桥后重启network。。。(注,似乎第一次添加失败后不能再使用WEB控制面板去添加了,只能从agent自行添加 cloudstack-setup-agent
agent节点的配置文件 /etc/cloudstack/agent/agent.properties 中有有关默认网卡的说明。新建一个public网卡就行,private找不到相应名称的会使用public的。但是public的没有,就会添加失败。。。
ifcfg-似乎表明这是一个网卡设备 cloudbr0 才是public.network.device名。

vim vim /etc/sysconfig/network-scripts/ifcfg-cloudbr0
TYPE=Bridge
BOOTPROTO=static
DEVICE=cloudbr0
IPV6INIT=no
ONBOOT=yes
IPADDR=192.168.0.61
NETMASK=255.255.255.0
GATEWAY=192.168.0.1

cloudstack-setup-agent 出错。。。

这个错误我真的是恶心死了,经过验证,引发上一个错误的问题可能还是这个。

[root@allinone ~]# cloudstack-setup-agent 
Welcome to the CloudStack Agent Setup:
Please input the Management Server Hostname/IP-Address:[localhost]
Please input the Zone Id:[default]
Please input the Pod Id:[default]
Please input the Cluster Id:[default]
Please input the Hypervisor type kvm/lxc:[kvm]
Failed to get default route. Please configure your network to have a default route
[root@allinone ~]# 

没有默认的路由,但是是有的 查看setup.log看问题。

[root@allinone ~]# cat /var/log/cloudstack/agent/setup.log 
DEBUG:root:execute:route -n|awk '/^0.0.0.0/ {print $2,$8}'
[root@allinone ~]# 

看不出什么来吧。个人理解就是通过root命令执行了route -n|awk ‘/^0.0.0.0/ {print $2,$8}’
重点就是 这个route…原来我的CentOS7是最小安装 压根就没有route命令。。。这。。。因此这个问题解决最简单安装 net-tools就好 但是查出源头有点费事
一般来说不会有这种错误的。。因为net-tools是agent的依赖包。。。安装时应该安装好的

yum -y install net-tools

2020-03-14 23:34:50,184 DEBUG [c.c.u.s.SSHCmdHelper] (catalina-exec-17:ctx-1bd9aef8 ctx-ab11721a) (logid:1b87c25f) cloudstack-setup-agent -m localhost -z 1 -p 1 -c 1 -g e7e6140e-b377-36b0-b9a7-08dc750f38be -a --pubNic=cloudbr0 --prvNic=cloudbr0 --guestNic=cloudbr0 --hypervisor=kvm output:Starting to configure your system:

Configure SElinux … [OK]
Configure Network … [OK]
Configure Libvirt … [OK]
Configure Firewall … [OK]
Configure Nfs … [OK]
Configure cloudAgent … [OK]
CloudStack Agent setup is done!

添加主机时参数一直有问题。。。cloudstack-setup-agent -m localhost -m后面应该是管理节点ip而不是本机,如果把本管理节点也当做一个计算节点这样当然可以,但是。。。要添加的是其他IP的主机这就不对了 受控节点日志也是报错
2020-03-14 23:36:15,406 INFO [utils.nio.NioClient] (main:null) (logid:) Connecting to localhost:8250
2020-03-14 23:36:15,409 WARN [utils.nio.NioConnection] (main:null) (logid:) Unable to connect to remote: is there a server running on port 8250

因为应该连接的不是 localhost:8250 而应该是是管理节点的8250 吧。。。
似乎还是因为 网卡问题。。。管理节点的网卡也要设置, 先安装 net-tools 然后设置网卡桥接文件cloudbr0 修改原网卡 添加一行 BRIDGE=cloudbr0 然后重启网络服务 systemctl restart network 注,管理节点这些操作应该在 数据初始化之前进行。
创建桥接网卡配置文件

vim /etc/sysconfig/network-scripts/ifcfg-cloudbr0

加入以下内容

TYPE=Bridge
BOOTPROTO=static
DEVICE=cloudbr0
IPV6INIT=no
ONBOOT=yes
IPADDR=192.168.0.92
NETMASK=255.255.255.0
GATEWAY=192.168.0.1

修改使用的网卡

vim /etc/sysconfig/network-scripts/ifcfg-ens33

在末尾添加

BRIDGE=cloudbr0

重启网络服务

systemctl restart network

2020-03-22 22:16:02,380 DEBUG [c.c.u.s.SSHCmdHelper] (qtp504527234-13:ctx-1d61ae02 ctx-073abd77) (logid:22c303fa) SSH command: cloudstack-setup-agent -m 192.168.199.95 -z 1 -p 1 -c 1 -g 0ca9dbdc-1abd-3cb8-b20c-192fadbad48e -a -s --pubNic=cloudbr0 --prvNic=cloudbr0 --guestNic=cloudbr0 --hypervisor=kvm

SSH command output:Starting to configure your system:
Configure SElinux … [OK]
Configure Network … Configure Network failed, Please check the /var/log/cloudstack/agent/setup.log for detail, due to:[Errno 2] No such file or directory
Try to restore your system:
Restore SElinux … [OK]
Network 网络设置问题, CloudStack默认的网桥的是cloudbr0。如果计算节点没有这个网桥,添加主机时就会报错。。。解决方法,一个是 新增一个cloudbr0 网桥, 另一个修改/etc/cloudstack/agent/agent.properties 文件,修改默认网桥为本机上已存在的。

计算节点的操作
方式一 示例
查看已有网桥 一般是virbr0

brctl show

安装网络管理工具 一般来说 net-tools 是 agentd的依赖包,应该是安装好了的

yum -y install net-tools

创建桥接网卡配置文件

vim /etc/sysconfig/network-scripts/ifcfg-cloudbr0

加入以下内容

TYPE=Bridge
BOOTPROTO=static
DEVICE=cloudbr0
IPV6INIT=no
ONBOOT=yes
IPADDR=192.168.0.92
NETMASK=255.255.255.0
GATEWAY=192.168.0.1

修改使用的网卡

vim /etc/sysconfig/network-scripts/ifcfg-ens33

在末尾添加

BRIDGE=cloudbr0

重启网络服务

systemctl restart network

添加主机一直失败,这是最严重的问题对我来说,主机不能完成添加。哪还有后续的工作,尽管把所有东西都放在一个虚拟机(既当管理节点又是计算节点)上启动是可以成功的。,但是没有意义啊。 而且 二级存储容量一直是0。。。

当完成后继续添加主机时,日常添加报错,但是神奇的是如果你去更改/etc/cloudstack/agent/agent.properties 。。。然后再次cloudstack-setup-agent后,再次添加会报另一个错。。。查看基础设施时发现多了一个主机。这能算是成功吗?肯定不能啊。。。二级存储的问题也是解决不了。

这个,我最后使用CloudStack4.11版本。4.10.0版本的问题似乎就没了。。。添加主机时正常的日志信息,管理节点通过ssh连接计算节点主机。执行cloudstack-setup-agent 。 -m参数终于正确了。。。不再是localhost而是管理节点IP。最后发现并不是版本问题。而是我自己的管理节点设置有问题。

2020-03-22 22:24:16,459 DEBUG [c.c.u.s.SSHCmdHelper] (qtp504527234-16:ctx-274fd01b ctx-f00e259d) (logid:80bbb117) SSH command: cloudstack-setup-agent  -m 192.168.199.95 -z 1 -p 1 -c 1 -g 0ca9dbdc-1abd-3cb8-b20c-192fadbad48e -a -s  --pubNic=cloudbr0 --prvNic=cloudbr0 --guestNic=cloudbr0 --hypervisor=kvm
SSH command output:Starting to configure your system:
Configure SElinux ...         [OK]
Configure Network ...         [OK]
Configure Libvirt ...         [OK]
Configure Firewall ...        [OK]
Configure Nfs ...             [OK]
Configure cloudAgent ...      [OK]
CloudStack Agent setup is done!

和版本似乎并没有太大关系。主要还是 管理节点的网卡设置问题,安装 net-tools 编辑 cloudbr0 设置网卡文件的网桥配置文件为cloudbr0再重启网络。。。操作在数据初始化之前

发布了59 篇原创文章 · 获赞 11 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/dandanfengyun/article/details/104838025