
# 特性概述
CM模块分为CMServer和CMAgent两个模块。
CMServer是整个集群的大脑，负责集群中各GTM、CN、DN实例状态的监控，以及每一对GTM，DN主备HA角色的仲裁，根据CMAgent上报的各实例节点状态信息来仲裁实例是否需要状态变更，以及需要哪种变更。正常场景下，集群需要有且只有一个CMServer主进行相关仲裁动作，CMServer会定期向ETCD写心跳数据，如果集群中CMServer主发生故障，需要通过ETCD仲裁选主。
CMAgent的主要功能包括启动本节点所有实例、停止本节点所有实例、监控上报本节点所有实例状态给CMServer以及执行CMServer下发的仲裁命令。
CMAgent是多线程监控组件，线程结构如[图1]所示。线程包括：
1. 主线程负责上报节点实例状态，以及执行CMServer下发的命令。
2. 启停线程负责启动和停止节点实例。
3. 与GTM/DN/CN连接线程负责查询实例状态。
图1CMAgent线程结构   
![](https://support.huaweicloud.com/distributed-devg-v10-gaussdb/figure/zh-cn_image_0000002620720509.png "点击放大")
