DWS 线下集群重装OS场景下重装主机实施方案

举报
你怎么不讲道理 发表于 2021/05/29 11:55:30 2021/05/29
【摘要】 1.    适用场景1) 当GaussDB A节点硬件发生故障后无法修复,界面上会出现12006告警。为了使服务快速地恢复正常,需要将发生故障的一个或多个节点更换为正常节点。2) 本方案仅适用于线下产品。3) 本方案仅适用于OS重装后,主机置换场景。4) OS未重装场景,不在此文档适用范围内。2.    前提条件1) GaussDB A集群安装成功,且处于已启动状态。2) 准备新的硬件服务器...

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

◾Coordinator

8)对于静默安装补丁,或者单独升级补丁的集群,必须确认交付时或者补丁变更时,已经替换OMS节点MPPDB软件包。 

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.log

4.    对系统影响

重装主机在操作前需要用户先停止数据库相关业务,从而避免因数据库业务干扰而产生升级失败问题。操作过程会关闭白名单,禁止业务接入。

5.    准备工作

5.1确认新节点已配置操作系统

1)新节点上与集群其他节点安装的OS为相同版本。

2)新节点的IP,例如192.168.10.10(下文涉及新节点ip,均以此为例)、HostName、OS编码格式、磁盘分区与故障节点保持一致。

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      :  Degraded

redistributing      :  No

balanced             :  No

步骤6 如果不满足以上状态,则联系华为工程师处理

5.3准备前置配置文件

步骤1 确认集群OMS主节点上的FusionInsight_SetupTool工具是否存在(一般为oms节点“/opt/FusionInsight_SetupTool/”)。如果不存在,则需要在Support上下载集群对应版本的FusionInsight_SetupTool工具。

步骤2 完成配置文件(preinstall.ini、hostN.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"                                          -----平台类型

5.4执行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.log

You can get more information about the preinstall from /tmp/fi-preinstall.log and /tmp/diskmgt/autopart.log

步骤3 检查格式化分区结果是否与配置的一致

df -h

6.    变更步骤

6.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 ]; 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 "

步骤 以omm用户登录第一个正常的CN节点,关闭MPPDB实例节点下的后台访问连接和应用连接。具体操作如下:

source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

gs_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"

步骤 以omm用户登录第一个正常的CN节点,执行如下命令重启集群。

source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

cm_ctl stop && cm_ctl start

6.2修改重装主机相关文件

步骤1 以omm用户登录主oms节点

步骤2 将node-replace.sh脚本拷贝到/home/omm目录下

步骤3 执行以下命令:

sh node-replace.sh –i hostname

其中hostname为待替换主机的主机名;

6.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.sh

6.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 Build

6.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 start

6.8均衡实例

步骤1 以omm用户登录第一个正常的CN节点,执行:

source /opt/huawei/Bigdata/mppdb/.mppdbgs_profile

步骤2 通过下面的命令检查集群状态为Normal,balanced状态为No时,执行步骤3

cm_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  :  Normal

redistributing : No

balanced       : Yes

 

注意

       如果超过15min以上,仍然达不到上述状态,请联系华为工程师。

6.9确认结果

1)后台集群状态验证

步骤1 以omm用户登录GaussDB A集群的第一个正常的cn节点

步骤2 执行以下命令,启用环境变量

source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

步骤3 执行以下命令,查看GaussDB A集群当前状态

cm_ctl query

如下则为正常

[   Cluster State   ]

 

cluster_state  :  Normal

redistributing : No

balanced       : Yes

2)前台集群状态验证

步骤1 登录FusionInsight Manager

步骤2 单击集群,选择MPPDB,点击实例

步骤3 组件MPPDBServer的“运行状态”显示为“良好”状态

3)客户业务验证

步骤1 验证方案需包括DDL和DML语句

6.10恢复MPPDB软件包

步骤1 以omm用户登录主oms节点,进入/home/omm目录下

步骤2 执行如下命令恢复MPPDB软件包:

sh node-replace.sh –u hostname

其中hostname为待替换主机的主机名;

7.    常见问题

7.1 gs_checkos

步骤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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。