1.柯美C364e/284e/224e故障代码
故障重置方法:
等级A: 按住黄色复位键开机,故障重置.
等级B 打开/ 关闭下部前门
等级C 关闭/ 开启主电源开关
C0002 进纸通讯错误C
C0106 纸盒3/LCT 进纸马达在异常的时序旋转B
C0107 纸盒3/LCT 垂直传送马达在异常的时序旋转B
C0108 纸盒4 进纸马达在异常的时序旋转B
C0109 纸盒4 垂直传送马达在异常的时序旋转B
C0204 纸盒2 进纸器升/ 降异常B
C0202 纸盒1 进纸器升/ 降异常B
C0206 纸盒3 提升故障B
C0208 纸盒4 提升故障B
C0210 LCT 提升故障B
C0211 手送纸盒升/ 降异常B
C0214 LCT 移位故障B
C1004 FNS 通讯错误< 安装了FS-533,FS-534 或JS-506 时> C
C1081 SD 通讯错误< 安装了FS-534+SD-511 时> C
C1102 主纸盘升/ 降马达驱动故障< 安装了FS-533或FS-534 时> B
C1103 对齐板马达/ 前故障< 安装了FS-533 或FS-534 时> B
C1105 纸叠出纸马达驱动故障< 安装了FS-534 时>B
C1106 装订器移动马达故障< 安装了FS-533 或FS-534时> B
C1109 装订器马达驱动故障< 安装了FS-533 或FS-534时> B
C1112 装订器马达故障< 安装了FS-534+SD-511 时> B
C1113 中央装订主缘止动器马达故障<安装了FS-534+SD-511时> B
C1114 中央装订前部调整驱动马达故障< 安装了FS-534+SD-511时>B
C1115 中央装订刀驱动马达故障< 安装了FS-534+SD-511 时> B
C1132 打孔驱动马达故障<安装了FS-533+PK-519或FS-534+PK-520 时>B
C1140 对齐板马达/ 后故障< 安装了FS-533 或FS-534 时> B
C1141 叶片马达驱动故障< 安装了FS-534 时>B
C1144 预出纸驱动马达故障< 安装了FS-534 时>B
C1145 尾缘止动器马达故障< 安装了FS-534 时>B
C1156 中央装订叶片辊马达故障( 尾缘)< 安装了FS-534+SD-511时>B
C1182 移位马达驱动故障< 安装了JS-506 时>B
C1184 出纸控制马达故障< 安装了FS-534 时>B
C1195 出纸控制马达故障< 安装了FS-534+SD-511 时> B
C1196 中央折叠辊马达故障< 安装了FS-534+SD-511 时> B
C1197 三折叠导板马达故障< 安装了FS-534+SD-511 时> B
C11A1 出纸辊加压/ 缩回故障< 安装了FS-533时> B
C11A2 存纸辊加压/ 缩回故障< 安装了FS-534时> B
C11E1 出纸切换驱动故障< 安装了FS-534 时>B
C1402 FS 非易失性存储器错误< 安装了FS-533 时>C
C2152 转印带加压缩回B
C2253 PC 马达无法旋转B
C2254 PC 马达在异常的时序旋转B
C2255 显影马达无法旋转B
C2256 显影马达在异常的时序旋转B
C2355 转印带清洁器冷却风扇无法旋转B
C2411 显影单元/C 计数器清零B
C2412 显影单元/M 计数器清零B
C2413 显影单元/Y 计数器清零B
C2414 显影单元/K 计数器清零B
C2551 青色TCR 传感器检测到碳粉浓度异常低B
C2552 青色TCR 传感器检测到碳粉浓度异常高B
C2553 品红色TCR 传感器检测到碳粉浓度异常低B
C2554 品红色TCR 传感器检测到碳粉浓度异常高B
C2555 黄色TCR 传感器检测到碳粉浓度异常低B
C2556 黄色TCR 传感器检测到碳粉浓度异常高B
C2557 黑色TCR 传感器检测到碳粉浓度异常低B
C2558 黑色TCR 传感器检测到碳粉浓度异常高B
C2559 青色TCR 传感器调整故障B
C255A 品红色TCR 传感器调整故障B
C255B 黄色TCR 传感器调整故障B
C255C 黑色TCR 传感器调整故障B
C2561 青色TCR 传感器故障B
C2562 品红色TCR 传感器故障B
C2563 黄色TCR 传感器故障B
C2564 黑色TCR 传感器故障B
C2650 主备份介质访问错误C
C2A11 感光鼓单元/C 计数器清零故障B
C2A12 感光鼓单元/M 计数器清零故障B
C2A13 感光鼓单元/Y 计数器清零故障B
C2A14 感光鼓单元/K 计数器清零故障B
C3101 定影辊分离故障B
C3201 定影马达无法旋转B
C3202 定影马达在异常的时序旋转B
C3302 纸张冷却风扇无法旋转B
C3425 定影预热故障A
C3722 检测到异常定影高温( 加热侧边缘) A
C3725 检测到异常定影高温( 加热侧主要区域) A
C3726 检测到异常定影高温( 加热侧中央) A
C3825 检测到异常定影低温( 加热辊的主要区域) A
C3826 检测到异常定影低温( 加热辊中央) A
C3922 检测到定影传感器电线断开( 加热辊边缘) A
C3925 检测到定影传感器电线断开( 加热辊中央) A
C3926 检测到定影传感器电线断开( 加热辊中间) A
C392A 不可检测
C4091 I/F 通讯错误C
C4101 多棱镜马达旋转故障B
C4501 激光器故障B
C4801 主机电路板故障C
C4802 主机备份数据对比错误C
C5102 传送马达无法旋转B
C5103 传送马达在异常的时序旋转B
C5351 电源冷却风扇马达无法旋转B
C5354 臭氧风扇无法旋转B
C5355 碳粉瓶冷却风扇无法旋转B
C5370 机器后侧冷却风扇无法旋转C
C5372 MFP 控制电路板CPU 温度故障C
C5501 AC 信号异常C
C5601 引擎控制故障C
C5603 扩展控制电路板通讯错误C
C6001 DF 相关配置错误1 C
C6002 DF 相关配置错误2 C
C6102 驱动系统原位传感器故障B
C6103 滑块超限运行B
C6104 后侧清洁原位传感器异常( 初始) B
C6105 后侧清洁原位传感器异常( 正常) B
C6301 不可检测
C6704 图像输入超时C
C6751 CCD 钳位/ 增益调整故障B
C6752 ASIC 时钟输入错误( 正面) C
C6753 ASIC 时钟输入错误( 反面) C
C6754 CIS 钳位调整故障B
C6755 CIS 增益调整故障B
C6756 CCD 电源电压异常C
C6901 DSC 电路板安装故障1 C
C6902 DSC 电路板总线检查NG1-1 C
C6903 DSC 电路板总线检查NG1-2 C
C6911 DSC 电路板安装故障2 C
C6912 DSC 总线检查NG2-1 C
C6913 DSC 总线检查NG2-2 C
C6F01 扫描器序列故障1 C
C8101 读取加压缩回前机构< 安装了DF-624 或DF-701时> B
C8107 稿台清洁机构故障< 安装了DF-624 或DF-701时> B
C8302 冷却风扇故障< 安装了DF-624 或DF-701时> B
C8401 数据闪存故障C
C9401 曝光LED 亮起故障A
C9402 曝光LED 亮起故障A
C9403 CIS LED 亮起故障A
C9404 CIS LED 亮起故障A
CA051 标准控制器配置故障C
CA052 控制器硬件错误C
CA053 控制器启动故障C
CB001 传真板错误1 C K.8.1.B0##
CB002 传真板错误2 C
CB003 传真板错误3 C
CB051 传真板安装故障线路1 C
CB052 传真板安装故障线路2 C
CB110 传真驱动程序错误: 实例生成错误或观察注册错误C
CB111 传真驱动程序错误: 配置空间初始化异常C
CB112 传真驱动程序错误: 信号获取, 释放错误C
CB113 传真驱动程序错误: 主机任务中序列错误C
CB114 传真驱动程序错误: 信息队列控制错误C
CB115 传真驱动程序错误: 主机- 传真板中序列错误C
CB116 传真驱动程序错误: 传真板未响应( 初始化后未响应) C
CB117 传真驱动程序错误:ACK 等待超时错误C
CB118 传真驱动程序错误: 接收未定义的帧C
CB119 传真驱动程序错误:DMA 传送错误C
CB120 JC 软错误C
CB122 设备错误(GA LOCAL SRAM) C
CB123 设备错误(DRAM) C
CB125 设备错误(GA) C
CB126 暂停处理期间, 由于未从DC 收到响应, 从而导致超时错误C
CB127 暂停处理期间, 由于未从CC 收到响应, 从而导致超时错误C
CB128 暂停处理期间, 由于未从LINE 收到响应, 从而导致超时错误C
CB130 MIF 驱动程序错误: 驱动程序软错误C
CB131 MIF 驱动程序错误: 从主机接收的帧长度错误C
CB132 MIF 驱动程序错误: 从主机接收的帧报头错误C
CB133 MIF 驱动程序错误:232C 接口序列错误C
CB134 MIF 驱动程序错误:DPRAM 接口序列错误C
CB135 MIF 驱动程序错误:DPRAM CTL/STL 寄存器错误C
CB136 MIF 驱动程序错误:ACK 等待超时C
CB137 MIF 驱动程序错误:DPRAM RESET(DPRAM 重置) 接收C
CB140 JC 的MSG 接口错误C
CB141 主机接口错误: 驱动程序接口错误C
CB142 主机接口错误: 未定义命令接收C
CB143 主机接口错误: 命令帧长度错误C
CB144 主机接口错误: 命令参数长度错误C
CB145 主机接口错误: 未定义的参数C
CB146 主机接口错误: 命令/ 响应序列错误C
CB150 线路控制: 获取外部分类范例错误C
CB151 线路控制: 作业开始错误( 开始作业参数错误/ 子作业生成错误)C
CB152 线路控制:Doc 访问错误( 报告缓存访问错误)C
CB153 线路控制: 来自外部任务的响应等待超时C
CB154 线路控制: 内部队列表控制错误( 创建/ 入队列/ 出队列) C
CB160 1 目的地控制: 范例生成错误C
CB161 1 目的地控制: 超时错误C
CB162 1 目的地控制: 接口错误C
CB163 1 目的地控制: 信息队列控制错误C
CB164 1 目的地控制: 信号获取, 释放错误C
CB165 1 目的地控制: 观察注册错误C
CB166 1 目的地控制: 接收源检查错误C
CB167 1 目的地控制: 发送图像信息部署错误C
CB168 1 目的地控制: 接收图像序列化错误C
CB169 1 目的地控制: 快速内存数据访问错误C
CB170 页面控制: 内部队列表控制错误( 创建/ 入队列/ 出队列) C
CB171 页面控制: 范例生成错误C
CB172 页面控制: 超时错误C
CB173 页面控制: 接口错误C
CB174 页面控制: 信号获取, 释放错误C
CB175 页面控制: 观察注册错误C
CB176 页面控制: 无法检查TTI 域C
CB177 页面控制: 从TTI 光栅器返回错误C
CB178 页面控制: 接收作业生成错误C
CB179 页面控制: 序列控制错误C
CB185 页面控制:接收数据大小逻辑错误(接收数据不是点行的倍数) C
CB186 页面控制: 输入缓存获取( 分配) 错误C
CB187 页面控制: 从压缩程序返回错误C
CB188 页面控制: 带缓冲控制错误(newInstance/get/free) C
CB190 USB IF 错误( 从睡眠恢复或安装之后, 配置设置期间操作系统通知错误.)C
CB191 USB IF 错误(EndPoint1: Bulk Out( 命令, 传送图像数据))(错误重试1 分钟超时)C
CB192 USB IF 错误(EndPoint2: Bulk In( 响应, 接收图像数据))( 错误重试5 秒超时)C
CB193 USB IF 错误(EndPoint3: Interrupt In( 传真板状态))( 错误重试1 分钟超时)C
CB194 USB IF 错误(EndPoint4: Bulk Out( 主电路板状态))( 错误重试3 秒超时)C
CB195 USB IF 错误( 从睡眠恢复后1 分钟内没有检测到安装)C
CB196 USB IF 错误( 从睡眠恢复后1 分钟内没有检测到卸载)C
CC001 投币机连接故障C
CC140 安全相关故障C
CC151 启动时ROM 内容错误(MSC) C
CC152 启动时ROM 内容错误( 扫描器) C
CC155 排纸处理器ROM 错误< 安装了FS-533或FS-534 时> C
CC156 DF ROM 错误< 安装了DF-624 或DF-701时> C
CC159 启动时ROM 内容错误(DSC1) C
CC15A 启动时ROM 内容错误(DSC2)< 安装了DF-701 时> C
CC15B 闪存ROM 错误( 鞍座)< 安装了SD-511 时> C
CC15C 引擎闪存ROM 写入故障C
CC163 ROM 内容错误(PRT) C
CC164 ROM 内容错误(MSC) C
CC165 ROM 内容错误(DF) C
CC170 启动期间的动态链接错误(AP0) C
CC174,CC180,CC181,CC182,CC183,C
C184,CC185,CC186
CC171 启动期间的动态链接错误(AP1) C
CC172 启动期间的动态链接错误(AP2) C
CC173 启动期间的动态链接错误(AP3) C
CC174 启动期间的动态链接错误(AP4) C
CC180 启动期间的动态链接错误(LDR) C
CC181 启动期间的动态链接错误(IBR) C
CC182 启动期间的动态链接错误(IID) C
CC183 启动期间的动态链接错误(IPF) C
CC184 启动期间的动态链接错误(IMY) C
CC185 启动期间的动态链接错误(SPF) C
CC186 启动期间的动态链接错误(OAP) C
CC190 轮廓字体载入错误C
CC191 设置参数载入错误(LDR) C
CC211 认证设备一般错误C
CC212 用户验证错误C
CC213 用户注册错误卡信息设置错误C
CC214 用户信息删除错误C
CC215 不可检测
CC216 尝试次数获取失败/ 认证次数初始化错误C
CD002 JOB RAM 保存错误C
CD004 硬盘访问错误( 连接故障) C
CD00F 硬盘数据传输错误C
CD010 硬盘未格式化C
CD011 安装的硬盘不符合规格C
CD020 硬盘验证错误C
CD030 硬盘管理信息读取错误C
CD041 硬盘命令执行错误C
CD042 C D045,CD046
CD043 C
CD044 C
CD045 C
CD046 C
CD047 硬盘SCSI库错误C
CD048 C CD04B
CD049 C
CD04A C
CD04B C
CD110 无限局域网目的地初始化错误C
CD201 文件内存安装错误C
CD202 内存容量冲突C
CD203 内存容量冲突2 C
CD211 PCI-SDRAM DMA 操作故障C
CD212 检测到压缩/ 提取超时C
CD231 不可检测
CD241 加密ASIC 设置错误C
CD242 加密ASIC 安装错误C
CD251 不可检测
CD252 设置了IC-414 安装时没有安装IC-414 中继电路板C
CD261 USB 主机板故障C
CD262 扩展网络适配器安装错误C
CD271 i-Option 被激活, 但没有安装附加存储器. C
CD272 i-Option 被激活, 但没有安装附加存储器和硬盘. C
CD3## 非易失性数据错误-
CD370 多个非易失性数据错误-
CD390 非易失性数据校验和错误C
CD3A0 计数器错误C
CD401 NACK 命令错误C
CD405,CD406,CD407,CD411,CD412,C
D413
CD402 ACK 命令错误C
CD403 校验和错误C
CD404 接收数据包错误C
CD405 接收数据包分析错误C
CD406 ACK 接收超时C
CD407 重新发送超时C
CD411 触摸面板电路板错误C
CD412 触摸面板类型不匹配C
CD413 静电触摸面板操作模式错误C
CDC## 安全相关故障-
CDF50 ASIC 图像版本故障C
CDF51 ASIC 图像版本故障( 反面)< 安装了DF-701 时> C
CDF70 ASIC 图像访问故障C
CDF71 ASIC 图像访问故障( 反面)< 安装了DF-701 时> C
CDFA0 ASIC 图像错误C
CDFA1 ASIC 图像错误( 反面)< 安装了DF-701 时> C
CE001 异常信息队列C
CE002 信息和方法参数错误C
CE003 任务错误C
CE004 事件错误C
CE005 内存访问错误C
CE006 文件头访问错误C
CE007 DIMM 初始化错误C
CE101 检测到浏览器完成C
CE201 发送操作日志存储故障C
CE301 参照错误的存储器C
CE302 命令错误C
CE303 因Qt 库内部错误而结束C
CE304 因Qt 库外部错误而结束C
CE305 程序强制停止C
CEEE1 MFP 电路板故障C
CEEE2 扫描器部故障A
CEEE3 打印控制板故障A
2.如何解决在STM32F103移植FreeRTOS时遇到的链接错误L6002U?
当在移植FreeRTOS时,可能会遇到链接错误L6002U,这是由于缺少头文件、链接脚本配置不正确、编译器设置不正确、库文件未正确链接或FreeRTOSConfig.h文件配置参数未正确定义等原因所导致的。为解决这些问题,需要确保包含必要的头文件和源文件,正确配置链接脚本和编译器设置,正确链接库文件,以及正确定义FreeRTOSConfig.h文件中的配置参数。
L6002U是一个链接错误,表示您的代码中存在未定义的符号。当链接器无法找到您的代码试图使用的符号的定义时,就会发生这种情况。
为了解决此问题,您可以尝试以下步骤:
1、确保您已在项目中包含了所有必要的FreeRTOS头文件和源文件。检查您是否在使用FreeRTOS API的所有源文件中都包含了FreeRTOS.h头文件。
2、检查您已正确配置项目的链接脚本。链接脚本负责为程序的不同部分分配内存,包括堆栈和堆。如果您的项目需要,可能需要修改链接脚本以为FreeRTOS分配更多的内存。
3、确保您已正确配置项目的编译器设置。检查您是否启用了适当的优化设置,并指定了正确的处理器架构。
4、如果您使用了第三方库导致链接错误,请确保您已在项目中正确链接该库。
5、检查您是否在FreeRTOSConfig.h中正确定义了所有必要的配置参数。该文件包含FreeRTOS的配置选项,例如优先级级别数量和堆栈大小。
如果您在移植FreeRTOS时遇到了链接错误 L6002U,这可能是由于以下几个原因造成的:
1、缺少必要的头文件或源文件,导致编译器无法找到所需的符号定义。
2、链接脚本未正确配置,导致链接器无法为FreeRTOS分配足够的内存。
3、编译器设置未正确配置,例如处理器架构错误或未启用适当的优化设置。
4、与FreeRTOS相关的库文件未正确链接,导致链接器无法找到所需的符号定义。
5FreeRTOSConfig.h 中的配置参数未正确定义,导致链接器无法找到所需的符号定义。
为了解决这些问题,您可以尝试以下步骤:
1、检查您的代码中是否包含必要的头文件和源文件,包括 FreeRTOS.h 和 FreeRTOSConfig.h 文件。确保这些文件中包含了所需的符号定义。
2、检查链接脚本是否正确配置,以确保 FreeRTOS 分配了足够的内存。您可以根据项目需求修改链接脚本中的内存分配。
3、确认编译器设置正确,包括处理器架构和优化设置。确保编译器设置与您的目标硬件平台相匹配。
4、如果使用了与 FreeRTOS 相关的库文件,请确保正确链接这些库文件。如果您使用的是第三方库,则需要检查库文件是否正确设置。
5、确认 FreeRTOSConfig.h 中的配置参数已正确定义。这些参数会影响 FreeRTOS 的行为,包括堆栈大小、优先级等级数等。
3.如何解决Keil编译报错axf:error:L6002U:could not open file?
Keil的“axf:error:L6002U:could not open file”错误通常是因为Keil无法找到指定的文件,导致编译失败。解决方法包括检查文件路径、确认文件是否存在、检查库文件路径、检查链接脚本文件、重新构建工程或清除缓存。
这个问题通常发生在Keil工程中引用的文件无法找到或路径设置不正确的情况下。您可以按照以下步骤进行排除:
1、确认您的文件路径是否正确,特别是在用到相对路径的情况下,需要注意相对路径的基准路径是什么。
2、确认您的文件是否存在,如果不存在或者文件名错误,也会导致该错误。
3、如果您使用了库文件,确认库文件是否正确设置了路径和名称。
4、如果您使用了自定义的链接脚本文件,确认链接脚本文件是否正确设置了路径和名称。
5、如果以上步骤都没有解决问题,您可以尝试重新构建工程或者清除工程缓存。
Keil是一种嵌入式开发工具,提供了许多功能,包括代码编辑、编译、调试等。在使用Keil进行开发时,有时候会遇到一些错误和警告信息,需要我们进行排查和解决。其中,常见的错误之一就是“axf:error:L6002U:could not open file”,这个错误信息通常会包含“致命错误”的字样,让人感到比较棘手。
这个错误信息的意思是Keil无法找到指定的文件,从而导致编译失败。解决这个问题的方法通常有以下几种:
1、检查文件路径:首先,我们需要检查文件路径是否正确。在Keil工程中,文件路径通常包含相对路径和绝对路径两种。相对路径是相对于工程文件所在的目录来说的,而绝对路径则是从根目录开始的完整路径。如果文件路径设置不正确,Keil就无法找到指定的文件,从而导致编译失败。
2、确认文件是否存在:如果文件路径设置正确,但是Keil仍然无法找到文件,可能是因为该文件不存在或者文件名错误。我们需要确认文件是否存在,并检查文件名的拼写是否正确。
3、检查库文件路径:如果工程中使用了库文件,需要确认库文件的路径设置是否正确。如果库文件路径设置不正确,Keil就无法找到库文件,从而导致编译失败。
4、检查链接脚本文件:如果工程中使用了自定义的链接脚本文件,需要确认链接脚本文件的路径设置是否正确。如果链接脚本文件路径设置不正确,Keil就无法找到链接脚本文件,从而导致编译失败。
5、重新构建工程或清除缓存:如果以上方法都无法解决问题,可以尝试重新构建工程或清除工程缓存。重新构建工程可以清除编译过程中的缓存文件,从而重新编译所有文件。清除缓存可以清除Keil的临时文件和缓存文件,从而避免一些错误和警告信息的出现。
4.GaussDB(分布式)实例故障处理
本文分享自华为云社区《GaussDB(分布式)实例故障处理-云社区-华为云》,作者:subverter。
一、说明
GaussDB Kernel实例出现故障时,可以按照本节的办法进行实例快速修复。
1、执行gs_om -t status --detail查看集群状态,cluster_state为Normal,balanced为No,请重置实例状态。
2、执行gs_om -t status --detail查看集群状态,cluster_state为Degraded,表示有实例异常,但是集群依然可以正常对外提供服务。此时,虽然不影响业务运行,但是主备实例切换将加重某些节点上的工作负载,时间久了,可能带来这些对应节点上的资源耗尽,进而影响业务运行。因此集群处于Degraded状态时,建议尽快定位,使集群恢复至Normal状态。GaussDB Kernel提供了如下办法,协助用户在操作系统和硬件正常时的实例快速修复。
3、CN实例异常,优先通过删除CN和增加CN进行实例恢复。
4、各类实例异常的通用办法——修改HOSTNAME、IP和端口号。
二、重置实例状态
1、操作场景
集群在运行过程中,如果发生了主机或某些实例故障,集群管理模块会自动将备实例提升为主实例继续提供服务;或是由于数据库集群管理人员手工进行过主备切换操作后,使当前集群各主机上运行的主实例(GTM,DN)数不均等,造成集群负载不均衡,即集群“balanced”状态为"No"。这种情况下可以通过集群管理命令将集群中的数据库实例恢复为初始配置的主备状态。
存在实例异常时,需要先将实例修复后,才能进行重置。
2、处理方法
1.以操作系统用户omm登录数据库集群任一主机。
2.查询并确认集群运行状态及“balanced”状态。
“cluster_state”为“Normal”表示集群运行正常。“balanced”状态为“No”表示集群实例发生过主备切换。
gs_om -t status --detail
3.使用如下命令查看集群状态确认是哪些节点上的实例发生过主备切换。
gs_om -t status --detail
例如下面示例中,node2节点上的主dn2发生过主备切换。该DN原始为主DN(“state”中的字母“P”代表其初始为Primary DN),当前切换成了备DN(“state ”状态变成了“Standby Normal”)。
4.使用如下命令将集群中发生切换的实例恢复为初始配置的主备状态。
gs_om -t switch --reset --time-out=300
300为切换的等待时间,单位为s。切换后集群的“balanced”状态变为“Yes”。
3、示例
查询当前发生过切换的实例。
gs_om -t switch Operation: Switch query. [ GTM State ] node instance state -------------------------------------------------------------------- (no need to switchover gtm) [ Datanode State ] node node_ip instance state | node node_ip instance state | node node_ip instance state -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- AZ1 1 plat1 192.168.0.11 6001 /gaussdb/data/data_dn1 P Standby Normal | 2 plat2 192.168.0.12 6002 /gaussdb/data/data_dnS1 S Primary Normal | 3 plat1 192.168.0.13 3002 /gaussdb/data/data_dnDS1 R Secondary Normal Operation succeeded: Switch query.
若实例未发生过主备切换,则查询结果中会显示“no need to switchover xxx”。否则,则有实例发生过主备切换。例如,上例中通过查询发现有一组主备DN都发生过切换。将发生切换的实例恢复为初始配置的主备状态。
gs_om -t switch --reset --time-out=300 Operating: Switch reset. cm_ctl: cmserver is rebalancing the cluster automatically. ...... cm_ctl: switchover successfully. Operation succeeded: Switch reset.
4、错误排查
如果重置实例状态失败,请根据日志文件中的日志信息排查错误。
如果指定的超时时间到达后,仍然有某些实例没有完成状态切换,可以根据提示,执行3查看切换实例的当前状态,然后设置更长的时间再次执行或者通过log查看切换失败的原因。重置操作的默认超时时间为300s。
三、处理CN异常
集群部署多个CN同时对外提供服务,CN的角色是对等的,即执行DML语句时连接到任何一个CN都可以得到一致的结果。而DDL语句需要在所有CN上都执行完成,以保持数据库对象定义一致。如果其中一个CN发生故障,整个集群将无法执行DDL语句,直到故障CN被修复或剔除。
如果只有CN异常,使用gs_replace工具可以快速将故障CN替换为正常CN。具体请参见修复故障实例。
如果因网络无法连接、硬件故障造成操作系统无法登录等,短时间内无法恢复CN,又希望集群尽快恢复DDL执行能力,可以先手动删除故障CN。待DDL业务完成后,再通过增加CN功能将CN加回。
GaussDB Kernel也提供了CN自动剔除功能,此功能默认开启,开启和关闭方式请参见自动剔除故障CN。通过设置coordinator_heartbeat_timeout为具体的时间值,则CN故障超过此时间值后GaussDB Kernel将自动剔除故障CN。
多AZ多集群部署结构下:
- AZ的拓扑结构应当保持相同(由运维人员保证),应当对所有集群进行同样的增删CN操作,成功后集群再开始同步操作。
- CN部署结构变化,可能将引起Roach做全量同步,具体以Roach的约束为准
- 增删CN开始时,会自动停止Roach的自动同步操作,完成或者回滚后,需要用户手动恢复自动同步配置。
1、删除CN
1.1 操作场景
在集群运行过程中,CN发生故障后,整个集群将无法执行DDL操作。因此,如果CN发生故障且无法快速修复时,可以使用gs_om中的managecn把故障CN从数据库集群中删掉,从而使集群可以快速恢复正常工作。
1.2 注意事项
- “cluster_state”为“Unavailable”时,将无法执行删除CN操作。
- 一次仅允许删除一个CN。
- 如果因CN故障造成集群处于Degraded状态,此时如果执行删除CN操作,必须先删除因故障被剔除的CN,之后才能删除其他CN。
- 若已开启CN自动剔除功能,CM会自动将故障CN剔除,即从pgxc_node中删掉,这样DDL可以正常执行。CN被自动剔除后,不会再被拉起,必须删除CN或通过实例替换、节点替换、温备修复,才能进行扩容、升级等其他操作。
- 删除CN前不能锁定集群,不能执行其他运维及变更类操作。
- 删除完成后集群中至少剩余一个正常的CN。
- 数据库安装用户有足够的权限将新xml文件分发到所有主机的相同目录下。
- 在执行删除CN操作时,建议不要进行数据增删改等DML操作以及DDL操作,以避免数据的丢失。
- 在删除CN操作时,执行删除命令的节点不能是要删除的CN节点。
- 单CN的集群不支持继续缩容操作。
- 3CN以下的集群不建议进行缩容操作,避免缩容过程中或结束后因为CN故障导致集群功能不可用。
- 部署kerberos情况下,同时缩容kerberos server主备ip所在的cn会导致集群异常。
1.3 处理方法
1.以操作系统用户omm登录数据库集群任一主机。
如果所登录的主机因网络或操作系统等故障无法登录,请更换为登录另一集群主机。
2.修改集群XML配置文件clusterconfig.xml。
请将要删除CN对应主机上的cooNum值从1改为0。
<!-- cn --> <PARAM name="cooNum" value="0"/> <PARAM name="cooPortBase" value="8000"/> <PARAM name="cooDir1" value="/gaussdb/data/coordinator"/>
3.使用gs_om工具脚本执行删除CN操作。
gs_om -t managecn -m delete -X /opt/software/GaussDB_Kernel/clusterconfig.xml
1.4 示例
删除集群内部节点上的CN实例。
gs_om -t managecn -m delete -X /opt/software/GaussDB_Kernel/clusterconfig.xml Checking the cluster configuration difference. Successfully checked the cluster configuration difference. Checking the cluster status. Successfully checked the cluster status. Distributing the XML configuration file to all nodes. Successfully distributed the XML configuration file. Creating backup directory. Successfully created backup directory. Backing up cluster configuration. Successfully backed up cluster configuration. Modifying static configuration files. Static configuration file's modification is completed. Locking cluster. Successfully locked cluster. Dropping pgxc_node catalog. Successfully dropped pgxc_node catalog. Configuring pg_hba on all nodes. Unlocking cluster. Successfully unlock cluster. Waiting for cluster status to become Normal or Degraded. . The cluster status is Normal. Deleting the CN instance. Successfully cleaned CN instance.
集群运行过程中,某个含有CN的节点损坏短时间内无法修复(网络无法连接、硬件故障造成操作系统无法登录等),此时会造成其他CN无法执行业务,造成业务中断。此时,可以选择进行节点替换,但耗时较长,为了尽可能的快速恢复业务,可以执行对该节点上的CN删除。以故障节点为SIA1000022048为例:
gs_om -t managecn -m delete -X /opt/software/GaussDB_Kernel/clusterconfig.xml Checking the cluster configuration difference. Successfully checked the cluster configuration difference. Warning: Failed to connect to the node SIA1000022048. Checking the cluster status. Successfully checked the cluster status. Distributing the XML configuration file to all nodes. Successfully distributed the XML configuration file. Creating backup directory. Successfully created backup directory. Backing up cluster configuration. Successfully backed up cluster configuration. Modifying static configuration files. Static configuration file's modification is completed. Locking cluster. Successfully locked cluster. Dropping pgxc_node catalog. Successfully dropped pgxc_node catalog. Configuring pg_hba on all nodes. Successfully configured pg_hba on all nodes. Unlocking cluster. Successfully unlock cluster. Waiting for cluster status to become Normal or Degraded. ........... The cluster status is Degraded. Manage CN is completed.
如果执行完删除节点SIA1000022048的CN后,该节点又从故障中恢复,此时该节点上记录的集群信息为删除CN前的,造成该节点与真实的集群信息不相同,因此需要对该节点执行如下操作,以保障集群信息的统一。
调用gs_om -t generateconf -X /opt/software/GaussDB_Kernel/clusterconfig.xml ,用最新的集群配置文件重新生成各节点的静态配置文件,并覆盖此节点上的静态配置文件。 调用gs_om -t stop -h SIA1000022048和gs_om -t start -h SIA1000022048对该节点进行重启,使得新的集群配置信息生效。 手动删除节点SIA1000022048上的CN数据目录(选做)。
2、增加CN
2.1 操作场景
当集群中的CN数量无法承载业务运行压力时,可以通过gs_om的managecn功能给集群增加CN。同时,如果CN因故障被删除后,可以使用增加CN功能将其加回。
2.2 前提条件
- 增加CN需要集群处于Normal状态。
- 在已有主机上增加CN,需要提前创建CN的数据目录、日志目录。
- 在新增主机上增加CN,需要在配置文件中新增新主机的CM路径并使用gs_preinstall工具准备好新主机的环境。
- 需要在一个状态正常的主机上执行操作。
2.3 注意事项
- 一次仅允许增加一个CN。
- 增加CN前不能锁定集群,不能执行引起集群状态或结构变化的其他运维操作。
- 数据库安装用户有足够的权限将新xml文件分发到所有主机的相同目录下。
- 增加CN过程中集群可以执行业务,特别说明:由于过程中会短暂锁集群,锁集群后用户下发的包含显式启动事务的DDL语句会出现等待,集群解锁后会报错或等待时间超过20分钟会报错。如包含创建临时表操作,在集群解锁后会报错(Don’t support temp table when need reconnect pooler)。
- 增加、删除CN过程中系统将关闭“自动剔除故障CN”功能,在完成后系统再次打开该功能。
2.4 处理方法
1.以操作系统用户omm登录数据库集群任一主机。
2.修改集群XML配置文件clusterconfig.xml。
在已有主机上新增CN,请将要增加CN对应主机上的cooNum值从0改为1。
<!-- cn --> <PARAM name="cooNum" value="1"/> <PARAM name="cooPortBase" value="8000"/> <PARAM name="cooDir1" value="/gaussdb/data/coordinator"/>
在新增主机上增加CN,要求该主机上只能配有CN,不能包含DN、GTM、CM Server及ETCD。如下以增加集群外的主机SIA1000056772上的CN为例:
<!-- SIA1000056772的实例部署信息 --> <DEVICE sn="1000002"> <PARAM name="name" value="SIA1000056772"/> <PARAM name="backIp1" value="10.180.122.136"/> <PARAM name="sshIp1" value="10.180.122.136"/> <!--cmserver--> <PARAM name="cmsNum" value="0"/> <PARAM name="cmServerPortBase" value="28601"/> <PARAM name="cmServerPortStandby" value="28611"/> <PARAM name="cmServerlevel" value="1"/> <PARAM name="cmDir" value=" /data_rt/bigcluster_rt/cmserver"/> <PARAM name="cmServerRelation" value="SIA1000056772,SIA1000056672"/> <!-- cn --> <PARAM name="cooNum" value="1"/> <PARAM name="cooPortBase" value="8000"/> <PARAM name="cooDir1" value="/gaussdb/data/coordinator"/> <!-- gtm --> <PARAM name="gtmNum" value="0"/> <PARAM name="gtmPortBase" value="6000"/> <PARAM name="gtmPortStandby" value="6500"/> <PARAM name="gtmDir1" value="/data_rt/bigcluster_rt/gtm,SIA1000056672,/data_rt/bigcluster_rt/gtm"/> <PARAM name="gtmRelation" value="SIA1000056772,SIA1000056672"/> </DEVICE>
3.进入安装包解压出的script目录下,执行下面命令为增加CN准备好前置环境。
./gs_preinstall -U -G dbgrp -L -X /opt/software/GaussDB_Kernel/clusterconfig.xml --alarm-type=5
4.使用gs_om工具脚本进行增加CN操作。
gs_om -t managecn -m add -X /opt/software/GaussDB_Kernel/clusterconfig.xml
5.(可选)如果增加CN前修改过CN的GUC参数:log_dir,listen_addresses,local_bind_address,port,pgxc_node_name,pooler_port,log_directory和audit_directory。增加CN成功后,新CN无法同步先前的修改。请使用gs_guc工具以reload方式修改重新修改CN上的这些GUC参数。
2.5 示例
增加集群内部节点上的CN实例。
前提条件:在xml中配置好需要增加的CN信息,执行前置命令。
gs_om -t managecn -m add -X /opt/software/GaussDB_Kernel/clusterconfig.xml Checking the cluster configuration difference. Successfully checked the cluster configuration difference. Checking the cluster status. Successfully checked the cluster status. Distributing the XML configuration file to all nodes. Successfully distributed the XML configuration file. Creating backup directory. Successfully created backup directory. Backing up cluster configuration. Successfully backed up cluster configuration. Modifying static configuration files. Static configuration file's modification is completed. Locking cluster. Successfully locked cluster. Building CN instance. Successfully built CN instance. Creating pgxc_node catalog. Successfully created pgxc_node catalog. Configuring pg_hba on all nodes. Unlocking cluster. Successfully unlock cluster. Waiting for cluster status to become Normal or Degraded. . The cluster status is Normal.
增加集群外部服务器上的CN,首先用新增外部机器CN的配置文件执行前置,然后以下面命令进行外部增加CN操作,以增加SIA10000622109为例。
gs_om -t managecn -m add -X /opt/software/GaussDB_Kernel/clusterconfig.xml Checking the cluster configuration difference. Successfully checked the cluster configuration difference. Checking the cluster status. Successfully checked the cluster status. Distributing the XML configuration file to all nodes. Successfully distributed the XML configuration file. Creating backup directory. Successfully created backup directory. Installing GaussDB Kernel on the new node. Checking installation environment on this node (SIA1000062209). Installing applications on this node (SIA1000062209). Synchronizing libcgroup configuration to this node (SIA1000062209). Successfully installed GaussDB Kernel on the new node. Backing up cluster configuration. Successfully backed up cluster configuration. Modifying static configuration files. Static configuration file's modification is completed. Locking cluster. Successfully locked cluster. Building CN instance. Successfully built CN instance. Creating pgxc_node catalog. Successfully created pgxc_node catalog. Configuring pg_hba on all nodes. Unlocking cluster. Successfully unlock cluster. Waiting for cluster status to become Normal or Degraded. . The cluster status is Normal.
3、自动剔除故障CN
自动剔除故障CN功能默认开启。
在单机部署场景下,自动剔除CN功能不生效,无需执行本节操作。3.1 背景信息
- 集群可部署多个CN同时对外提供服务,CN的角色是对等的,即执行DML语句时连接到任何一个CN都可以得到一致的结果。而DDL语句需要在所有CN上都执行完成,保持相关定义一致,如果其中一个CN发生故障,整个集群将无法执行DDL语句,直到故障CN被修复。
- 为了不影响用户业务的执行,GaussDB Kernel 提供了CN故障自动剔除功能,系统检测到CN故障后在限定时间内将CN自动剔除,用户的DDL语句就可以继续执行。
3.2 前提条件
无。
3.3 注意事项
- 自动剔除故障CN功能默认开启,默认设置CN剔除时间为25秒。用户可根据自己实际场景和需求确定是否开启功能,以及开启后的剔除时间。
- 集群中部署的CN少于2个不会自动剔除。多CN场景下,共N个CN时,最多剔除N-1个CN。如果开启了自动修复CN功能(,已剔除CN的故障解除后,系统可以自动修复CN,或者用户执行实例替换命令手动修复,参见手动修复剔除的CN。
- CN故障被剔除后,CN会处于Deleted状态, 集群处于Degraded状态,用户业务可以继续执行不受影响,但是物理集群的扩容、缩容、升级、增加CN、change IP操作将不能执行。
3.4 处理方法
开启自动剔除故障CN功能,即CN故障后,自动剔除故障的CN。
gs_guc set -Z cmserver -N all -I all -c "coordinator_heartbeat_timeout=25"
关闭自动剔除故障CN功能,即CN故障后,不剔除故障的CN。
gs_guc set -Z cmserver -N all -I all -c "coordinator_heartbeat_timeout=0"
其中coordinator_heartbeat_timeout为CN自动剔除的时间,单位是秒,默认值25秒,设置为0表示关闭CN自动剔除功能,设置为大于0的数字,表示开启此功能,用户可根据自己实际场景和需求确定剔除时间。
重新设置该参数后需要重启cm_server进程或发信号 kill -1 cm_server进程号才能生效。
4、手动剔除故障CN
CN故障时,除了自动剔除还可以对CN进行手动剔除。在单机部署场景下,手动剔除CN功能不生效,无需执行本节操作。
4.1 注意事项
当coordinator_heartbeat_timeout参数设置为0,自动剔除功能关闭时也可以执行手动剔除。
只有CN状态为down时,才能手动剔除该CN。
手动剔除CN时,若发生cm_server主故障,有可能会出现剔除超时,超时后重新执行剔除。
4.2 处理方法
执行如下命令进行手动剔除故障CN:
cm_ctl disable -n node_id -D data_path node_id为CN所在节点的ID,data_path为CN的数据目录路径,可通过cm_ctl query -Cvd查询。
5、手动修复剔除的CN
CN故障被剔除后(状态显示为Deleted),数据库支持自动修复方式和手动修复方式修复被剔除的CN。本小节说明手动修复方式,即手动执行实例替换命令。
在单机部署场景下,手动修复CN功能不生效,无需执行本节操作。5.1 背景信息
CN手动修复时会短暂阻塞DDL,修复结束后DDL可以继续执行。
5.2 前提条件
- 当前CN故障解除后才能启动手动修复。
- CN手动修复需要在集群有正常的CN时才能成功。
- 如果触发手动修复,自动修复会被停止。
5.3 注意事项
下述两条命令需要关联一起执行,若只执行gs_replace -t config -h而未执行gs_replace -t start -h则可能影响集群功能,导致后续使用自动修复方式时功能不可用。
5.4 处理方法
执行如下命令,对需要替换实例的主机进行配置操作。配置操作会清理替换实例的空间,初始化替换实例,配置替换实例。
gs_replace -t config -h hostname
执行如下命令,对需要修复实例的主机进行启动操作。
gs_replace -t start -h hostname
hostname是故障CN所在主机的主机名称。
6、修复故障实例
数据库集群是由多台主机组成的,当集群中主机上的某些实例发生故障后,为了使GaussDB Kernel快速地恢复正常,用户可以使用gs_replace工具将发生故障的实例替换为正常实例。
6.1 前提条件
- 集群处于启动状态,且处于没有加锁。
- 修复操作需要在一个正常主机上执行。
- 一组DN的主实例、备实例,其中只能有一个损坏。
- 集群内如下实例分别至少存在一个正常运行的:CM Server、CM Agent、GTM、CN。
- 如果集群中部署有ETCD,则正常的ETCD个数必须大于ETCD总个数的一半。
- 如果集群中未部署ETCD,某个GTM实例存在故障,则要求实例替换前另外一个GTM实例必须为最高可用模式,即该GTM实例正常。
- 由于在修复实例时,会检查并修复所有主机上故障的CM Agent实例,所以要求各主机必须互信正常,且安装目录下的二进制文件未被损坏。
- 强制修复多节点时,由于会停止需要修复节点内的所有CN,所以如果集群的所有CN在指定修复的节点中,则不支持强制修复多节点。
- 强制修复多个节点时,由于会停止需要修复节点上的所有DN主、备实例,所以指定修复的节点的DN主、备均不能在同一个DN环内。
- 一主多备部署下,修复DN实例时,为保证数据正确,DN环中必须有CM可监控的主存活。
6.2 注意事项
- 如果集群中含有故障的CN且其状态不为Deleted,那么在修复过程中用户执行DDL会报错,DML可以正常执行。其他场景执行业务不受影响,特别说明:由于修复CN的过程中会短暂锁集群,锁集群后用户下发的包含显式启动事务的DDL语句会出现等待,集群解锁后会报错或等待时间超过20分钟会报错。如包含创建临时表操作,在集群解锁后会报错(Don’t support temp table when need reconnect pooler)。
- 如果故障实例所在主机的安装目录下($GAUSSHOME/bin/)的二进制文件损坏或丢失,则不能通过替换实例进行修复。需要复制其他正常主机对应的二进制文件到该主机,或者将该主机卸载后,再通过替换主机修复。
- 在前一次修复结束后才能再次执行修复。因此请不要同时在多个主机上执行修复操作。
- 实例修复操作会修复故障节点下的全部故障实例。
- 在修复实例的config阶段,先将CM Agent组件修复好,这样才能获取到集群中所有实例的状态。如果主机上的某些实例被人为停止,在CM Agent组件修复好之后,这些原来正常的实例会被正常拉起,而不会被修复。如果在一定时间内拉起失败,这些实例将会被修复。
- 修复故障实例过程中系统将关闭“自动剔除故障CN”功能,完成后系统再次打开该功能。因此建议在开始修复前确认故障的CN已经被自动剔除(即故障的CN状态为Deleted),否则在修复过程中用户执行DDL会报错。
- 修复CN实例过程中,在CN状态未变为Normal前,不能连接该CN执行业务。
- 实例修复前用户手动在故障实例上配置的guc参数、pg_hba.conf配置的白名单会丢失,需要重新设置。
6.3 处理方法
以替换主机plat1、plat2上的实例为例。
1.以操作系统用户omm登录数据库集群任一主机。
操作系统用户omm登录的主机为非故障主机。
2.(可选)使用如下命令在需要替换实例的主机上清理可能存在的残留文件。此命令仅在上次修复故障实例执行失败的情况下需要执行。
(if [ -f $PGHOST/GaussReplace.dat ];then rm $PGHOST/GaussReplace.dat;fi)
该文件为替换故障实例、替换主机中产生的用于记录执行步骤的临时文件,如果在上次执行过程中出现宕机或网卡中断等,可能会导致该文件残留。在替换故障实例前检查该文件是否存在,且生成时间非本次替换故障实例的时间,则可判断为上次执行的残留文件,删除该文件后,继续执行替换故障实例。
3.使用如下命令对需要替换实例的主机进行配置操作。
gs_replace -t config -h plat1, plat2
配置操作会清理替换实例的空间,初始化替换实例,配置替换实例。
如果收到提示:“GAUSS_50201: The XXX does not exist.”,则请检查对应的实例数据目录是否存在。如果不存在,请重新创建目录后再次执行上述命令。
如果指定主机的表空间所在磁盘出现故障,从而导致表空间中的数据损坏,更换新磁盘后,需要指定–force参数对该主机强制进行表空间数据的恢复。如果在config阶段指定–force参数,则在start阶段也必须指定–force参数。
4.使用如下命令对需要修复实例的主机进行启动操作。
gs_replace -t start -h plat1 , plat2
启动操作会启动集群替换实例的主机。
5.使用如下命令重置实例状态。
switch为维护操作:确保集群状态正常,所有业务结束,并使用pgxc_get_senders_catchup_time()视图查询无主备追赶后,再进行switch操作。
gs_om -t switch --reset
重置过程会恢复集群初始状态,以保证各主机的负载都是均衡的。
6.执行如下命令查询集群状态。
gs_om -t status
7、修复DN增量build失败
7.1 背景信息
在集群DN增量build过程中,会先删除部分数据,如果原主损坏,那么主备均损坏。为了集群快速恢复正常,需要手动进行文件替换,然后恢复集群,使集群能够正常运行。
7.2 前提条件
- 只在增量build的场景下。
- 集群已安装,增量build前集群状态正常。
- 只有DN环中包含的主实例、备实例故障,从备实例正常。
- 集群内如下实例分别至少存在一个正常运行的:CM Server、CM Agent、GTM、CN。
- 由于在修复实例时,会检查并修复所有主机上故障的CM Agent实例,所以要求各主机必须互信正常,且安装目录下的二进制文件未被损坏。
7.3 注意事项
pg_rewind_bak目录为增量build时备机的文件备份目录,不能被手动修改。
7.4 处理方法
1.以操作系统用户omm登录集群故障节点的主机。
2.停止所有CN和故障的DN主备从。
3.执行以下命令查看CN和故障DN所在节点信息。
cm_ctl query -Cvd
例如在一个含3个CN和12个DN的主备从集群中,
CN : node instance state ----------------------------------------------------- 1 lfgp000710736 5001 /data1/mpp/coordinator1 Normal 2 lfgp000710735 5002 /data1/mpp/coordinator2 Normal 3 lfgp000710734 5003 /data1/mpp/coordinator3 Normal
故障DN :
3 lfgp000710734 6017 /data1/mpp/data1/master09 P Down Disk damaged | 1 lfgp000710736 6018 /data1/mpp/data1/slave09 S Down Unknown | 2 lfgp000710735 3010 /data1/mpp/data1/dummy09 R Secondary Normal
执行以下命令停止所有CN和故障的dn主备从。
cm_ctl stop -n nodenumber -D CN所在目录 cm_ctl stop -n nodenumber -D DN所在目录
其中,nodenumber,CN所在目录,DN所在目录可由1获取。例如,
cm_ctl stop -n 1 -D /data1/mpp/coordinator1 cm_ctl stop -n 2 -D /data1/mpp/coordinator2 cm_ctl stop -n 3 -D /data1/mpp/coordinator3 cm_ctl stop -n 1 -D /data1/mpp/data1/slave09 cm_ctl stop -n 2 -D /data1/mpp/data1/dummy09
执行restore操作,需要登录到故障的机器上。
gs_ctl restore -D /data1/mpp/data1/slave09
cm_ctl start方式启动故障结点。
cm_ctl start -n 1 -D /data1/mpp/data1/slave09/ #先变成Standby Need
repair(Disconnected),然后是Standby Promoting,这时候起来从备
启动从备:
cm_ctl start -n 2 -D /data1/mpp/data1/dummy09
备机升主成功。
启动原主机:
cm_ctl start -n 3 -D /data1/mpp/data1/master09
原主机启动成功后降为备机。
启动CN结点,恢复业务:
cm_ctl start -n 1 -D /data1/mpp/coordinator1 cm_ctl start -n 2 -D /data1/mpp/coordinator2 cm_ctl start -n 3 -D /data1/mpp/coordinator3
检查结点状态是否恢复正常:
cm_ctl query –Cvd
数据校验。
启动业务。
在数据验证完成后,启动业务。
四、修改HOSTNAME、IP和端口号
1、背景信息
在数据库集群使用过程中,由于网络部署调整、机房搬迁、网络故障等带来主机IP地址和端口号的变更。GaussDB Kernel提供了gs_om的changeip操作可以在不换主机、不改变集群其他配置的前提下,快速实现集群IP地址、主机名或者端口号的变更。
2、前提条件
- 确认集群状态正常后,停止集群。
- 基于新IP、主机名的用户互信已配置好。
- 数据库安装用户有足够的权限将新xml文件分发到所有主机的相同目录下。
3、注意事项
- 仅换IP地址、主机名或者端口号,不换主机。
- 以数据库安装用户执行脚本。
- 外部表IP不处理。
- 修改IP支持集群backIP,sshIP,HaIP以及实例侦听IP的修改。修改端口支持修改GTM、CN、ETCD、CM Server以及DN端口。
- 在修改集群IP过程中,出现异常情况(断电、宕机)时,通过“gs_om -t status”获取到的集群以及实例状态信息是不准确的。重新执行修改集群IP操作,正常结束后才能进行其它操作。
- 修改IP和端口号操作需要停止业务,执行过程中不支持数据库DQL、DDL、DML、DCL操作。
- 当未配置实例端口时,实例初始化的默认端口为cm_server主5000备5500;GTM主6000备6500;CN主8000备8500;DN主40000备45000从50000;ETCD主2379备2380。
4、处理方法
1.以root用户身份登录数据库集群任一主机。
2.修改集群部署配置文件clusterconfig.xml,把主机的IP和hostname或者端口号替换为新的。
3.进入安装包解压后的script文件夹。例如,安装包存放路
为/opt/software/GaussDB_Kernel。
cd /opt/software/GaussDB_Kernel/script
4.准备集群环境。
./gs_preinstall -U omm -G dbgrp -X ../clusterconfig.xml --alarm-type=5
omm为运行集群的操作系统用户,dbgrp为操作系统用户的群组名称,clusterconfig.xml为集群配置文件,此示例中假设其存储在安装包存放路径下。
5.切换为omm用户。
su - omm
6.执行如下命令进行修改集群IP操作。
gs_om -t changeip -X clusterconfig.xml clusterconfig.xml为修改后的配置文件。
如果执行修改集群IP过程中出现错误,系统调用自动回滚。如果自动回滚过程中,因为磁盘满等原因,导致回滚失败,则用户排除错误后,如需继续执行修改IP则调用本命令,如果要放弃修改IP,则调用如下命令将集群恢复到修改ip之前的状态:
gs_om -t changeip -X clusterconfig.xml --rollback
5、涉及修改参数列表
集群的IP和端口号都需要使用gs_om工具进行修改。
关注#华为云开发者联盟# 点击下方,第一时间了解华为云新鲜技术~
华为云博客_大数据博客_AI博客_云计算博客_开发者中心-华为云
暂无评论,1182人围观