Developers
Download
[object Object][object Object]

MindCluster Ascend Deployer工具在UOS系统上不支持安装昇腾软件包所需系统依赖,请参考以下操作手动安装。

  1. 在yum源配置路径/etc/yum.repos.d下,新建cann_docker.repo文件,写入以下示例内容,请根据所在组织安全要求和版本需要进行修改。

    [object Object]
  2. 执行如下命令安装驱动、固件、CANN软件等所需依赖。

    [object Object]
  3. 手动安装Kubernetes并,配置完成后再进行MindCluster的安装。

    • UOS系统中,MindCluster集群调度组件仅支持在Kubernetes 1.19.16~1.28.X版本间(Kubernetes1.24及以上版本需要安装cri-dockerd)、Docker 18.09.x及以上版本进行配置,否则会跳过Kubernetes配置,直接安装MindCluster集群调度软件包。

    • UOS 20-1020e和20-1050u2e系统上安装MindCluster集群调度组件,请先手动完成Kubernetes的安装和inventory_file文件配置后,再用MindCluster Ascend Deployer执行MindCluster安装命令。

[object Object]

MindCluster Ascend Deployer工具属于安装部署类工具,系统安装完成后立即删除以释放磁盘空间。

  1. 清理管理服务器和远程机器上的~/resources和~/resources_{arch}.tar

    [object Object]
  2. 手动清理卸载MindCluster Ascend Deployer工具。

    • 在Windows和Linux上以zip包的方式安装,卸载时需删除zip文件和解压后的目录。

    • 在Linux上使用pip方式安装,需执行如下命令卸载。

      [object Object]

      Linux上卸载工具后,还需删除所示内容。

      表 1 需删除内容

      [object Object][object Object]

      [object Object]undefined
[object Object]

为保证用户的安全性,应设置用户的有效期,使用系统命令chage来设置用户的有效期。

命令为:

[object Object]

举例说明:修改用户[object Object]test[object Object]的有效期为90天。

[object Object]

相关参数请参见

表 1 设置用户有效期 [object Object][object Object]

[object Object]undefined
[object Object]
[object Object]

约束[object Object][object Object]

  • 补丁仅能支持对应的基线版本或相关的补丁版本进行升级。
  • 基于同一基线版本的补丁,需保证后续安装的补丁版本大于之前安装的补丁版本。
  • 仅支持回退一个补丁版本。

安装、回退影响[object Object][object Object]

  • 安装、回退过程禁止进行其他维护操作动作。
  • 补丁包安装、回退过程中会导致业务中断。
  • 补丁包安装、回退后,不会影响正常业务。

操作[object Object][object Object]

安装过程与基本相同,主要区别点如下:

  • CANN补丁包不支持使用MindCluster Ascend Deployer工具在线下载,用户需自行获取所需的CANN补丁包,并放置于ascend-deployer/ascend_deployer/resources/patch(如不存在patch目录,请自行创建)目录下。注意在安装前删除ascend-deployer/ascend_deployer/resources目录下的CANN软件包和run_from_cann_zip目录。
  • 安装、回退CANN冷补丁的执行命令参考如下:
    • 安装CANN冷补丁(以nnae包为例):

      [object Object]
    • 回退CANN冷补丁(以nnae包为例):

      [object Object]
[object Object]

MindCluster Ascend Deployer工具已提供源配置文件,用户可根据实际进行替换。

  • Python源配置

    在ascend-deployer/ascend_deployer/downloader/config.ini文件中配置Python源,默认使用华为源。

    [object Object]
  • 系统源配置

    系统源配置文件ascend-deployer/ascend_deployer/downloader/config/{os}_{version}_{arch}/source.xxx

    以CentOS 7.6 aarch64为例,源配置文件ascend-deployer/ascend_deployer/downloader/config/CentOS_7.6_aarch64/source.repo内容如下:

    [object Object]

    表明同时启用base源和epel源,下载系统组件时会从这两个源中查询和下载,若删除源,可能造成组件下载不完整。默认使用华为源,可根据实际需要修改,请确保该源符合所在组织的安全/漏洞修补要求。

    若修改,请选择安全可靠的源,并测试下载和安装行为是否正常,否则可能造成组件下载不完整或安装异常。

    [object Object]
