9.3. 检查 Oracle VDI 服务和日志

9.3.1. 如何检查 Oracle VDI 中心的状态
9.3.2. 如何查看 Oracle VDI 日志文件
9.3.3. 如何为 Oracle VDI 更改日志记录
9.3.4. 如何检查 Oracle VDI 数据库的状态
9.3.5. 如何检查 Oracle VDI 服务的状态
9.3.6. 如何检查 Oracle VDI RDP 代理程序的状态
9.3.7. 如何检查 Oracle VDI 中心代理的状态
9.3.8. 如何检查 Oracle VDI Manager 的状态
9.3.9. 如何检查 Cacao 和 Oracle VDI 模块的状态
9.3.10. 如何重新启动 Cacao

本部分介绍如何检查 Oracle VDI 提供的各种服务的状态;以及如何查看日志文件以进行故障排除。在 Oracle Solaris 平台上,某些服务还在服务管理工具 (Service Management Facility, SMF) 的控制下运行。

Oracle VDI 服务和中心代理在 Common Agent Container (Cacao) 中作为模块运行。如果您遇到任何问题,请检查 Cacao 和模块的状态以及 Oracle VDI 服务的状态。

9.3.1. 如何检查 Oracle VDI 中心的状态

使用 vda-center status 命令检查 Oracle VDI 中心的状态。此命令可获得 Oracle VDI 中心中各台主机的信息。对于每台主机,将显示主机状态、主机的数据库角色(如果使用嵌入式 MySQL 数据库)和 Oracle VDI 中心服务的状态。

  • 以超级用户身份运行以下命令:

    # /opt/SUNWvda/sbin/vda-center status

    例如:

    # /opt/SUNWvda/sbin/vda-center status
    HOST NAME                                    HOST STATUS    SERVICE                  SERVICE STATUS                
    primary.example.com                          Up             VDI Database Replication Up                            
    secondary.example.com                        Up             VDI Database             Up                            
    
    2 host(s) in center.

    如果出现问题,请查看日志文件,查找以 com.sun.vda.cluster 开头的消息,请参见第 9.3.2 节 “如何查看 Oracle VDI 日志文件”

9.3.2. 如何查看 Oracle VDI 日志文件

Oracle VDI 事件记录在以下位置中的 Cacao 日志文件中:

  • Oracle Solaris 平台:/var/cacao/instances/vda/logs/cacao.0

  • Oracle Linux 平台:/var/opt/sun/cacao2/instances/vda/logs/cacao.0

SEVERE 或 WARNING 级别的日志消息也将转发至 syslog 守护进程。

9.3.3. 如何为 Oracle VDI 更改日志记录

默认情况下,所有 Oracle VDI 事件均记录在 Cacao 日志文件中。日志文件的默认大小上限为 95 MB。达到该限制后,系统会关闭当前日志文件并创建一个新日志文件。默认情况下,Oracle VDI 保留十个日志文件。您可以更改日志记录级别、日志文件数量和日志文件大小限制。

更改日志记录级别

  1. 显示可用日志过滤器级别列表。

    以超级用户身份运行以下命令:

    # cacaoadm list-filters -l -i vda

    在 Linux 平台上,cacaoadm 命令位于 /opt/sun/cacao2/bin 中。

    日志记录级别从 SEVERE(显示的详细信息最少)到 FINEST(显示的详细信息最多)。

  2. 更改日志记录级别。

    以超级用户身份运行以下命令:

    # cacaoadm set-filter -p com.sun.vda.service=<log-level> -i vda
    

    例如,要降低日志记录级别以记录提示性消息:

    # cacaoadm set-filter -p com.sun.vda.service=INFO -i vda

    例如,要将 Oracle VDI 服务的日志记录级别重置为默认值:

    # cacaoadm set-filter -p com.sun.vda.service=ALL -i vda
  3. 重新启动 Cacao。

    更改日志记录级别后,您必须重新启动 Cacao,更改才能生效。

    以超级用户身份运行以下命令:

    # cacaoadm stop -f -i vda 
    # cacaoadm start -i vda

