暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GaussDB T 1.0.2分布式集群重建备DN

原创 gelyon 2020-03-16
859

查询集群状态时,发现DN是DISCONNECTED状态,并且角色是Standby。

[omm@gaussdb02 ~]$ gs_om -t status Set output to terminal. --------------------------------------------------------------------Cluster Status-------------------------------------------------------------------- az_state : single_az cluster_state : Degraded balanced : true ----------------------------------------------------------------------AZ Status----------------------------------------------------------------------- AZ:AZ1 ROLE:primary STATUS:ONLINE ---------------------------------------------------------------------Host Status---------------------------------------------------------------------- HOST:gaussdb01 AZ:AZ1 STATUS:ONLINE IP:192.168.210.123 HOST:gaussdb02 AZ:AZ1 STATUS:ONLINE IP:192.168.210.124 HOST:gaussdb03 AZ:AZ1 STATUS:ONLINE IP:192.168.210.125 ----------------------------------------------------------------Cluster Manager Status---------------------------------------------------------------- INSTANCE:CM2 ROLE:primary STATUS:ONLINE HOST:gaussdb01 ID:602 INSTANCE:CM1 ROLE:slave STATUS:ONLINE HOST:gaussdb03 ID:601 ---------------------------------------------------------------------ETCD Status---------------------------------------------------------------------- INSTANCE:ETCD1 ROLE:follower STATUS:ONLINE HOST:gaussdb01 ID:701 PORT:22100 DataDir:/app/gaussdb/data/data_etcd INSTANCE:ETCD2 ROLE:follower STATUS:ONLINE HOST:gaussdb02 ID:702 PORT:22100 DataDir:/app/gaussdb/data/data_etcd INSTANCE:ETCD3 ROLE:leader STATUS:ONLINE HOST:gaussdb03 ID:703 PORT:22100 DataDir:/app/gaussdb/data/data_etcd ----------------------------------------------------------------------CN Status----------------------------------------------------------------------- INSTANCE:cn_401 ROLE:no role STATUS:ONLINE HOST:gaussdb01 ID:401 PORT:9009 DataDir:/app/gaussdb/data/data_cn1 INSTANCE:cn_402 ROLE:no role STATUS:ONLINE HOST:gaussdb02 ID:402 PORT:9009 DataDir:/app/gaussdb/data/data_cn2 INSTANCE:cn_403 ROLE:no role STATUS:ONLINE HOST:gaussdb03 ID:403 PORT:9009 DataDir:/app/gaussdb/data/data_cn3 ----------------------------------------------------------------------GTS Status---------------------------------------------------------------------- INSTANCE:GTS1 ROLE:primary STATUS:ONLINE HOST:gaussdb01 ID:441 PORT:13000 DataDir:/app/gaussdb/data/data_gts INSTANCE:GTS2 ROLE:standby STATUS:ONLINE HOST:gaussdb02 ID:442 PORT:13000 DataDir:/app/gaussdb/data/data_gts ---------------------------------------------------------Instances Status in Group (group_1)---------------------------------------------------------- INSTANCE:DB1_1 ROLE:primary STATUS:ONLINE HOST:gaussdb01 ID:1 PORT:15400 DataDir:/app/gaussdb/data/data_dn1 INSTANCE:DB1_2 ROLE:standby STATUS:DISCONNECTED HOST:gaussdb02 ID:2 PORT:15421 DataDir:/app/gaussdb/data/data_dn1 ---------------------------------------------------------Instances Status in Group (group_2)---------------------------------------------------------- INSTANCE:DB2_3 ROLE:primary STATUS:ONLINE HOST:gaussdb02 ID:3 PORT:15400 DataDir:/app/gaussdb/data/data_dn2 INSTANCE:DB2_4 ROLE:standby STATUS:ONLINE HOST:gaussdb03 ID:4 PORT:15421 DataDir:/app/gaussdb/data/data_dn2 ---------------------------------------------------------Instances Status in Group (group_3)---------------------------------------------------------- INSTANCE:DB3_6 ROLE:standby STATUS:ONLINE HOST:gaussdb01 ID:6 PORT:15421 DataDir:/app/gaussdb/data/data_dn3 INSTANCE:DB3_5 ROLE:primary STATUS:ONLINE HOST:gaussdb03 ID:5 PORT:15400 DataDir:/app/gaussdb/data/data_dn3 -----------------------------------------------------------------------Manage IP---------------------------------------------------------------------- HOST:gaussdb01 IP:192.168.210.123 HOST:gaussdb02 IP:192.168.210.124 HOST:gaussdb03 IP:192.168.210.125 -------------------------------------------------------------------Query Action Info------------------------------------------------------------------ HOSTNAME: gaussdb02 TIME: 2020-03-16 15:57:35.172314 ------------------------------------------------------------------------Float Ip------------------------------------------------------------------ HOST:gaussdb01 DB1_1:192.168.210.123 IP: HOST:gaussdb02 DB2_3:192.168.210.124 IP: HOST:gaussdb03 DB3_5:192.168.210.125 IP: [omm@gaussdb02 ~]$ [omm@gaussdb02 ~]$ [omm@gaussdb02 ~]$ zsql / as sysdba -D /app/gaussdb/data/data_dn1/ -q connected. SQL> select instance_name,status from v$instance; INSTANCE_NAME STATUS -------------------- -------------------- DB1_2 OPEN 1 rows fetched. SQL> select name,status,open_status,database_condition,database_role from v$database; NAME STATUS OPEN_STATUS DATABASE_CONDITION DATABASE_ROLE -------------------------------- -------------------- -------------------- ------------------ ------------------------------ GAUSS OPEN READ ONLY DISCONNECTED PHYSICAL_STANDBY 1 rows fetched. SQL> exit [omm@gaussdb02 ~]$
复制

