GBase 8a
其他
文章
精选

集群的“管理模式”有哪些(如readonly, maintenance等)?各自适用于什么运维场景?

发表于2026-03-25 10:28:2426次浏览2个评论

GBase 8a MPP Cluster 的 “集群模式” 主要有三种:NORMAL(正常模式)、READONLY(只读模式)RECOVERY(恢复模式)。您提到的 maintenance(维护模式)并非一个独立的官方模式,其功能通常由 READONLY 模式承担。

这三种模式是管理员可以手动切换的操作模式,用于控制整个集群或单个虚拟集群(VC)允许执行的SQL操作类型,以适应不同的运维场景。

一、三种集群模式详解

模式官方名称允许的SQL操作禁止的SQL操作核心目的
NORMAL正常模式所有SQL操作,包括:
• 查询(SELECT
• DML(INSERT/UPDATE/DELETE
• DDL(CREATE/ALTER/DROP
• 数据加载(LOAD DATA
日常生产运行,提供全功能服务。
READONLY只读模式仅允许查询(SELECT所有写操作
• DML、DDL
• 数据加载
安全维护窗口,在变更期间冻结数据,保证查询业务不受影响。
RECOVERY恢复模式不允许任何SQL操作(包括查询)。所有操作数据保护,在执行备份恢复或极端故障修复时,确保集群绝对静止,防止干扰。

二、各模式的适用运维场景

1. NORMAL 模式:默认的生产模式

  • 场景:集群正常对外提供服务,业务可以进行任意读写操作。
  • 运维操作:在此模式下,不建议执行任何会影响数据一致性或服务可用性的重大运维变更(如节点替换、分布表调整)。

2. READONLY 模式:标准的维护与变更模式

这是执行大多数计划内运维操作的首选模式,相当于“维护模式”。其适用场景包括:

  • 集群扩容/缩容:添加或移除节点时,需切换为只读,防止在数据重分布过程中发生并发写入导致不一致。
  • 节点替换:用新节点替换故障节点时,集群会自动或手动进入只读模式。

     

  • 数据备份:执行逻辑备份(如SELECT ... INTO OUTFILE)时,为确保备份数据的一致性视图,可切换为只读。
  • 重大应用发布:在应用版本上线,需要确保数据静止时,短暂切换为只读。

    “在执行扩容、替换或数据备份操作时集群会在一段时间内处于只读模式。”

     

3. RECOVERY 模式:高风险的修复模式

此模式用途专一,仅在特定恢复场景下由高级管理员使用

  • 数据恢复:从备份文件中恢复整个集群或VC的数据。
  • 灾难恢复演练
  • 极端不一致修复:当集群出现严重逻辑错误,需要导入外部修复数据时。
  • 注意:该模式下所有连接和查询都会被拒绝,业务完全中断,使用时必须非常谨慎。

三、如何查看和切换集群模式

1. 查看当前模式

使用 gcadmin showcluster 命令,输出中的 VIRTUAL CLUSTER MODE 字段即为当前模式。

[gbase@node1 ~]$ gcadmin showcluster vc vc1
CLUSTER STATE: ACTIVE
VIRTUAL CLUSTER MODE: NORMAL  # <-- 这里显示当前模式
...

2. 手动切换模式

使用 gcadmin switchmode 命令。

  • 语法gcadmin switchmode <mode> [vc vc_name]

     

    # 将整个集群切换为只读模式
    gcadmin switchmode readonly
    # 将特定VC(vc1)切换为恢复模式
    gcadmin switchmode recovery vc vc1
    # 将集群切换回正常模式
    gcadmin switchmode normal

四、重要关联概念:集群工作状态

需要特别注意,集群模式集群工作状态是两个不同的概念:

  • 集群模式:如上所述,是可控的操作模式。
  • 集群工作状态:由系统自动判定,反映集群健康度,主要有:
    • ACTIVE:健康,可工作。
    • shrinkOnly一种特殊状态,当集群存储容量达到License限制时自动进入。此状态下禁止INSERTLOAD操作,但允许DROP TABLE等释放空间的操作。用户执行show license刷新容量后,状态可能恢复为ACTIVE

       

    • 非ACTIVE:如出现半数以上GCware节点故障等严重问题,集群将无法提供服务。

Active: 表示集群工作正常。shrinkOnly: 集群达到容量限制值后...该状态限制insert和load操作。”

总结与最佳实践

模式切换频率业务影响

运维口诀

NORMAL

默认常驻

“生产跑,全功能。”

READONLY

经常(维护时)查询业务不受影响,写业务暂停

“要变更,先只读。”

RECOVERY

极少

业务完全中断

“动根基,用恢复。”

最佳实践建议

  1. 在执行任何计划内维护(节点变更、备份)前,务必先将集群或目标VC切换为 READONLY 模式。

  2. RECOVERY 模式是“手术室模式”,仅在极端情况下使用,并需提前做好业务通知和预案。

  3. 时刻关注 shrinkOnly 状态,它是对存储容量的保护性状态,需要及时处理。

  4. 模式切换命令通常很快,但应确保在业务低峰期进行。

通过合理运用这三种模式,DBA可以在保障数据安全和服务连续性的前提下,高效地完成各类集群运维任务

评论

登录后才可以发表评论
用户头像
山佳发表于 1个月前
111
流泪猫猫头发表于 1天前
学习了。