更改日志历史记录和日志文件大小

  1. 停止 Cacao。

    以超级用户身份运行以下命令:

    # cacaoadm stop -f -i vda 
  2. 更改 Oracle VDI 保留的日志文件的数量。

    以超级用户身份运行以下命令:

    # cacaoadm set-param log-file-count=<num> -i vda
    

    其中,<num> 是要保留的日志文件的数量。默认值为 10。

  3. 更改日志文件大小限制。

    以超级用户身份运行以下命令:

    # cacaoadm set-param log-file-limit=<size> -i vda
    

    其中,<size> 是日志文件的大小上限(以字节为单位)。默认值为 100000000。允许的最大值为 2147483647。

  4. 检查配置更改是否已生效。

    以超级用户身份运行以下命令:

    # cacaoadm list-params -i vda
  5. 重新启动 Cacao。

    以超级用户身份运行以下命令:

    # cacaoadm start -i vda

9.3.4. 如何检查 Oracle VDI 数据库的状态

通过 Oracle VDI,您可以使用嵌入式 MySQL 数据库,也可以连接至自己的远程 MySQL 数据库。使用 vda-db-status 命令检查任一数据库类型的状态。

  • 以超级用户身份运行以下命令。

    # /opt/SUNWvda/sbin/vda-db-status

    例如:

    # /opt/SUNWvda/sbin/vda-db-status
    Ip/Hostname Database host                               Role    Status
    ----------------------------------------------------------------------
    primary.example.com                                     Master  up
    secondary.example.com                                   Slave   up

    如果出现问题,请查看位于 /var/svc/log/application-database-vdadb:default.log 的日志文件。

    在 Oracle Solaris 平台上,您还可以使用服务管理工具检查 Oracle VDI 数据库的状态。这只会检查本地主机上数据库的状态,并且仅当您使用嵌入式 MySQL Server 数据库时可用。主数据库在主要主机上运行。从数据库服务在添加至 Oracle VDI 中心的第一台辅助主机中运行。

    在主要主机或第一台辅助主机上,以超级用户身份运行以下命令。

    # svcs svc:/application/database/vdadb:default
          

    例如:

    # svcs svc:/application/database/vdadb:default
    STATE          STIME    FMRI
    online         Sep_30   svc:/application/database/vdadb:default

9.3.5. 如何检查 Oracle VDI 服务的状态

使用 vda-service status 命令显示 Cacao 管理守护进程是否已启用、其进程数量及其正常运行时间。

  • 以超级用户身份运行以下命令:

    # /opt/SUNWvda/sbin/vda-service status

    例如:

    # /opt/SUNWvda/sbin/vda-service status
    vda instance is ENABLED at system startup. 
    Smf monitoring process: 
    11761
    11762
    Uptime: 2 day(s), 23:22

    如果出现问题,请查看日志文件,请参见第 9.3.2 节 “如何查看 Oracle VDI 日志文件”

9.3.6. 如何检查 Oracle VDI RDP 代理程序的状态

使用 brokeradm status 命令检查 Oracle VDI RDP 代理程序和代理服务是否正在运行。

  • 以超级用户身份运行以下命令。 

    # /opt/SUNWvda-rdpb/bin/brokeradm status

    例如:

    # /opt/SUNWvda-rdpb/bin/brokeradm status
    broker is running (PID 18204)
    proxy is running (PID 18223)

    如果出现问题,请查看位于 /var/svc/log/application-rdpb-broker:default.log/var/svc/log/application-rdpb-proxy:default.log 的日志文件。

    在 Oracle Solaris 平台上,RDP 代理程序和代理服务还在服务管理工具控制下运行。以超级用户身份运行以下命令。

    # svcs svc:/application/rdpb-broker:default
    # svcs svc:/application/rdpb-proxy:default

    例如:

    # svcs svc:/application/rdpb-broker:default svc:/application/rdpb-proxy:default
    STATE          STIME    FMRI
    online         Sep_30   svc:/application/rdpb-broker:default
    online         Sep_30   svc:/application/rdpb-proxy:default

9.3.7. 如何检查 Oracle VDI 中心代理的状态