检测WhetherDoFailoverAutomatically参数是true,正常

[omm@gaussdb02 ~]$ cm ctl list | grep WhetherDoFailoverAutomatically WhetherDoFailoverAutomatically = true true Specifies whether to execute failover automatically. [omm@gaussdb02 ~]$
复制

检查主备DN参数正常,重启备DN也无法解决,故重建备DN。

重建备DN

1.停止备DN实例

[omm@gaussdb02 ~]$ [omm@gaussdb02 ~]$ gs_om -t stop -h gaussdb02 -I DB1_2 Stopping instance ========================================= Set output to terminal. 2020-03-16 16:06:49+08:00 [info] Stop [user:root][host:(192.168.179.21)]. 2020-03-16 16:06:49+08:00 [info] Stop Instance DB1_2 on host (gaussdb02). 2020-03-16 16:06:54+08:00 [info] stop (AZ1/gaussdb02/DB1_2) successfully. Successfully stopped instance. ========================================= End stop instance. [omm@gaussdb02 ~]$ [omm@gaussdb02 ~]$ gs_om -t status Set output to terminal. --------------------------------------------------------------------Cluster Status-------------------------------------------------------------------- az_state : single_az cluster_state : Degraded balanced : true ----------------------------------------------------------------------AZ Status----------------------------------------------------------------------- AZ:AZ1 ROLE:primary STATUS:ONLINE ---------------------------------------------------------------------Host Status---------------------------------------------------------------------- HOST:gaussdb01 AZ:AZ1 STATUS:ONLINE IP:192.168.210.123 HOST:gaussdb02 AZ:AZ1 STATUS:ONLINE IP:192.168.210.124 HOST:gaussdb03 AZ:AZ1 STATUS:ONLINE IP:192.168.210.125 ----------------------------------------------------------------Cluster Manager Status---------------------------------------------------------------- INSTANCE:CM2 ROLE:primary STATUS:ONLINE HOST:gaussdb01 ID:602 INSTANCE:CM1 ROLE:slave STATUS:ONLINE HOST:gaussdb03 ID:601 ---------------------------------------------------------------------ETCD Status---------------------------------------------------------------------- INSTANCE:ETCD1 ROLE:follower STATUS:ONLINE HOST:gaussdb01 ID:701 PORT:22100 DataDir:/app/gaussdb/data/data_etcd INSTANCE:ETCD2 ROLE:follower STATUS:ONLINE HOST:gaussdb02 ID:702 PORT:22100 DataDir:/app/gaussdb/data/data_etcd INSTANCE:ETCD3 ROLE:leader STATUS:ONLINE HOST:gaussdb03 ID:703 PORT:22100 DataDir:/app/gaussdb/data/data_etcd ----------------------------------------------------------------------CN Status----------------------------------------------------------------------- INSTANCE:cn_401 ROLE:no role STATUS:ONLINE HOST:gaussdb01 ID:401 PORT:9009 DataDir:/app/gaussdb/data/data_cn1 INSTANCE:cn_402 ROLE:no role STATUS:ONLINE HOST:gaussdb02 ID:402 PORT:9009 DataDir:/app/gaussdb/data/data_cn2 INSTANCE:cn_403 ROLE:no role STATUS:ONLINE HOST:gaussdb03 ID:403 PORT:9009 DataDir:/app/gaussdb/data/data_cn3 ----------------------------------------------------------------------GTS Status---------------------------------------------------------------------- INSTANCE:GTS1 ROLE:primary STATUS:ONLINE HOST:gaussdb01 ID:441 PORT:13000 DataDir:/app/gaussdb/data/data_gts INSTANCE:GTS2 ROLE:standby STATUS:ONLINE HOST:gaussdb02 ID:442 PORT:13000 DataDir:/app/gaussdb/data/data_gts ---------------------------------------------------------Instances Status in Group (group_1)---------------------------------------------------------- INSTANCE:DB1_1 ROLE:primary STATUS:ONLINE HOST:gaussdb01 ID:1 PORT:15400 DataDir:/app/gaussdb/data/data_dn1 INSTANCE:DB1_2 ROLE:standby STATUS:STOPPED HOST:gaussdb02 ID:2 PORT:15421 DataDir:/app/gaussdb/data/data_dn1 ---------------------------------------------------------Instances Status in Group (group_2)---------------------------------------------------------- INSTANCE:DB2_3 ROLE:primary STATUS:ONLINE HOST:gaussdb02 ID:3 PORT:15400 DataDir:/app/gaussdb/data/data_dn2 INSTANCE:DB2_4 ROLE:standby STATUS:ONLINE HOST:gaussdb03 ID:4 PORT:15421 DataDir:/app/gaussdb/data/data_dn2 ---------------------------------------------------------Instances Status in Group (group_3)---------------------------------------------------------- INSTANCE:DB3_6 ROLE:standby STATUS:ONLINE HOST:gaussdb01 ID:6 PORT:15421 DataDir:/app/gaussdb/data/data_dn3 INSTANCE:DB3_5 ROLE:primary STATUS:ONLINE HOST:gaussdb03 ID:5 PORT:15400 DataDir:/app/gaussdb/data/data_dn3 -----------------------------------------------------------------------Manage IP---------------------------------------------------------------------- HOST:gaussdb01 IP:192.168.210.123 HOST:gaussdb02 IP:192.168.210.124 HOST:gaussdb03 IP:192.168.210.125 -------------------------------------------------------------------Query Action Info------------------------------------------------------------------ HOSTNAME: gaussdb02 TIME: 2020-03-16 16:06:58.498366 ------------------------------------------------------------------------Float Ip------------------------------------------------------------------ HOST:gaussdb01 DB1_1:192.168.210.123 IP: HOST:gaussdb02 DB2_3:192.168.210.124 IP: HOST:gaussdb03 DB3_5:192.168.210.125 IP: [omm@gaussdb02 ~]$
复制

