zstack.properties核心配置文件

zstack.properties是ZStack的核心配置文件。它会存放在每一个管理节点中。

zstack.properties文件中会存放诸如数据库URL、用于数据库访问的用户名密码、消息总线的IP地址等信息。 每一个管理节点上的zstack.properties文件的内容基本上是一致的。它的路径可以通过zstack-ctl status来获得。

如果是默认安装的话,它会存放在/usr/local/zstack/apache-tomcat/webapps/zstack/WEB-INF/classes/zstack.properties

zstack.properties参数说明

以下是zstack.properties文件内容的详细说明。
Table 1. zstack.properties
类别 参数 解释
数据库 DB.url = jdbc:mysql://10.0.5.87:3306 数据库URL、端口
DB.user = zstack 数据库用户名
DB.password = REoVaLs+sSFz5WKl8KVzjPQOt0gyL7MpkkIx6PjNB6urlpkp4U1rQsDkHGekirfG 数据库密码。默认zstack.password
Note: 为了保障账户安全,云平台已通过加密方式保存数据库密码。
Sftp镜像服务器 SftpBackupStorageFactory.agentPort = 7171 Sftp镜像服务器端口
Ansible Ansible.cfg.forks = 100 设置Ansible的forks值
Ansible.cfg.host_key_checking = False 设置Ansible的host_key_checking值
Ansible.cfg.pipelining = True 设置Ansible的pipelining值
Ansible.keepHostsFileInMemory = false 是否在内存中保留ansible/hosts
Ansible.cfg.ssh_connection.ssh_args = -C -o ControlMaster=auto -o ControlPersist=1800s Ansible的SSH连接参数
消息总线 CloudBus.serverIp.0 = 10.0.5.87 CloudBus服务器IP地址
日志 org.jboss.logging.provider = slf4j 日志服务提供者
控制台 consoleProxyCertFile = /usr/local/zstack/zstack-ui/ui.keystore.pem 控制台证书
consoleProxyOverriddenIp = 172.20.11.50 控制台代理对外IP地址
consoleProxyPort = 4900 控制台代理端口
ZWatch/SNS sns.systemTopic.endpoints.http.url = http://localhost:5000/zwatch/webhook ZWatch通知的系统接收端
ZStack YUM Ansible.var.zstack_repo = "zstack-mn,qemu-kvm-ev-mn" ZStack使用的YUM源名称
管理节点服务 management.server.ip = 10.0.5.87 管理节点服务器IP地址
chrony chrony.serverIp.0 = 10.0.5.87 chrony服务器IP地址
默认的KVM主机iptables规则 KvmHost.iptables.rule.0 = '-I INPUT -p tcp -m tcp --dport 1234 -j ACCEPT' KVM计算节点预设iptables规则
KvmHost.iptables.rule.1 = '-I INPUT -p tcp -m tcp --dport 2345 -j ACCEPT' KVM计算节点预设iptables规则

注意事项

  • 历史版本(3.2.0之前)可以在zstack.properties配置API的默认超时时间,例如:
    ApiTimeout.org.zstack.header.image.APIAddImageMsg = timeout::3h
    3.2.0兼容这种方式。当升级到3.2.0及后续版本时,在创建对应API的全局配置时,使用zstack.properties中配置的API timeout值作为该API全局配置的默认值。
    Note: 升级到3.2.0后,通过zstack.properties配置API timeout的方式已不再需要,所有API的超时可通过全局配置设置。
  • ZStack 3.2.0开始,使用c74 ISO以及Qemu 2.9的用户,libvirt版本将默认自动升级至4.1.0。
    Note:
    • 若用户部署使用开源版Ceph分布式存储,并开启CEPHX功能(即:Ceph密钥认证功能),云主机热插拔CD-ROM时会出现失败报错,这是由于新版libvirt暂不支持所致。如有需要可咨询官方技术支持获取帮助。
    • 新版libvirt中对共享云盘的格式更新为raw,ZStack 3.2.0将Shared Block主存储上创建的共享云盘修改为raw格式,调整后此类共享云盘不支持创建快照、云盘扩容操作,以及当所挂载云主机处于开机状态,不支持创建镜像操作。ZStack将会在后续版本中逐渐开放上述功能限制,请及时关注官方最新消息。
    • 用户可自行关闭libvirt自动升级功能,设置方法如下:
      进入/usr/local/zstack/apache-tomcat/webapps/zstack/WEB-INF/classes/zstack.properties,在zstack.properties配置文件中设置如下参数:
      updatePkgWhenConnect = false
      # 关闭libvirt自动升级功能,默认为true.

      设置后需重启管理节点生效。

  • ZStack 3.3.0开始,支持设置AD/LDAP、邮箱服务器的接连超时时间,设置方法如下:
    进入/usr/local/zstack/apache-tomcat/webapps/zstack/WEB-INF/classes/zstack.properties,在zstack.properties配置文件中设置如下参数:
    • Ldap.addServer.connectTimeout = XX
      # 设置AD/LDAP连接超时时间
    • SNS.addEmailPlatform.connectTimeout = XX
      # 设置邮箱服务器连接超时时间
    • SNS.addEmailPlatform.readTimeout = XX
      # 设置邮箱服务器读取数据超时时间
    Note:
    • 系统默认上述三个参数的超时时间均为5000(单位默认为ms);
    • 若需修改超时时间,可通过zstack-ctl configure命令进行修改,例如:
      [root@localhost ~]# zstack-ctl configure Ldap.addServer.connectTimeout = 10000
      [root@localhost ~]# zstack-ctl configure SNS.addEmailPlatform.connectTimeout = 10000
      [root@localhost ~]# zstack-ctl configure SNS.addEmailPlatform.readTimeout = 10000

      设置完成后使用zstack-ctl restart_node命令重启管理节点生效。

  • ZStack 3.3.0开始,支持设置ivshmem设备(虚拟PCI设备,实现云主机与物理机之间内存共享)的内存名称,设置方法如下:
    进入/usr/local/zstack/apache-tomcat/webapps/zstack/WEB-INF/classes/zstack.properties,在zstack.properties配置文件中设置如下参数:
    Kvm.ivshmem.dev.prefix = nu_fsec-$prefix$VMUUID
    # 设置共享内存名称
  • ZStack 3.3.0开始,支持设置并发查询报警消息总数量的最大线程数,设置方法如下:
    进入/usr/local/zstack/apache-tomcat/webapps/zstack/WEB-INF/classes/zstack.properties,在zstack.properties配置文件中设置如下参数:
    • InfluxDB.query.alarmData.count.maxThreadNum = 30
      # 设置并发查询资源报警器触发的报警消息总数量的最大线程数,默认值为30.
    • InfluxDB.query.eventData.count.maxThreadNum = 30
      # 设置并发查询资源报警器触发的报警消息总数量的最大线程数,默认值为30.
  • 从ZStack 3.7.1开始,支持设置多管理节点高可用场景下监控服务zstack-hamon端口,设置方法如下:
    进入/usr/local/zstack/apache-tomcat/webapps/zstack/WEB-INF/classes/zstack.properties,在zstack.properties配置文件中设置如下参数:
    Prometheus.zsha2ExporterPort = 18081
    # 设置多管理节点高可用场景下监控服务zstack-hamon端口
    # 默认端口18081为prometheus的exporter