更换GaussDB 200节点
操作场景
当GaussDB 200节点硬件发生故障后无法修复,界面上会出现12006告警。为了使服务快速地恢复正常,需要将发生故障的一个或多个节点更换为正常节点。
前提条件
- GaussDB 200集群安装成功,且处于已启动状态。
- 准备新的硬件服务器,新服务器的硬件条件(CPU,内存,磁盘等)必须满足GaussDB 200安装的基本要求,等同或者优于被更换服务器的配置。
- 新节点的root密码需要与环境中其他节点的root密码保持一致。
- DN环的主、备实例不能同时损坏,DN环的主、从备实例不能同时损坏,DN环的备、从备实例不能同时损坏,即一个DN环中只能损坏一个实例。
- GaussDB 200集群内至少存在一个状态正常物理节点。
- FusionInsight Manager主备管理节点不出现故障。
- GaussDB 200集群内如下实例至少存在一个正常运行的:
- CMServer
- CMAgent
- GTM
- Coordinator
对系统影响
修复过程中,请勿进行数据增删改等DML操作以及DDL操作,以免数据的丢失。
- 更换节点可能导致服务异常,属高危操作。
- 在前一次修复结束后才能再次执行修复。因此请不要同时在多个集群节点上执行脚本gs_replace。
- 修复前不能锁定GaussDB 200集群。
- 节点替换前需要检查LVS安装的主备主机的安装包解压的“lvs”目录下是否存在root属主的LVS安装日志(默认名称为“gaussdb_loadbalance.log”):
- 以omm用户身份登录GaussDB 200服务器。执行source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile命令启动环境变量。
- 进入“lvs”目录:
cd ${BIGDATA_HOME}/FusionInsight_MPPDB_6.5.1/install/FusionInsight-MPPDB-6.5.1/package/MPPDB/lvs/
如果存在root属主的LVS安装日志,则需要执行如下命令修改其日志属主为集群用户:
sudo chown omm:wheel gaussdb_loadbalance.log
处理步骤
- 以omm用户登录GaussDB 200集群的任意一台正常服务的服务器。
- 执行以下命令,启用环境变量。
source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile
- 执行以下命令,查看GaussDB 200集群当前状态。查看发现服务非“Normal”状态,等待几分钟后重新查看状态,GaussDB 200集群状态稳定不变,方可进行节点更换。
gs_om -t status --detail
集群处于非“Normal”状态,例如“Degraded”,则表明MPPDB服务属于故障状态。
[ Cluster State ] cluster_state : Degraded redistributing : No balanced : No
- 配置新增节点的操作系统,检查新增节点环境,具体参照软件安装操作,同时需保证以下两点:
- 新增节点上与集群其他节点安装的OS为相同版本。
- 新增节点的IP、HostName、OS编码格式、磁盘分区与故障节点保持一致。
执行preinstall脚本,完成OS的预配置和分区挂载。
执行preinstall操作前,需要修改对应的操作系统配置文件“preinstall.ini”,只保留需要替换节点的IP地址及分区信息,防止影响到集群内的其他正常节点。
例如,需要替换的节点IP地址为192.168.10.10,修改“preinstall.ini”文件内的“g_hosts”和“g_parted_conf”参数如下(通常放置于主管理节点,例如“/opt/FusionInsight_SetupTool/preinstall”):
g_hosts="192.168.10.10" g_user_name="root" g_port=22 g_parted=2 g_parted_conf="192.168.10.10:host0.ini;" g_add_pkg=1 g_pkgs_dir="redhat-6.4:/media/" g_log_file="/tmp/fi-preinstall.log" g_debug=0 g_hostname_conf="192.168.10.10:192.168.20.10:host0;192.168.10.11:192.168.20.11:host1;192.168.10.12:192.168.20.12:host2;"
- 被更换节点下电,更换新的服务器后上电。
- 登录FusionInsight Manager界面参考重装主机进行集群修复(如修复失败,请继续重试)。
- 完成以上操作后等待几分钟,可通过以下方式进行查询确认更换情况:
- 执行gs_om -t status --detail命令查询实例与GaussDB 200集群状态“cluster_state”已经为“Normal”,并且“balanced”已经为“Yes”,则说明更换成功。
- 登录FusionInsight Manager到界面上查看组件状态,组件的“运行状态”显示为“良好”状态,MPPDBServer的“运行状态”显示为“良好”状态,则说明更换成功。
若曾经做过GaussDB 200组件的备份或者恢复,则执行如下命令配置xlog归档模式。
source ${BIGDATA_HOME}/FusionInsight_MPPDB_6.5.1/install/FusionInsight-MPPDB-6.5.1/.mppdbservice_profile
source $MPP_ENV_FILE
python $MPP_SOFTWARE_PATH/package/MPPDB/script/GaussRoach.py -t config -p
查看更多:华为GaussDB 200 更换故障节点 - 配置新增节点的操作系统,检查新增节点环境,具体参照软件安装操作,同时需保证以下两点: