CodeMaster 2025-10-16 17:05 采纳率: 98.8%
浏览 1
已采纳

Ansys Linux Workbench作业提交失败如何排查?

**问题:Ansys Linux Workbench作业提交失败,提示“License checkout failed”如何排查?** 在使用Ansys Linux Workbench提交作业时,若出现“License checkout failed”错误,通常与许可证服务配置或环境变量有关。首先确认`ANSYSLMD_LICENSE_FILE`或`LM_LICENSE_FILE`环境变量是否正确指向许可证服务器(如`port@host`)。检查许可证文件中SERVER和USE_SERVER字段配置无误,并确保`ansyslmd`和`lmgrd`服务正在运行。使用`lmutil lmstat -a`命令验证许可证服务状态及Ansys相关license是否可用。同时确认客户端与许可证服务器的网络连通性,防火墙未屏蔽相关端口。若使用集群环境,还需确保所有计算节点具备正确的许可证配置和时间同步。
  • 写回答

1条回答 默认 最新

  • 请闭眼沉思 2025-10-16 17:05
    关注

    1. 问题现象与初步定位

    当使用 Ansys Linux Workbench 提交作业时,系统提示“License checkout failed”,表明作业无法获取有效的许可证。该错误通常出现在作业启动阶段,属于典型的许可资源不可达或配置异常问题。

    此类问题在企业级仿真平台中较为常见,尤其在集群环境、多节点并行计算场景下更易暴露配置不一致或网络策略限制等问题。

    • 错误日志常伴随:The license server manager (ansyslmd) is not responding.
    • 可能触发于单机运行失败或 HPC 集群提交任务失败。
    • 首要排查方向为环境变量、服务状态和网络可达性。

    2. 排查流程:由浅入深的诊断路径

    1. 确认客户端环境变量设置是否正确
    2. 检查许可证服务器进程运行状态
    3. 验证许可证文件语法与内容有效性
    4. 测试客户端与服务器之间的网络连通性
    5. 分析 lmutil lmstat 输出中的关键信息
    6. 审查防火墙及 SELinux 等安全策略影响
    7. 核对集群环境中各计算节点的配置一致性
    8. 确保时间同步(NTP)服务正常运作

    3. 关键环境变量检查

    环境变量名推荐值格式说明
    ANSYSLMD_LICENSE_FILE1055@licenseserverAnsys 推荐使用的优先变量
    LM_LICENSE_FILE1055@licenseserverFLEXlm 兼容变量,作为后备选项

    建议在用户 shell 配置文件(如 ~/.bashrc 或全局 /etc/profile.d/ansys.sh)中统一导出:

    export ANSYSLMD_LICENSE_FILE=1055@licenseserver
    export LM_LICENSE_FILE=$ANSYSLMD_LICENSE_FILE

    4. 许可证服务状态验证

    登录至许可证服务器主机,执行以下命令查看服务运行情况:

    ps -ef | grep -E "lmgrd|ansyslmd"

    预期输出应包含:

    ansys   1234     1  0 Mar10 ?        00:02:15 /ansys_inc/licensing/linux_x64/lmgrd ...
    ansys   1235  1234  0 Mar10 ?        00:05:40 /ansys_inc/licensing/linux_x64/ansyslmd ...

    若无相关进程,请尝试启动服务:

    /ansys_inc/licensing/linux_x64/lmgrd -c /ansys_inc/licensing/license.dat -l /tmp/lmdebug.log

    5. 使用 lmutil 工具进行深度诊断

    通过 FLEXlm 提供的工具集进行许可证状态查询:

    cd /ansys_inc/shared_files/licensing/linux_x64
    ./lmutil lmstat -a -c 1055@licenseserver

    重点关注输出中的以下几个部分:

    • License file(s) on licenseserver: 是否成功读取 license.dat
    • Vendor daemon status: ansyslmd 正常运行且无报错
    • Users of ANSYS: 显示当前借用情况,确认有可用额度

    6. 网络与安全策略排查

    确保客户端能访问许可证服务器的指定端口(默认 1055),可通过以下方式测试:

    telnet licenseserver 1055

    若连接失败,需检查:

    • 服务器防火墙规则:firewall-cmd --list-portsiptables -L
    • SELinux 是否阻止了非标准端口通信
    • DNS 解析是否正常,建议在 /etc/hosts 中添加主机映射

    7. 集群环境下的特殊注意事项

    在 HPC 或 Slurm/Kubernetes 环境中,还需关注以下几点:

    检查项说明
    所有计算节点是否设置了相同的环境变量可通过 job script 显式导出
    节点间时间偏差是否小于 5 分钟FLEXlm 对时间敏感
    NFS 共享许可证目录权限正确避免因文件权限导致服务启动失败
    Slurm sbatch 脚本中传递环境变量使用 --export=ALL

    8. Mermaid 流程图:完整排查逻辑链

    graph TD
        A[作业提交失败: License checkout failed] --> B{环境变量设置正确?}
        B -->|否| C[设置 ANSYSLMD_LICENSE_FILE]
        B -->|是| D{许可证服务正在运行?}
        D -->|否| E[启动 lmgrd 和 ansyslmd]
        D -->|是| F{能否 telnet port@host?}
        F -->|否| G[检查防火墙/DNS/路由]
        F -->|是| H[执行 lmutil lmstat -a]
        H --> I{显示 valid license?}
        I -->|否| J[检查 license.dat SERVER/USE_SERVER]
        I -->|是| K[确认并发数未超限]
        K --> L[提交测试作业]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 10月23日
  • 创建了问题 10月16日