1. 适用场景1) 当GaussDB A节点硬件发生故障后无法修复,界面上会出现12006告警。为了使服务快速地恢复正常,需要将发生故障的一个或多个节点更换为正常节点。2) 本方案仅适用于线下产品。3) 本方案仅适用于OS重装后,主机置换场景。4) OS未重装场景,不在此文档适用范围内。2. 前提条件1) GaussDB A集群安装成功,且处于已启动状态。2) 准备新的硬件服务器,新服务器的硬件条件(CPU,内存,磁盘等)必须满足GaussDB A安装的基本要求,等同或者优于被更换服务器的配置。3) 新节点的root密码需要与环境中其他节点的root密码保持一致。4) DN环的主、备实例不能同时损坏,DN环的主、从备实例不能同时损坏,DN环的备、从备实例不能同时损坏,即一个DN环中只能损坏一个实例。5) GaussDB A集群内至少存在一个状态正常物理节点。6) FusionInsight Manager主备管理节点不出现故障。7) GaussDB A集群(除去要替换的节点)如下实例,至少存在一个正常运行的:◾CMServer◾CMAgent◾GTM◾Coordinator8) 对于静默安装补丁,或者单独升级补丁的集群,必须确认交付时或者补丁变更时,已经替换OMS节点MPPDB软件包。ll /opt/huawei/Bigdata/packaged-distributables/*64/FusionInsight_MPPDB_*/*-bak 说明执行以上命令,有结果,并且结果如下样式,则为已经替换;如果没有替换,请联系工程师处理。FusionInsight-MPPDB-8.0.0.tar.gz-8.0.0.5-bakFusionInsight-MPPDB-8.0.0.tar.gz.sha256-8.0.0.5-bak8.0.0为基础版本,8.0.0.5为补丁版本。 3. 注意事项1) 更换故障节点中系统将关闭“自动剔除故障CN”功能,完成后系统再次打开该功能。因此建议在开始更换前确认故障的CN已经被自动剔除(即故障的CN状态为Deleted),否则在更换过程中用户执行DDL会报错。2) 如果被更换的主机上含有CN,在更换主机过程中CN状态未变为Normal前,不能连接该CN执行业务。3) 用户手动在故障主机上配置的guc参数、pg_hba.conf配置的白名单会丢失,需要重新设置。4) 更换节点可能导致服务异常,属高危操作。5) 在前一次更换结束后才能再次执行更换。6) 更换前不能锁定GaussDB A集群。7) 节点更换前需要检查LVS安装的主备主机的安装包解压的“lvs”目录下是否存在root属主的LVS安装日志(默认名称为“gaussdb_loadbalance.log”)。说明检查是否存在root属主的LVS安装日志,步骤如下:1.以omm用户身份登录GaussDB A服务器。执行source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile命令启动环境变量。2.进入“lvs”目录:cd ${BIGDATA_HOME}/FusionInsight_MPPDB_*/install/FusionInsight-MPPDB-*/package/MPPDB/lvs/如果存在root属主的LVS安装日志,则需要执行如下命令修改其日志属主为集群用户:sudo chown omm:wheel gaussdb_loadbalance.log4. 对系统影响重装主机在操作前需要用户先停止数据库相关业务,从而避免因数据库业务干扰而产生升级失败问题。操作过程会关闭白名单,禁止业务接入。5. 准备工作5.1确认新节点已配置操作系统1)新节点上与集群其他节点安装的OS为相同版本。2)新节点的IP,例如192.168.10.10(下文涉及新节点ip,均以此为例)、HostName、OS编码格式(locale | grep LANG)、磁盘分区与故障节点保持一致。3)新老节点不能同时接入网络,请把老节点下电或者断网。4)如果用原主机进行主机替换,不涉及老节点下电或者断网操作。5.2确认集群处于Degraded状态步骤1 以omm用户登录GaussDB A集群的第一个正常的cn节点步骤2 执行以下命令,启用环境变量source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile步骤3 执行以下命令,查看GaussDB A集群当前状态cm_ctl query步骤4 间隔5分钟,再次查询GaussDB A集群当前状态cm_ctl query步骤5 两次查询结果一致,且处于 “Degraded”状态,则表明MPPDB服务属于本方案适用故障状态[ Cluster State ] cluster_state : Degradedredistributing : Nobalanced : No步骤6 如果不满足以上状态,则联系华为工程师处理5.3挂载操作系统镜像步骤1使用“WinSCP”工具,以root用户登录主管理节点。将操作系统镜像文件上传至主管理节点目录下,例如“/opt”。步骤2使用“PuTTY”工具,以root用户登录主管理节点,执行以下命令进行挂载:mount 虚拟光盘文件名 /media/ -o loop例如RedHat系统,假设虚拟光盘文件在“/opt”下,执行:mount /opt/rhel-server-6.4-x86_64-dvd.iso /media/ -o loop说明SUSE 12.x系统默认情况下无“/media”目录,在此步骤前执行mkdir /media命令创建即可。5.4准备前置配置文件步骤1 确认集群OMS主节点上的FusionInsight_SetupTool工具是否存在(一般为oms节点“/opt/FusionInsight_SetupTool/”)。如果不存在,则需要在Support上下载集群对应版本的FusionInsight_SetupTool工具。步骤2 完成配置文件:/opt/FusionInsight_SetupTool/preinstall/preinstall.ini、/opt/FusionInsight_SetupTool/preinstall/partition/ini/hostN.inihostN.ini根据 preinstall.ini的g_parted_conf配置值确定preinstall.ini具体配置如下:g_hosts="192.168.10.10" -----需要替换主机的管理平面IP(必填)g_user_name="root" -----执行前置的用户(默认root)g_port=22 ----- SSH服务端口(默认22)g_parted=2 -----分区格式化参数(默认2,强制格式化)g_parted_conf="192.168.10.10:host0.ini;" -----节点分区信息(管理IP)g_add_pkg=1 -----rpm补包参数(默认1:安装)g_pkgs_dir="redhat-6.4:/media/" ----- RPM包的源目录 g_log_file="/tmp/fi-preinstall.log" g_debug=0 -----调试模式g_hostname_conf="192.168.10.10:192.168.20.10:host0; " -----节点管理平台IP地址、业务平面IP地址和主机名的对应关系g_swap_off=1 -----关闭swap分区(1关闭)g_platform="x86_64" -----平台类型hostN.ini具体配置如下:mppdb1.conf y y n5.5执行preinstall步骤1 进入SetupTool工具目录,例如/opt/FusionInsight_SetupTool/cd /opt/FusionInsight_SetupTool步骤2 执行前置脚本./setuptool.sh preinstall Please enter cluster SSH password: #输入root用户的密码**FusionInsight PreInstall is starting... ***************************************FusionInsight Preinstall******************************************** Time:60s***** Running:0***** Success:10***** Failure:0***** Total:10***** Schedule:100%“preinstall”过程结束后,默认会自动继续进行“precheck”过程。如下所示:===========FusionInsight PreCheck is starting...===========[INFO] start checking each hosts.[INFO] localhost: start parsing the configuration file.[INFO] localhost: parse the configuration file success....***** Schedule:100%==========Summary Output============Environment check failed,you can get more information from /opt/FusionInsight_SetupTool/precheck/log/precheck_failed.logYou can get more information about the preinstall from /tmp/fi-preinstall.log and /tmp/diskmgt/autopart.log步骤3 使用以下命令,按照提示路径查看precheck错误日志,例如:vi /opt/FusionInsight_SetupTool/precheck/log/precheck_failed.log 说明所有信息请参考【数据库对应版本产品文档-软件安装-附录-检查安装环境时产生的各种错误提示和解决办法】进行处理。“ERROR”级别必须在安装前解决,“WARNING”级别请根据实际情况审视。处理完毕后,请执行以下动作:a.执行以下命令重新执行precheck任务。cd /opt/FusionInsight_SetupTool./setuptool.sh precheck precheck/checkNodes.Configb.输入各节点用于安装集群用户的密码,等待执行完成。c.重新查看precheck错误日志,直至所有“ERROR”级别的项目全部处理完毕,且“WARNING”级别项目经审视对安装无影响为止。6. 变更步骤6.1关闭集群通信白名单步骤 1 现场实施人员知会并确认用户已完成数据库业务停止操作。步骤 2 以omm用户登录第一个正常的CN节点,执行如下命令注释用户白名单 以默认CN实例目录/srv/BigData/mppdb/data1/coordinator为示例,现场需根据实际情况进行调整。source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile gs_ssh -c "hostname && if [ -f /srv/BigData/mppdb/data1/coordinator/pg_hba.conf ]; then cp -f /srv/BigData/mppdb/data1/coordinator/pg_hba.conf /srv/BigData/mppdb/data1/coordinator/pg_hba.conf_comment; fi " gs_ssh -c "hostname && if [ -f /srv/BigData/mppdb/data1/coordinator/pg_hba.conf ]; then sed -i '/^[^#].*sha256.*/s/\(.*\)/#@#@#\1/g' /srv/BigData/mppdb/data1/coordinator/pg_hba.conf; fi " gs_ssh -c "hostname && if [ -f /srv/BigData/mppdb/data1/coordinator/pg_hba.conf ]; then sed -i '/^[^#].*md5.*/s/\(.*\)/#@#@#\1/g' /srv/BigData/mppdb/data1/coordinator/pg_hba.conf; fi "步骤 3 以omm用户登录第一个正常的CN节点,关闭MPPDB实例节点下的后台访问连接和应用连接。具体操作如下:source ${BIGDATA_HOME}/mppdb/.mppdbgs_profilegs_ssh -c "ps ux |grep -w gsql |grep -v grep |awk '{print \$2}' |xargs -r kill -9"gs_ssh -c "ps ux |grep -w ap_agent |grep -v grep |awk '{print \$2}' |xargs -r kill -9"步骤 4 以omm用户登录每一个CN节点,执行如下命令重启CN。执行以下命令,获取到CN的进程Pidps -ef | grep /srv/BigData/mppdb/data1/coordinator | grep -v grep执行以下命令,杀死CN进程kill -9 Pid执行以下命令,观察CN被重新拉起,并且Pid与之前获取的Pid不同ps -ef | grep /srv/BigData/mppdb/data1/coordinator | grep -v grep6.2修改重装主机相关文件步骤1 以omm用户登录主oms节点步骤2 将node-replace.sh脚本拷贝到/home/omm目录下注意 node-replace.sh脚本需要下载附件node-replace.txt后,修改文件名为node-replace.sh步骤3 执行以下命令:sh node-replace.sh -i hostname其中hostname为待替换主机的主机名;结果如下,则为执行成功:Start replaceMPPDBpackage...replace /opt/huawei/Bigdata/packaged-distributables/redhat-x86_64/FusionInsight_MPPDB_8.0.0/FusionInsight-MPPDB-8.0.0.tar.gz success6.3重启controller步骤1 以omm用户登录主管理节点步骤2 执行以下命令,备份互信配置文件cp ${BIGDATA_HOME}/om-server/om/etc/om/known_hosts ${BIGDATA_HOME}/om-server/om/etc/om/known_hosts.replace步骤3 执行以下命令,注释文件中包含新节点主机名或者ip地址的行vi ${BIGDATA_HOME}/om-server/om/etc/om/known_hosts步骤4 执行以下命令,重启controller,使配置生效sh ${CONTROLLER_HOME}/sbin/restart-controller.sh6.4前台页面重装主机步骤1 登录FusionInsight Manager步骤2 单击“主机”步骤3 勾选待重装主机前的复选框步骤4 在“更多”选择“重装”在弹出的确认框中,输入当前登录的用户密码确认身份,单击“确定”。步骤5 在“重装主机”对话框,勾选“清理数据”、“我确定重装所选主机,接受可能出现的服务故障、数据丢失等后果。”步骤6 选择“root”用户并输入密码,单击“确定”界面提示“操作成功。”,单击“完成”6.5重建实例请严格按照步骤描述执行,不准跳步,不准并行步骤1 以omm用户登录一个正常的数据节点,执行:source /opt/huawei/Bigdata/mppdb/.mppdbgs_profile步骤2 以nohup方式对要做重建的主机进行config配置,其中hostname为要重建的主机名称nohup gs_replace -t config -h hostname & 注意 步骤2执行完成后,再执行步骤3,不能同时执行通过如下命令确认步骤2是否执行完成,没有进程则为执行完成ps -ef|grep gs_replace | grep -v grep步骤3 以nohup方式对要做重建的主机进行数据重建,其中hostname为要重建的主机名称如果后台没有gs_replace,则执行下面的命令,否则继续等待nohup gs_replace -t start -h hostname &注:该过程时间较长,可以通过6.6查看Build状态 查看build进度6.6查看Build状态步骤1 以omm用户登录一个正常的数据节点,执行:source /opt/huawei/Bigdata/mppdb/.mppdbgs_profile步骤2 通过下面的命令查看Build的进度cm_ctl query -Cv |grep -i Build6.7启动新增节点上的实例步骤1 以omm用户登录第一个正常的CN节点,执行:source /opt/huawei/Bigdata/mppdb/.mppdbgs_profile步骤2 通过下面的命令查看做完Build的实例状态cm_ctl query -Cvd如果实例的状态从Building变成Normal,则跳过;如果实例的状态从Building变成Manuel Stopped,则继续执行步骤3;步骤3 启动Manuel Stopped的实例cm_ctl start6.8均衡实例步骤1 以omm用户登录第一个正常的CN节点,执行:source /opt/huawei/Bigdata/mppdb/.mppdbgs_profile步骤2 通过下面的命令检查集群状态为Normal,balanced状态为No时,执行步骤3cm_ctl query步骤3 检查主备追赶状态登录第一个正常的CN节点,连接数据库gsql -d postgres -p 25308 -r查看追赶视图select * from pgxc_get_senders_catchup_time();上述视图结果为0 row时,则执行步骤4,否则继续执行步骤3,直到结果为0 row步骤4 执行主备均衡cm_ctl switchover -a步骤5 检查集群状态cm_ctl query如下则为正常[ Cluster State ] cluster_state : Normalredistributing : Nobalanced : Yes 注意 如果超过15min以上,仍然达不到上述状态,请联系华为工程师。6.9恢复MPPDB软件包步骤1 以omm用户登录主oms节点,进入/home/omm目录下步骤2 执行如下命令恢复MPPDB软件包:sh node-replace.sh -u hostname其中hostname为待替换主机的主机名;6.10恢复集群通信白名单步骤1 以omm用户登录第一个正常的CN节点,执行如下命令注释用户白名单 以默认CN实例目录/srv/BigData/mppdb/data1/coordinator为示例,现场需根据实际情况进行调整。source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile gs_ssh -c "hostname && if [ -f /srv/BigData/mppdb/data1/coordinator/pg_hba.conf_comment ]; then sed -i '/^#@#@#.*/s/#@#@#\(.*\)/\1/g' /srv/BigData/mppdb/data1/coordinator/pg_hba.conf && rm -f /srv/BigData/mppdb/data1/coordinator/pg_hba.conf_comment; fi "6.11确认结果1)后台集群状态验证步骤1 以omm用户登录GaussDB A集群的第一个正常的cn节点步骤2 执行以下命令,启用环境变量source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile步骤3 执行以下命令,查看GaussDB A集群当前状态cm_ctl query如下则为正常[ Cluster State ] cluster_state : Normalredistributing : Nobalanced : Yes2)前台集群状态验证步骤1 登录FusionInsight Manager步骤2 单击“集群”,选择MPPDB,点击实例步骤3 组件MPPDBServer的“运行状态”显示为“良好”状态3)客户业务验证步骤1 验证方案需包括DDL和DML语句7. 常见问题7.1 gs_checkos报错导致页面重装主机失败问题场景:步骤6.4前台页面重装主机,11.初始化服务和实例报错/var/log/Bigdata/mpp/scriptlog/postinstall.log报错gs_checkos,设置OS参数并检查通过,修复后点击页面重试步骤1 以root用户登录要替换的新节点步骤2 执行以下命令,启用环境变量source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile步骤3 执行以下命令,设置OS参数 hostname 替换为要置换节点的主机名gs_checkos -i B -h hostname步骤4 执行以下命令,检查OS参数gs_checkos -i A -h hostname
时空大帝1
发表于2025-03-25 19:27:56
2025-03-25 19:27:56
最后回复
14