文档
注册

在计算节点安装MindIO服务

本节介绍了如何本地安装MindIO,使用ascend-deployer工具安装MindIO的方式请参见《ascend-deployer用户指南》

前提条件

  • 完成需要安装MindIO的计算节点IP地址信息收集。
  • 完成后端存储配置。

操作步骤

  • 安装时,默认以MindIO运行用户安装MindIO SDK,其他用户需要使用SDK时,需要与运行用户同属一个用户组。
  • 所有需要安装Ascend-mindxdl-mindio组件的服务器(IP地址在host_ip_list文件中的服务器),需要相同的安装用户和密码,并且该用户需要具备创建目录文件,修改systemd配置和“/etc/fuse”配置的权限。
  • 安装目录默认为“/opt/mindio/”目录,如果在安装时参数指定了目录,则以实际指定的安装目录为准。
  1. 以安装用户<MindIO-install-user>登录安装节点。
  2. 将软件包Ascend-mindxdl-mindio_{version}_linux-{arch}.zip上传至设备上安装用户有权限读写的路径下。
    • Ascend-mindxdl-mindio_{version}_linux-{arch}.zip以获取的实际包名为准。
    • 整个安装步骤只需在安装节点进行操作,其他计算节点不需要上传安装包,MindIO服务会分发安装至计算节点。
  3. 进入软件包上传路径,解压软件包。
    unzip Ascend-mindxdl-mindio_{version}_linux-{arch}.zip
    表1 解压后内层目录结构

    目录

    目录内文件

    说明

    install

    hand_out_deploy.py

    安装工具脚本。

    host_ip_list

    IP地址配置文件。

    memfs.conf

    MindIO配置文件。

    scp_file.sh

    scp命令执行文件。

    ssh_cmd.sh

    ssh命令执行文件。

    Ascend-mindxdl-mindio_{version}_linux-{arch}.tar

    -

    Ascend-mindxdl-mindio软件安装包。

  4. 进入安装包解压后的路径。
    cd ./install
  5. 配置host_ip_list文件。
    1. 执行以下命令,打开host_ip_list文件。
      vim host_ip_list
    2. 按“i”进入编辑模式,将所有需要安装Ascend-mindxdl-mindio服务的计算节点IP地址添加到host_ip_list文件,每行填写一个IP地址,不留空白行,下面仅为举例,请根据具体情况修改。
      192.168.0.1
      192.168.0.2
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  6. 配置memfs.conf文件。
    1. 执行以下命令,打开memfs.conf文件。
      vim memfs.conf
    2. 按“i”进入编辑模式,根据实际情况对相关参数进行修改。
      # configure file for memory filesystem
      
      # [memfs] 此标签不能删除!安装部署读取依赖此标签
      [memfs]
      memfs.mount_path = /mnt/memfs
      memfs.data_block_pool_capacity_in_gb = 128
      memfs.data_block_size_in_mb = 128
      memfs.max_open_files = 4096
      memfs.fuse_path = /usr/lib64/libfuse.so.2.9.2
      memfs.write.parallel.enabled = false
      memfs.write.parallel.thread_num = 32
      memfs.write.parallel.slice_in_mb = 16
      
      # under fs
      underfs.count = 1
      underfs.default = 1
      underfs.1.type = pacific
      underfs.1.name = pacific01
      underfs.1.mount_path = /mnt/dpc01
      underfs.1.docker_map_path =
      
      # background
      background.backup.enabled = true
      background.backup.thread_num = 32
      background.backup.ufs_name = pacific01
      background.backup.failed_retry_times = 10
      background.backup.failed_retry_max_interval_sec = 10
      background.backup.failed_max_cnt_for_unserviceable = 10
      background.backup.failed_auto_evict_file = false
      
      # ipc
      ipc.max_message_size_in_kb = 16
      ipc.permit_super_user_access = false
      ipc.author.enabled = true
      ipc.author.encrypted = true
      ipc.author.file_path = /opt/mindio/conf/whitelist
      ipc.kmc.ksf.master = /opt/mindio/tools/pmt/master/ksfa
      ipc.kmc.ksf.standby = /opt/mindio/tools/pmt/standby/ksfb
      表2 参数说明

      参数

      说明

      取值范围

      缺省值

      memfs.mount_path

      MindIO文件系统挂载路径,用户可以自定义挂载路径,方便用户查看MindIO内存缓存系统内文件。需确保此参数所指向的目录为空,MindIO安装时会重新创建该目录。

      -

      /mnt/memfs

      memfs.data_block_pool_capacity_in_gb

      MindIO文件系统内存分配大小,单位:GB,根据服务器内存大小来配置,建议不超过系统总内存的25%。

      1~1024

      128

      memfs.data_block_size_in_mb

      文件数据块分配最小粒度,单位:MB,根据使用场景中大多数文件的size决定配置,建议平均每个文件的数据块大小不超过128MB。

      1~1024

      128

      memfs.max_open_files

      最大打开文件数。

      1024~65536

      4096

      memfs.fuse_path

      本节点上FUSE动态链接库的地址,在安装时自动填入,非必填。

      -

      -

      memfs.write.parallel.enabled

      MindIO并发写性能优化开关配置,用户需结合业务数据模型特征决定是否打开本配置。

      • false:关闭
      • true:开启

      false

      memfs.write.parallel.thread_num

      MindIO并发写性能优化并发数。

      2~96

      32

      memfs.write.parallel.slice_in_mb

      MindIO并发写性能优化数据切分粒度,单位:MB。

      1~1024

      16

      underfs.count

      对接后端存储实例数量,每个存储实例对应一个挂载好的本地目录。

      1~32

      1

      underfs.default

      后端存储默认使用ID。

      1~underfs.count

      1

      underfs.<ID>.type

      指定第<ID>个后端存储的类型,目前只支持pacific。<ID>的取值范围:1~underfs.default。

      -

      pacific

      underfs.<ID>.name

      第<ID>个后端存储的名称,每个后端存储名称要唯一。<ID>的取值范围:1~underfs.default。

      -

      pacific01

      underfs.<ID>.mount_path

      第<ID>个后端存储的挂载目录,需要用户完成Pacific后端存储对接并完成挂载。<ID>的取值范围:1~underfs.default。

      -

      /mnt/dpc<ID>

      underfs.<ID>.docker_map_path

      第<ID>个后端存储的挂载目录在Docker内的映射目录,<ID>的取值范围:1~underfs.default。

      后端存储在主机侧,用户在Docker中运行业务,且后端存储的挂载目录在Docker内的映射目录二者不相同时,用户需要设置本配置项。

      -

      -

      background.backup.enabled

      是否开启备份。

      • false:关闭
      • true:开启

      true

      background.backup.thread_num

      备份线程数量。

      1~256

      32

      background.backup.ufs_name

      备份指定后端存储名称。

      -

      pacific01

      background.backup.failed_retry_times

      失败重试次数。

      10~60

      10

      background.backup.failed_retry_max_interval_sec

      失败重试间隔,单位:秒。

      10~60

      10

      background.backup.failed_max_cnt_for_unserviceable

      备份失败次数达到该值后,触发停MindIO服务。

      10~60

      10

      background.backup.failed_auto_evict_file

      备份文件到underfs失败后,是否要自动取消后台备份任务。

      • false:不取消后台备份
      • true:取消后台备份

      false

      ipc.max_message_size_in_kb

      最大消息长度,单位:KB。

      4~1024

      16

      ipc.permit_super_user_access

      是否允许root用户通过MindIO SDK访问MindIO文件系统内的文件。

      须知:

      默认禁止root用户访问,若客户需要开启root访问权限,可能存在安全风险,请谨慎使用。

      • false:不允许
      • true:允许

      false

      ipc.author.enabled

      是否开启白名单校验。

      须知:

      关闭白名单校验可能存在风险,请谨慎使用。

      • false:关闭
      • true:开启

      true

      ipc.author.encrypted

      是否开启白名单加密。

      须知:

      关闭白名单加密可能存在风险,请谨慎使用。

      • false:关闭
      • true:开启

      true

      ipc.author.file_path

      白名单保存地址。

      -

      /opt/mindio/security/authorization/whitelist

      ipc.kmc.ksf.master

      白名单主加密文件地址。

      -

      /opt/mindio/tools/pmt/master/ksfa

      ipc.kmc.ksf.standby

      白名单备加密文件地址。

      -

      /opt/mindio/tools/pmt/standby/ksfb

      “ipc.author.file_path”“ipc.kmc.ksf.master”“ipc.kmc.ksf.standby”在配置文件中的默认地址,是在使用默认安装路径(见表3)时才有效。如果在安装时指定了安装路径,请对其进行同步修改。

    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  7. (可选)如果6中配置项“ipc.author.enabled”=“true”,才需要配置权限白名单。

    只有用户组ID在白名单内的用户,才能向MindIO文件系统读写文件。

    1. 执行以下命令,打开whitelist文件。
      vim whitelist

      为了保证安装过程中whitelist文件安全性,建议安装用户设置whitelist权限为600。

    2. 按“i”进入编辑模式,配置白名单。
      [
          {
              "user": "0",
              "allow": true
          },
          {
              "user": "1",
              "allow": false
          }
      ]
      • 白名单配置采用JSON格式。
      • “user”字段表示用户组ID。
      • “allow”字段:
        • “true”表示允许该用户组ID的用户访问MindIO文件系统。
        • “false”表示禁止该用户组ID的用户访问MindIO文件系统。
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  8. 安装MindIO。
    1. 执行以下命令,安装Ascend-mindxdl-mindio。
      python3 hand_out_deploy.py install 软件包上传路径/Ascend-mindxdl-mindio_{version}_linux-{arch}.tar user group install_path
      表3 安装命令参数说明

      参数

      说明

      hand_out_deploy.py

      install目录下的自动化安装脚本。

      install

      执行安装动作。

      软件包上传路径/Ascend-mindxdl-mindio_{version}_linux-{arch}.tar

      软件包所在的路径。

      user

      指定MindIO安装后文件的归属用户和启动MindIO服务的用户,如果不指定,默认用户为hwMindX。

      group

      指定MindIO安装后文件的归属用户组和启动MindIO服务的用户组,如果不指定,默认用户组为HwHiAiUser。

      install_path

      指定MindIO安装文件路径,如果不指定,默认安装路径为“/opt”

      user、group、install_path三个参数需要同时设定或取消,不支持设置部分参数。

    2. 输入安装用户名<MindIO-install-user>和密码,开始执行安装过程。
      input login user:<MindIO-install-user>
      input login password:密码
      回显示例如下,表示Ascend-mindxdl-mindio安装成功。
      (1/6)----------check the configuration file.
      (2/6)----------send files to all nodes.
      (3/6)----------decompress files in all nodes.
      (4/6)----------install in all nodes.
      (5/6)----------start fs in all nodes.
      (6/6)----------success.

      安装成功后,软件部署在“/opt/mindio”目录下,目录树如下所示:

      ├── bin
      │   ├── ockiod
      │   ├── seceasy_encrypt
      ├── ccae
      │   └── mindio_export.sh
      ├── conf
      │   ├── host_ip_list
      │   └── memfs.conf
      ├── lib
      │   ├── libbdm.so
      │   ├── libhse_authorization.so
      │   ├── libhse_cryption.so
      │   └── libsecurec.so
      ├── logs
      │   ├── audit.log
      │   ├── ockiod_audit.log
      │   ├── ockiod.log
      │   └── ockiod_start.log
      ├── scripts
      │   ├── install.sh
      │   └── node_start.sh
      ├── security
      │   └── authorization
      │       └── whitelist
      ├── tools
      │   └── pmt
      │       ├── master
      │       │   └── ksfa
      │       └── standby
      │           └── ksfb
      └── uds

      日志存放在“/opt/mindio/logs”目录下,具体日志路径可参见表4

      表4 日志信息说明

      日志路径

      说明

      /opt/mindio/logs/audit.log

      加密工具审计日志路径。

      /opt/mindio/logs/ockiod_audit.log

      审计日志路径。

      /opt/mindio/logs/ockiod.log

      运行日志路径。

      /opt/mindio/logs/ockiod_start.log

      MindIO SDK安装和启动服务日志路径。

      /var/log/app_hand_out_py.log

      安装部署日志路径。

      软件包上传节点通过app_hand_out_py.log日志记录安装部署脚本执行情况,卸载时需要手动删除。建议用户每次执行卸载操作时手动删除该日志文件,降低内存消耗。

  9. 安装完成后,删除install目录下手动创建的whitelist文件。
    rm -f whitelist

    如不删除,可能会存在whitelist文件内容泄漏的风险。

  10. (可选)安装完成后,建议删除安装文件和工具。
    1. 执行以下命令,删除安装文件。
      rm -f Ascend-mindxdl-mindio_{version}_linux-{arch}.zip
      rm -f Ascend-mindxdl-mindio_{version}_linux-{arch}.tar
    2. 执行以下命令,删除install工具。
      rm -rf install

      删除install工具后,将不能使用install工具提供的start_fsstop_fsuninstall命令来批量启动、停止、卸载MindIO服务。

由于安装用户拥有较高权限,出于安全目的,建议安装后取消安装用户SSH远程登录服务器的权限(请参见SSH加固),以提升系统安全性。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词