[object Object]

如果用户想限制MindCluster Ascend Deployer运行的CPU使用率或内存使用量,可参考本章节。

cgroups全称control groups,是Linux内核提供的一种可以限制单个或多个进程所使用资源的机制,可以对CPU、内存等资源实现精细化的控制。操作参考如下:

  • 限制MindCluster Ascend Deployer运行CPU

    1. 创建子目录。

      [object Object]

      创建完ascend-deployer目录后,会自动在该目录下生成cpu.cfs_period_us、cpu.cfs_quota_us等文件。

    2. 进入ascend-deployer目录,设置相应文件中的值。对于CPU的限制主要涉及以下文件。

      表 1 文件说明

      [object Object]undefined

      以限制最大CPU使用率为50%为例,操作如下:

      cpu.cfs_period_us文件值保持默认,修改cpu.cfs_quota_us值为50000,在准备运行MindCluster Ascend Deployer的shell窗口执行[object Object]echo $$[object Object]查询其pid,并将其写入tasks文件中。

  • 限制MindCluster Ascend Deployer运行内存

    1. 创建子目录。

      [object Object]

      创建完ascend-deployer目录后,会自动在该目录下生成memory.limit_in_bytes、tasks等文件。

    2. 进入ascend-deployer目录,设置相应文件中的值。对于内存的限制主要涉及以下文件。

      表 2 文件说明

      [object Object]undefined

      以限制最多使用500M内存为例,将memory.limit_in_bytes文件中的值修改为计算所得值524288000,在准备运行MindCluster Ascend Deployer的shell窗口执行[object Object]echo $$[object Object]查询其pid,并将其写入tasks文件中。

[object Object]

部分OS会默认设置超时限制,用户可通过自行修改环境变量TMOUT和sshd_config文件中相关信息来避免频繁弹出超时提示。

  • 修改TMOUT环境变量,为0时表示没有超时限制。可以将其设置为一个正整数,表示会话的最大无活动时间(以秒为单位)。例如,将TMOUT设置为600表示如果用户在10分钟内没有任何活动,则用户的登录状态将被自动终止。

    [object Object]
  • 根据所在组织的安全要求,自行修改sshd_config文件中ClientAliveInterval和ClientAliveCountMax字段。

[object Object]

场景说明[object Object][object Object]

昇腾软件包所需依赖复杂,为提高安装效率,MindCluster Ascend Deployer提供安装前检查功能。在执行安装命令前,用户可根据安装的场景或软件包,执行如下命令测试是否支持安装,测试通过后再执行安装操作。

在以下示例中,[object Object]--stdout_callback=ansible_log[object Object]为可选参数,用来启用打屏显示插件。

指定场景安装前检查(仅支持root用户)[object Object][object Object]

MindCluster Ascend Deployer工具提供几个基本安装场景,<scene_name>具体可参考。用户可以执行如下命令进行安装前检查。

[object Object]

命令示例如下:

[object Object]

指定软件安装前检查[object Object][object Object]

<package_name>可选范围可参考,也可以通过执行bash install.sh --help查看。

[object Object]

命令示例如下:

[object Object]

输出检查结果[object Object][object Object]

执行完检查后,MindCluster Ascend Deployer会在~/.ascend_deployer/deploy_info目录下输出检查结果文件check_res_output.json。

[object Object]

用户已完成商用版或社区版昇腾软件下载时,可参考本章节进行安装。

前提条件[object Object][object Object]

  • 已完成MindCluster Ascend Deployer工具的下载。
  • 已完成软件包的准备工作。
  • 准备的软件包需在MindCluster Ascend Deployer工具支持的安装范围内,如所示。
  • 用户需要提前准备的登录账号,并提前申请和确认有相应软件包(驱动与固件包、CANN软件包以及MindCluster性能测试软件包)的下载权限,可通过ascend-deployer/ascend_deployer/downloader/software/CANN_*.json文件中的URL链接跳转申请。

