Configuration Before MindIO Installation

Before installing MindIO components in batches, perform the following operations to complete necessary configuration:

  1. Log in to the server where ascend-deployer is located.
  2. Modify the MindIO configuration file on the server where ascend-deployer is located.

    Go to the ascend-deployer/ascend_deployer/playbooks/roles/mindx.dl/templates directory and edit the memfs.conf file. The parameters in the configuration file are described as follows. You can modify the parameters as required, and then run the :wq command to save the file and exit.

    Table 1 Parameter description

    Parameter

    Description

    Value Range

    Default Value

    memfs.mount_path

    Mount path of the MindIO file system. You can customize the mount path to view files in the MindIO memory cache system. Ensure that the directory specified by this parameter is empty. The directory will be re-created during MindIO installation.

    -

    /mnt/memfs

    memfs.data_block_pool_capacity_in_gb

    Memory size allocated to the MindIO file system, in GB. Set this parameter based on the memory size of the server. It is recommended that the value be less than or equal to 25% of the total system memory.

    1–1024

    128

    memfs.data_block_size_in_mb

    Minimum granularity for allocating file data blocks, in MB. Set this parameter based on the sizes of most files in application scenarios. It is recommended that the average data block size of each file be less than or equal to 128 MB.

    1–1024

    128

    memfs.max_open_files

    Maximum number of open files.

    1024–65536

    4096

    memfs.fuse_path

    (Optional) Address of the FUSE dynamic link library on a node. The address is automatically input during installation.

    -

    -

    memfs.write.parallel.enabled

    Optimization for MindIO concurrent write performance. You need to determine whether to enable this function based on the service data model characteristics.

    • false: disabled
    • true: enabled

    false

    memfs.write.parallel.thread_num

    Number of concurrent threads for MindIO write performance optimization.

    2–96

    32

    memfs.write.parallel.slice_in_mb

    Data segmentation granularity for MindIO concurrent write performance optimization, in MB.

    1–1024

    16

    underfs.count

    Number of backend storage instances. Each storage instance corresponds to a mounted local directory.

    1–32

    1

    underfs.default

    Default ID used by the backend storage.

    1–underfs.count

    1

    underfs.<ID>.type

    Type of the <ID>th backend storage. Currently, only pacific is supported. Value range of <ID>: 1–underfs.default

    -

    pacific

    underfs.<ID>.name

    Name of the <ID>th backend storage. The name of each backend storage must be unique. Value range of <ID>: 1–underfs.default

    -

    pacific01

    underfs.<ID>.mount_path

    Mount directory of the <ID>th backend storage. You need to connect and mount the Pacific backend storage. Value range of <ID>: 1–underfs.default

    -

    /mnt/dpc<ID>

    underfs.<ID>.docker_map_path

    Mapping directory of the mount directory of the <ID>th backend storage in Docker. The value range of <ID> is 1–underfs.default.

    You need to set this parameter when backend storage is operated on the host, services are running in Docker, and the mapping directory of the backend storage in Docker is different from its mount directory.

    -

    -

    background.backup.enabled

    Whether to enable backup.

    • false: disabled
    • true: enabled

    true

    background.backup.thread_num

    Number of backup threads.

    1–256

    32

    background.backup.ufs_name

    Name of the backend storage for backup.

    -

    pacific01

    background.backup.failed_retry_times

    Retry times.

    10–60

    10

    background.backup.failed_retry_max_interval_sec

    Retry interval, in seconds.

    10–60

    10

    background.backup.failed_max_cnt_for_unserviceable

    Threshold of failed backup counts to stop the MindIO service.

    10–60

    10

    background.backup.failed_auto_evict_file

    Whether to automatically cancel the backend backup task after the file fails to be backed up to underfs.

    • false: does not cancel backend backup
    • true: cancels backend backup.

    false

    ipc.max_message_size_in_kb

    Maximum message length, in KB.

    4–1024

    16

    ipc.permit_super_user_access

    Whether to allow the root user to access files in the MindIO file system through the MindIO SDK.

    NOTICE:

    By default, the root user is not allowed to access the system. Granting access permission to the root user may cause security. Therefore, exercise caution when enabling the access permission.

    • false: no
    • true: yes

    false

    ipc.author.enabled

    Whether to enable trustlist verification.

    NOTICE:

    Disabling trustlist verification may cause risks. Exercise caution when performing this operation.

    • false: disabled
    • true: enabled

    true

    ipc.author.encrypted

    Whether to enable trustlist encryption.

    NOTICE:

    Disabling trustlist encryption may cause risks. Exercise caution when performing this operation.

    • false: disabled
    • true: enabled

    true

    ipc.author.file_path

    Address for storing the trustlist.

    -

    /opt/mindio/security/authorization/whitelist

    ipc.kmc.ksf.master

    Address of the primary encryption file of the trustlist.

    -

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

    ipc.kmc.ksf.standby

    Address of the standby encryption file of the trustlist.

    -

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

  3. Configure the IP addresses and usernames of other target compute nodes on the server where ascend-deployer is located.

    Go to the ascend-deployer/ascend_deployer directory, edit the inventory_file file, comment out or delete localhost ansible_connection='local' under [worker], add the IP addresses and user names of the execution device and the device to be installed, and run the :wq command to save the modification and exit. The format is as follows:

    [worker]
    ip_address_1 ansible_ssh_user="root"# root user
    ip_address_2 ansible_ssh_user="root"# root user
    ip_address_3 ansible_ssh_user="username" # non-root user
    • In non-single-server deployment scenarios, do not mix local host and IP addresses in inventory_file. You are advised to set both values to IP addresses for both the execution device and the device to be installed.
    • ip_address can be set to an IPv4 or IPv6 address. The type of the IP address used by an SSH client such as PuTTY to connect to the execution device must be the same as that configured in the inventory_file, which should be either IPv4 or IPv6.
    • In the inventory_file, you can configure the passwords of other target devices for SSH password authentication by specifying the ansible_ssh_pass field. If the SSH key authentication mode is used, this configuration is not required. If the OS of a target device is openEuler_20.03LTS, openEuler_22.03LTS, or CentOS 7.6, the ansible_ssh_pass field cannot be used for this configuration.
  4. (Optional) During batch deployment, the default number of concurrences is 50, and the maximum number of concurrences is 255. If the number of environments to be deployed is greater than 50, go to the ascend-deployer/ascend_deployer directory and change the value of forks in the ansible.cfg file to the total number of nodes to be deployed to speed up the deployment.
    [defaults]
    forks=50