核心内容摘要
Linux系统下Gemma-3-270m的编译优化实践
目录标题PolarDB-X 集群暂停 / 恢复完整运维文档
背景与基本认知非常重要1️⃣ PolarDB-X 没有传统意义的 shutdown
组件角色与资源形态基于你现场1️⃣ 组件与 K8S 资源映射
组件依赖关系铁律
标准启停顺序必须遵守⏸ 暂停Pause顺序▶ 恢复Resume顺序
为什么 patch PolarDBXCluster replicas0 不生效你现场的真实现象根因
总结
正确且可落地的暂停 / 恢复方案控制策略总览
最终可用脚本适配你当前环境 pxc-control.sh
使用方式
验证检查点强烈建议执行暂停后恢复后
常见误区
总结
运维级结论建议写进团队规范PolarDB-X 集群暂停 / 恢复完整运维文档Kubernetes Operator 场景 · 适配当前环境
背景与基本认知非常重要1️⃣ PolarDB-X 没有传统意义的 shutdownPolarDB-X没有数据库级别的 shutdown / stop 命令。
集群的运行状态完全由 Kubernetes Operator 控制。
因此❌ 不能shutdown database❌ 不能只删 Pod✅ 只能通过K8S 资源Deployment / XStore / CR来“暂停”所谓“暂停”本质是让 Operator 不再运行 CN / DN / GMS / CDC 的 Pod
组件角色与资源形态基于你现场1️⃣ 组件与 K8S 资源映射组件K8S 资源说明CNDeploymentSQL 入口业务连接DNXStore数据节点cand / log 多 PodGMSXStore元数据服务cand / logCDCDeploymentBinlog / 同步组件你现场 Pod 示例已验证polardbx-demo-t8ms-cn-default-xxxx polardbx-demo-t8ms-dn-0-cand-0 polardbx-demo-t8ms-gms-log-0 polardbx-demo-t8ms-cdc-default-xxxx
组件依赖关系铁律GMS ← DN ← CN含义CN 启动前DN GMS 必须可用DN 启动前GMS 必须可用GMS 不依赖任何组件
标准启停顺序必须遵守⏸ 暂停Pause顺序CN → CDC → DN → GMS原因先断业务入口再停数据访问最后冻结元数据▶ 恢复Resume顺序GMS → DN → CN → CDC原因元数据先可用DN 注册完成最后开放业务入口
为什么patch PolarDBXCluster replicas0不生效你现场的真实现象kubectl patch pxc replicas0 → patched (no change) → Pod 一个没少 → PolarDBXCluster 仍显示 Running根因
总结当前 Operator 版本中.spec.topology.*.replicas不是控制入口DN / GMS 实际由 XStore CR 控制Pod label不符合官方示例没有polardbx/rolecn 结论你当前环境不能用 patch pxc 来 pause
正确且可落地的暂停 / 恢复方案控制策略总览组件正确控制方式CNscale DeploymentCDCscale DeploymentDNscale XStoreGMSscale XStore
最终可用脚本适配你当前环境 pxc-control.sh#!/bin/bashset-eCLUSTER$1ACTION$2NS${3:-default}if[[-z$CLUSTER||-z$ACTION]];thenechoUsage:$0cluster-name pause|resume [namespace]exit1fiKkubectl -n$NSpause(){echo Pause PolarDB-X Cluster:$CLUSTERecho[1/4] Stop CN$Kscale deploy\-l polardbx/cluster$CLUSTER,polardbx/componentcn\--replicas0echo[2/4] Stop CDC$Kscale deploy\-l polardbx/cluster$CLUSTER,polardbx/componentcdc\--replicas0||trueecho[3/4] Stop DN (XStore)$Kscale xstore\-l polardbx/cluster$CLUSTER\--replicas0echo[4/4] Stop GMS (XStore)$Kscale xstore\-l polardbx/cluster$CLUSTER,xstore-typegms\--replicas0||trueecho Cluster paused }resume(){echo Resume PolarDB-X Cluster:$CLUSTERecho[1/4] Start GMS$Kscale xstore\-l polardbx/cluster$CLUSTER,xstore-typegms\--replicas3echo[2/4] Start DN$Kscale xstore\-l polardbx/cluster$CLUSTER\--replicas3echo[3/4] Start CN$Kscale deploy\-l polardbx/cluster$CLUSTER,polardbx/componentcn\--replicas2echo[4/4] Start CDC$Kscale deploy\-l polardbx/cluster$CLUSTER,polardbx/componentcdc\--replicas1||trueecho Cluster resumed }case$ACTIONinpause)pause;;resume)resume;;*)echoUnknown action;exit1;;esac
使用方式chmodx pxc-control.sh# 暂停./pxc-control.sh polardbx-demo pause qfusion-admin# 恢复./pxc-control.sh polardbx-demo resume qfusion-admin
验证检查点强烈建议执行暂停后kubectl get pod -n qfusion-admin|greppolardbx-demo预期无 CN / DN / GMS / CDC Pod恢复后kubectl get pod -n qfusion-admin|greppolardbx-demo预期GMS → DN → CN → CDC 依次 Running
常见误区
总结误区正确理解删除 PodOperator 会自动拉起patch pxc replicas0当前环境不支持用 Pod 名控制必须用 label忽略顺序极易引发异常
运维级结论建议写进团队规范**PolarDB-X 的暂停不是数据库命令而是 Operator 行为控制。
不同 Operator 版本控制入口可能不同但启停顺序永远不变。
**如果你愿意下一步我还能继续帮你做三件事之一1️⃣ 把这份文档整理成Markdown / Wiki 版2️⃣ 脚本升级成自动识别 Operator 能力版3️⃣ 补充异常场景 回滚 SOP