安装步骤[object Object][object Object]

  1. 下载Docker软件和系统依赖。双击运行“ascend-deployer-{version}/ascend_deployer”目录下的“start_download_ui.bat”。在界面勾选待安装设备的OS所示。务必不要勾选界面右侧软件(PKG_LIST)。

    图 1 下载Docker软件和系统依赖[object Object][object Object]

  2. (可选)单击“启用代理”,填写代理信息。

    在Windows10及以上版本操作系统上,用户可使用已配置的代理服务器进行软件下载。其他操作系统暂不支持此功能。

  3. 单击“开始下载”。

    出现如下回显,表示下载完成。如所示。

    图 2 下载完成[object Object][object Object]

  4. 将准备好的软件包放至以下路径。

    1. NPU驱动固件、Toolkit、kernels和MindCluster性能测试等软件包:放置于“ascend-deployer-{version}/ascend_deployer/resources”目录。

      resources文件夹内容如下(以CentOS 7.6为例):

      [object Object]
    2. (可选)若需要替换为其他版本,可以将“ascend_deployer/resources/mindxdl/dlPackage/[object Object]{arch}[object Object]”文件夹下的MindCluster组件包替换为下载好的MindCluster组件包。

      ascend_deployer/resources/mindxdl/dlPackage/[object Object]{arch}[object Object]文件夹内容如下。

      [object Object]
      [object Object]
  5. 将“ascend-deployer-{version}”整个目录压缩成zip包上传至执行机(用于部署MindCluster Ascend Deployer工具执行批量安装的服务器)任意目录。

  6. 执行unzip ascend-deployer-{version}.zip命令解压获得“ascend-deployer-{version}”目录。

[object Object]

昇腾软件需要创建特殊运行用户,若需要手动创建,请参考以下操作。

命令参考如下(以创建HwHiAiUser用户为例):

如果想指定其他用户作为运行用户,后续在安装操作中修改配置文件inventory_file。

  1. 创建运行用户HwHiAiUser。

    [object Object]
  2. 设置HwHiAiUser用户密码。

    [object Object]
[object Object]
[object Object]

在所有待安装设备上执行cat /etc/resolv.conf命令查看操作系统是否已配置DNS。所有待安装设备的DNS建议保持一致。

若回显DNS配置信息(如“nameserver”信息),表示已配置DNS;

若无回显信息,表示未配置DNS,请执行如下步骤配置。

  1. [object Object][object Object]查询配置了业务IP的网口名称。

    [object Object]
  2. 给相应网口配置DNS,所有网口的DNS建议保持一致。

    例:从中,查询到的网口名称为[object Object]enp125s0f0[object Object]。

    [object Object]
    [object Object]
  3. 查看DNS是否配置成功。

    [object Object]

    回显如下信息,表示DNS配置成功。

    [object Object]
[object Object]

MindCluster Ascend Deployer工具在批量安装及升级集群调度组件时,支持在异构节点(与执行机架构不一致的worker节点)上批量安装与升级MindCluster集群调度。请选取一个异构节点作为异构镜像的构建服务器,并在构建服务器上完成inventory_file文件中other_build_image(异构服务器信息)的配置即可。

异构场景说明[object Object][object Object]

MindCluster Ascend Deployer工具支持异构的场景如下所示。

[object Object]undefined

配置other_build_image[object Object][object Object]

表 1 other_build_image参数说明

[object Object]undefined
[object Object]

MindCluster Ascend Deployer工具支持通过多实例部署的方式实现在一天内完成超10万卡以上的超大规模集群安装部署。

提升部署效率,将大规模集群分为多个子集群,在子集群中择取一台作为实例节点,以该节点作为分布式部署节点,由主节点统计所有实例节点部署信息汇总。