2.手动删除备DN1数据库的数据文件、REDO日志以及archive_log。

说明:不要删除目录结构,只删除目录下的文件。否则重建会失败。
假设故障DN备数据目录是/opt/huawei/gaussdb/data_db/dn1。
● 删除数据文件
rm /opt/huawei/gaussdb/data_db/dn1/data/*
● 删除REDO日志
rm /opt/huawei/gaussdb/redo_log/*
● 删除归档文件
rm /opt/huawei/gaussdb/data_db/dn1/archive_log/*
● 如果数据目录下存在bak_process_file文件,则同时清理该文件。
rm /opt/huawei/gaussdb/data_db/dn1/bak_process_file

3.以nomount方式启动备机,注意需要后台进程方式

[omm@gaussdb02 ~]$ [omm@gaussdb02 ~]$ zengine nomount -D /app/gaussdb/data/data_dn1 & [1] 67383 [omm@gaussdb02 ~]$ starting instance(nomount) instance started [omm@gaussdb02 ~]$ [omm@gaussdb02 ~]$ ps -ef|grep zen omm 12870 1 85 14:54 ? 01:10:58 /app/gaussdb/app/zengine/bin/zengine open --datanode -D /app/gaussdb/data/data_dn2 omm 13222 1 14 14:54 ? 00:12:02 /app/gaussdb/app/zengine/bin/zengine mount --gtsnode -D /app/gaussdb/data/data_gts omm 67383 268321 3 16:16 pts/1 00:00:00 zengine nomount -D /app/gaussdb/data/data_dn1 omm 67849 268321 0 16:17 pts/1 00:00:00 grep --color=auto zen omm 402321 1 7 15:14 pts/1 00:04:46 /app/gaussdb/app/zengine/bin/zengine open --coordinator -D /app/gaussdb/data/data_cn2 root 644330 629618 0 16:13 pts/2 00:00:00 tail -f zengine.rlog [omm@gaussdb02 ~]$
复制

4.重建备机

[omm@gaussdb02 ~]$ [omm@gaussdb02 ~]$ zsql / as sysdba -D /app/gaussdb/data/data_dn1/ -q connected. SQL> build database; Succeed. SQL> SQL> SQL> shutdown immediate; Succeed. SQL> exit [1]+ 完成 zengine nomount -D /app/gaussdb/data/data_dn1 [omm@gaussdb02 ~]$
复制

5.重启数据库。

[omm@gaussdb02 ~]$ [omm@gaussdb02 ~]$ gs_om -t start -h gaussdb02 -I DB1_2 Starting instance ========================================= Set output to terminal. 2020-03-16 16:29:46+08:00 [info] Start [user:root][host:(192.168.179.21)]. 2020-03-16 16:29:46+08:00 [info] Start Instance DB1_2 on host (gaussdb02). 2020-03-16 16:29:54+08:00 [info] start (AZ1/gaussdb02/DB1_2) as role(standby) successfully. Successfully started instance. ========================================= End started instance. [omm@gaussdb02 ~]$
复制

6.重建完成后,查询数据库状态是否正常。

[omm@gaussdb02 ~]$ [omm@gaussdb02 ~]$ gs_om -t status Set output to terminal. --------------------------------------------------------------------Cluster Status-------------------------------------------------------------------- az_state : single_az cluster_state : Normal balanced : true ----------------------------------------------------------------------AZ Status----------------------------------------------------------------------- AZ:AZ1 ROLE:primary STATUS:ONLINE ---------------------------------------------------------------------Host Status---------------------------------------------------------------------- HOST:gaussdb01 AZ:AZ1 STATUS:ONLINE IP:192.168.210.123 HOST:gaussdb02 AZ:AZ1 STATUS:ONLINE IP:192.168.210.124 HOST:gaussdb03 AZ:AZ1 STATUS:ONLINE IP:192.168.210.125 ----------------------------------------------------------------Cluster Manager Status---------------------------------------------------------------- INSTANCE:CM2 ROLE:primary STATUS:ONLINE HOST:gaussdb01 ID:602 INSTANCE:CM1 ROLE:slave STATUS:ONLINE HOST:gaussdb03 ID:601 ---------------------------------------------------------------------ETCD Status---------------------------------------------------------------------- INSTANCE:ETCD1 ROLE:follower STATUS:ONLINE HOST:gaussdb01 ID:701 PORT:22100 DataDir:/app/gaussdb/data/data_etcd INSTANCE:ETCD2 ROLE:follower STATUS:ONLINE HOST:gaussdb02 ID:702 PORT:22100 DataDir:/app/gaussdb/data/data_etcd INSTANCE:ETCD3 ROLE:leader STATUS:ONLINE HOST:gaussdb03 ID:703 PORT:22100 DataDir:/app/gaussdb/data/data_etcd ----------------------------------------------------------------------CN Status----------------------------------------------------------------------- INSTANCE:cn_401 ROLE:no role STATUS:ONLINE HOST:gaussdb01 ID:401 PORT:9009 DataDir:/app/gaussdb/data/data_cn1 INSTANCE:cn_402 ROLE:no role STATUS:ONLINE HOST:gaussdb02 ID:402 PORT:9009 DataDir:/app/gaussdb/data/data_cn2 INSTANCE:cn_403 ROLE:no role STATUS:ONLINE HOST:gaussdb03 ID:403 PORT:9009 DataDir:/app/gaussdb/data/data_cn3 ----------------------------------------------------------------------GTS Status---------------------------------------------------------------------- INSTANCE:GTS1 ROLE:primary STATUS:ONLINE HOST:gaussdb01 ID:441 PORT:13000 DataDir:/app/gaussdb/data/data_gts INSTANCE:GTS2 ROLE:standby STATUS:ONLINE HOST:gaussdb02 ID:442 PORT:13000 DataDir:/app/gaussdb/data/data_gts ---------------------------------------------------------Instances Status in Group (group_1)---------------------------------------------------------- INSTANCE:DB1_1 ROLE:primary STATUS:ONLINE HOST:gaussdb01 ID:1 PORT:15400 DataDir:/app/gaussdb/data/data_dn1 INSTANCE:DB1_2 ROLE:standby STATUS:ONLINE HOST:gaussdb02 ID:2 PORT:15421 DataDir:/app/gaussdb/data/data_dn1 ---------------------------------------------------------Instances Status in Group (group_2)---------------------------------------------------------- INSTANCE:DB2_3 ROLE:primary STATUS:ONLINE HOST:gaussdb02 ID:3 PORT:15400 DataDir:/app/gaussdb/data/data_dn2 INSTANCE:DB2_4 ROLE:standby STATUS:ONLINE HOST:gaussdb03 ID:4 PORT:15421 DataDir:/app/gaussdb/data/data_dn2 ---------------------------------------------------------Instances Status in Group (group_3)---------------------------------------------------------- INSTANCE:DB3_6 ROLE:standby STATUS:ONLINE HOST:gaussdb01 ID:6 PORT:15421 DataDir:/app/gaussdb/data/data_dn3 INSTANCE:DB3_5 ROLE:primary STATUS:ONLINE HOST:gaussdb03 ID:5 PORT:15400 DataDir:/app/gaussdb/data/data_dn3 -----------------------------------------------------------------------Manage IP---------------------------------------------------------------------- HOST:gaussdb01 IP:192.168.210.123 HOST:gaussdb02 IP:192.168.210.124 HOST:gaussdb03 IP:192.168.210.125 -------------------------------------------------------------------Query Action Info------------------------------------------------------------------ HOSTNAME: gaussdb02 TIME: 2020-03-16 16:30:05.314843 ------------------------------------------------------------------------Float Ip------------------------------------------------------------------ HOST:gaussdb01 DB1_1:192.168.210.123 IP: HOST:gaussdb02 DB2_3:192.168.210.124 IP: HOST:gaussdb03 DB3_5:192.168.210.125 IP: [omm@gaussdb02 ~]$ [omm@gaussdb02 ~]$ zsql / as sysdba -D /app/gaussdb/data/data_dn1/ -q connected. SQL> select instance_name,status from v$instance; INSTANCE_NAME STATUS -------------------- -------------------- DB1_2 OPEN 1 rows fetched. SQL> select name,status,open_status,database_condition,database_role from v$database; NAME STATUS OPEN_STATUS DATABASE_CONDITION DATABASE_ROLE -------------------------------- -------------------- -------------------- ------------------ ------------------------------ GAUSS OPEN READ ONLY NORMAL PHYSICAL_STANDBY 1 rows fetched. SQL> exit [omm@gaussdb02 ~]$
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论