mysql NDB 备份失败

mysql NDB 备份失败

我正在尝试像这样中止 NDB 集群上的备份:

ndb_mgm> abort backup 2304081512
Abort of backup 2304081512 ordered

但没有任何变化,备份似乎停滞了:

ndb_mgm> all report backup
Node 2: Backup not started
Node 3: Local backup status: backup 2304081512 started from node 12
 #Records: 1950 #LogRecords: 8705
 Data: 635312 bytes Log: 2676612 bytes
Node 4: Local backup status: backup 2304081512 started from node 12
 #Records: 1768 #LogRecords: 7211
 Data: 522256 bytes Log: 2133088 bytes

如果我尝试启动一个新的,我会收到一个错误,因为备份已经在运行(2304081512):

ndb_mgm> start backup 2304091121 snapshotstart
Connected to Management Server at: 192.168.169.40:1186
Waiting for completed, this may take several minutes
Node 3: Backup request from 12 failed to start. Error: 1302
Backup failed
*  3001: Could not start backup
*        A backup is already running: Permanent error: Application error

除了我在 Node 2 NDB 引擎上收到一条烦人的消息外,所有节点似乎都正常:

2023-04-07 10:31:57 [ndbd] ALERT    -- Node 2: Forced node shutdown completed. Caused by error 2315: 'Node declared dead. See error log for details(Arbitration error). Temporary error, restart node'.

我真的不知道如何摆脱这种困境,我需要帮助

祝好 Julien

答案1

为了将虚拟机升级到 Debian 12(bookworm),我不得不在本周末对该集群进行滚动更新。NDB 备份已停止 3 个月,出于好奇,我在更新后运行了一次,结果……令人惊讶的是,它成功了!

我真的不知道发生了什么,但在每个节点上逐一执行以下任务解决了这个问题:

  • 停止 vrrp 以强制另一个节点上的请求。
  • 停止本地 ndb 和 mysqld 引擎
  • 停止本地 ndb-master
  • 将操作系统升级到最新版本
  • 将操作系统升级至 bookworm
  • 重启虚拟机
  • 启动 ndb、mysqld 和 ndb-master
  • 控制日志并等待复制发生
  • 如果一切正常,则切换到下一个节点

我认为这个答案是不可接受的,但它可能会对处于同样境地的人有所帮助。

(请注意,阻塞备份 2304081512 从所有节点中消失,但我不知道什么时候)

相关内容