[object Object]
  1. 以软件包的安装用户登录待安装设备。

  2. 通过MindCluster Ascend Deployer工具时,需进入ascend_deployer目录,使用bash large_scale_install.sh --install命令安装部署超大规模集群。

    [object Object]

    命令示例如所示。

    请按照“sys_pkg>python>npu>CANN、MindCluster(性能测试,故障诊断,集群调度)”的顺序进行安装,安装时resources目录下的CANN包版本需和NPU配套。

    表 1 安装命令示例

    [object Object][object Object]

    [object Object]undefined
  3. (可选)涉及安装CANN和ToolBox时,用户需签署后进入安装流程,根据回显页面执行y或Y确认协议,输入其他任意字符为拒绝协议,确认接受协议后自动开始安装。

    若当前语言环境不满足要求,可以执行如下命令配置系统的默认语言环境。

    • 配置为中文

      [object Object]
    • 配置为英文

      [object Object]

查看安装报告、检验报告及状态信息[object Object][object Object]

安装失败时,会在~/.ascend_deployer/large_scale_deploy/路径下生成report目录,包含安装报告large_scale_deploy.json、host_deploy_report.csv文件。报告文件中以服务器为维度记录了服务器IP地址、状态等结果信息。

在/root/.ascend_deployer/large_scale_deploy/remote_host_data/{IP}/下会生成安装进度信息文件deployer_progress_output.json,查看安装过程和状态信息。

执行以下命令,在report目录下会生成检验报告test_report.csv。

[object Object]

报告文件中以服务器为维度记录了服务器IP地址、昇腾软件等版本信息。

配置大规模部署文件[object Object][object Object]

  1. 登录MindCluster Ascend Deployer执行机。

  2. 在MindCluster Ascend Deployer执行机上配置待安装设备的IP地址、用户名。

    进入ascend-deployer/ascend_deployer目录,编辑large_scale_inventory.ini文件,添加完成后执行[object Object]:wq[object Object]保存退出。

    1. 按照,完成master、worker、deploy_node(可选)、npu_node(可选)的变量配置。

      [object Object]

      表 2 参数说明

      [object Object][object Object]

      [object Object]undefined
      [object Object]
    2. 在[large_scale]配置字段下完成大规模部署参数配置。

      表 3 参数说明

      [object Object]undefined

      示例如下:

      [object Object]
    3. deploy_node支持以下方式配置

      1. 手动指定:手动填写参数,此方式为最高优先级。

      2. 自动指定:未手动指定[deploy_node]主机组任意主机,则进入自动选定模式。

        选取方式如下:

        当[object Object]large_scale_inventory.ini[object Object]中的[large_scale]中[object Object]SUB_GROUP_MAX_SIZE[object Object]最大值为200时,工具会自动将ip按序排列,并按最大200划分子集群,并以每个集群首位服务器作为实例节点安装部署昇腾软件。

    [object Object]
[object Object]

配置安装或升级的参数时支持的硬件产品、OS清单、安装场景,请参考

批量安装或升级NPU固件与驱动、CANN软件包、AI框架、MindCluster组件(性能测试,故障诊断,集群调度)、MindIE镜像和配置HCCN参数时,可通过填写Excel表格的方式来导入inventory文件所需参数。此种配置方式仅支持在Windows上使用。

下载表格

表格名称为inventory_template.xls,随MindCluster Ascend Deployer安装软件包一起下载,并存放于ascend_deployer目录下。

使用表格:

  1. 请详细阅读表格填写说明,按照要求将表格填写完整。
  2. 将填写完成的表格另存为CSV UTF-8的格式。
  3. 将另存为的CSV文件,放入ascend_deployer的目录下。
  4. 执行脚本trans_excel_to_inventory.bat(该脚本同样存放于ascend_deployer目录下),提取CSV的内容存入inventory_file。
[object Object]
  • 当服务器中含有docker、kernel-headers、kernel-dev时,可以通过拉起ascend-npu-driver-installer容器进行NPU驱动安装。具体信息请参见
  • 当用户拥有K8s集群时,可以通过K8s拉起pod为所有节点安装NPU驱动。具体信息请参见

与MindCluster Ascend Deployer安装NPU驱动不兼容。即使用容器化安装NPU驱动后,不可使用MindCluster Ascend Deployer进行升级或检查,反之亦然。