使用 vda-center agent-status 命令检查 Oracle VDI 中心代理是否正在运行(以及运行多长时间)和显示主机的 SSL 证书的 MD5 指纹。

  • 以超级用户身份运行以下命令:

    # /opt/SUNWvda/sbin/vda-center agent-status

    例如:

    # /opt/SUNWvda/sbin/vda-center agent-status
    Agent is up for 2 day(s), 23:32.
    MD5 fingerprint is 07:A0:6C:4C:1D:5F:5B:20:A0:2A:FE:EA:1F:DB:B2:24.

    如果出现问题,请查看日志文件,查找以 com.sun.vda.cluster 开头的消息,请参见第 9.3.2 节 “如何查看 Oracle VDI 日志文件”

9.3.8. 如何检查 Oracle VDI Manager 的状态

使用 vda-webserver status 命令检查 Oracle VDI Manager 是否正在运行。

  • 以超级用户身份运行以下命令。

    # /opt/SUNWvda/sbin/vda-webserver status

    例如:

    # /opt/SUNWvda/sbin/vda-webserver status
    Virtual Desktop Infrastructure Manager is running (pid 18106).

    如果出现问题,请查看位于 /var/opt/SUNWvda/log/webserver0.log 的日志文件。

9.3.9. 如何检查 Cacao 和 Oracle VDI 模块的状态

使用 cacaoadm 命令检查 Cacao 和各个 Oracle VDI 模块的状态。在 Oracle Solaris 平台上,Cacao 随操作系统附带。在 Oracle Linux 平台上,Cacao 作为 Oracle VDI 的一部分进行安装。在 Oracle Linux 平台上,cacaoadm 命令位于 /opt/sun/cacao2/bin 中。

当您检查 Cacao 的状态时,该命令会显示 Cacao 管理守护进程是否已启用、与其关联的进程数量及其正常运行时间。

当您检查各个模块的状态时,这些命令会报告关于模块的以下信息:

  • 运行状态ENABLED(该模块能够提供服务)或 DISABLED(该模块不能提供服务)。DISABLED 状态表示 Cacao 已检测到该模块有一个错误,该模块未在运行。

  • 管理状态LOCKED(该模块不得提供服务)或UNLOCKED(该模块必须提供服务)。

  • 可用性状态:除非运行状态设置为 DISABLED,否则可用性状态为空。如果发生这种情况,这些值可能是 DEPENDENCY(该模块无法运行,因为它所依赖的其他资源不可用)、OFF_LINE(需要执行例程操作才能让该模块恢复使用)或 FAILED(该模块有内部故障,无法运行)。

如果出现问题,请查看日志文件,请参见第 9.3.2 节 “如何查看 Oracle VDI 日志文件”

如何检查 Cacao 的状态

  • 以超级用户身份运行以下命令。

    # cacaoadm status -i vda

    例如:

    # cacaoadm status -i vda
    vda instance is ENABLED at system startup. 
    Smf monitoring process: 
    11761
    11762
    Uptime: 2 day(s), 23:22

    vda-service status 命令可显示相同的信息,请参见第 9.3.5 节 “如何检查 Oracle VDI 服务的状态”

    或者,使用 Oracle Solaris 服务管理工具。

    # svcs svc:/application/management/common-agent-container-1:vda

如何检查 Oracle VDI 服务模块的状态

  • 以超级用户身份运行以下命令。

    # cacaoadm status -i vda com.sun.vda.service

    例如:

    # cacaoadm status -i vda com.sun.vda.service
    Operational State:ENABLED
    Administrative State:UNLOCKED
    Availability Status:[]
    Module is in good health.

如何检查 Oracle VDI 服务中心代理模块的状态

  • 以超级用户身份运行以下命令。

    # cacaoadm status -i vda com.sun.vda.center

    例如:

    # cacaoadm status -i vda com.sun.vda.center
    Operational State:ENABLED
    Administrative State:UNLOCKED
    Availability Status:[]
    Module is in good health.

9.3.10. 如何重新启动 Cacao

  • 以超级用户身份运行以下命令。

    # cacaoadm stop -f -i vda
    # cacaoadm start -i vda

    在 Linux 平台上,cacaoadm 命令位于 /opt/sun/cacao2/bin 中。