使用样例
限制与约束
需要部署MindCluster服务,并启动Job重调度能力(配套部署脚本默认启用),重配置分为有冗余节点和无冗余节点两种。
- 有冗余:当冗余节点足够恢复故障实例时,则恢复仅涉及到故障的Prefill和Decode实例。
- 无冗余:出现故障节点时,实例无法直接恢复,需要根据弹性模板释放其他实例来恢复故障实例。当前的恢复策略为缩P保D,即D实例故障后,当P实例个数大于1个的情况下,则释放P实例得到冗余节点,以此恢复D实例。
操作步骤
- 开启Job重调度功能。
该功能由deployment/server_init.yaml文件配置,关键配置参数如以下加粗内容所示。
- fault-scheduling:取值为“force”,表示开启Job重调度功能。
- fault-retry-times:表示重调度次数,取值范围:[7200, 10000]。
- restartPolicy:取值为“Never”。
... # 定义 PriorityClass apiVersion: scheduling.k8s.io/v1 kind: PriorityClass metadata: name: high-priority value: 100 globalDefault: false description: "D used for high-priority jobs and P for low-priority jobs" --- apiVersion: mindxdl.gitee.com/v1 kind: AscendJob metadata: name: xxxx-server-0 #以具体任务为准, xxxx默认为mindie-ms namespace: mindie #以MindIE为准,用户可修改 annotations: sp-block: "384" labels: framework: pytorch app: mindie-ms-server #固定 jobID: xxxx # 推理任务的名称,用户需配置,默认为mindie-ms ring-controller.atlas: ascend-910b fault-scheduling: force fault-retry-times: "10000" grt-group/deploy-server: 1 spec: schedulerName: volcano runPolicy: schedulingPolicy: minAvailable: x # 与replicas保持一致 queue: default priorityClass: high-priority successPolicy: AllWorkers replicaSpecs: Master: replicas: 1 # server的副本数 restartPolicy: Never template: metadata: labels: ring-controller.atlas: ascend-910b app: mindie-ms-server jobID: xxxx #推理任务的名称,用户需配置,默认mindie ...
- 打开ms_controller.json配置文件,配置对接MindCluster的端口号,默认值为8899。
{ "allow_all_zero_ip_listening": false, "deploy_mode": "pd_separate", "initial_dist_server_port": 10000, "cluster_port":8899, ... }
- 进入/{MindIE安装目录}/latest/mindie-service目录并使用以下命令启动服务,当故障出现时将会自动触发故障重配置功能。
./bin/mindieservice_daemon
父主题: 重配置功能