Managing gateways with a specification file

Use a specification file to manage performance and to scale NVMe-oF gateways by adding or removing gateways from associated nodes for scale-up or scale-down operations.

About this task

Use the ceph orch apply command to apply the file changes after adding or removing the host nodes.
ceph orch apply -i NVME_FILE
The ceph orch apply command does not automatically redeploy the service specification changes. Manually redeploy the NVMe-oF service specification changes on the Ceph Orchestrator to complete implementing the changes.
ceph orch redeploy nvmeof.SERVICE_NAME
For example,
[ceph: root@host01 /]# ceph orch redeploy nvmeof.nvmeof-pool
Scheduled to redeploy nvmeof.nvmeof-pool.a-rhel9-node2.blhrht on host 'a-rhel9-node2'

Procedure

  • To remove a host, delete the host from the YAML file and then apply the file.
    For example, to remove host02 from nvmeof_pool01, delete - host02 from the YAML file and then apply the file.
    • YAML file before removing host02:
      service_type: nvmeof
      service_id: nvmeof_pool01.group2
      service_name: nvmeof.nvmeof_pool01.group2
      placement:
        hosts:
          - host01
          - host02
      spec:
        pool: nvmeof_pool01
        tgt_cmd_extra_args: --cpumask=0xFF
    • Example after removing host02:
      service_type: nvmeof
      service_id: nvmeof_pool01.group2
      service_name: nvmeof.nvmeof_pool01.group2
      placement:
        hosts:
          - host01
      spec:
        pool: nvmeof_pool01
        tgt_cmd_extra_args: --cpumask=0xFF
  • To add a host, add the host to the YAML file and then apply the file.
    For example, to add host03 to nvmeof_pool01, add - host03 to the YAML file and then apply the file.
    • YAML file before adding host03:
      service_type: nvmeof
      service_id: nvmeof_pool01.group2
      service_name: nvmeof.nvmeof_pool01.group2
      placement:
        hosts:
          - host01
          - host02
      spec:
        pool: nvmeof_pool01
        tgt_cmd_extra_args: --cpumask=0xFF
    • Example after adding host03:
      service_type: nvmeof
      service_id: nvmeof_pool01.group2
      service_name: nvmeof.nvmeof_pool01.group2
      placement:
        hosts:
          - host01
          - host02
          - host03
      spec:
        pool: nvmeof_pool01
        tgt_cmd_extra_args: --cpumask=0xFF