CheckClusterState(检查openGauss状态)
|
openGauss未启动或openGauss实例未启动
|
使用以下命令启动openGauss及实例。
gs_om -t start
|
openGauss状态异常或openGauss实例异常
|
检查各主机、实例状态,根据状态信息进行排查。
gs_check -i CheckClusterState
|
CheckDBParams(检查数据库参数)
|
数据库参数错误
|
通过gs_guc工具修改数据库参数为指定值。
|
CheckDebugSwitch(检查调试日志)
|
日志级别不正确
|
使用gs_guc工具将log_min_messages改为指定内容。
|
CheckDirPermissions(检查目录权限)
|
路径权限错误
|
修改对应目录权限为指定数值(750/700)。
chmod 750 DIR
|
CheckReadonlyMode(检查只读模式)
|
只读模式被打开
|
确认数据库节点所在磁盘使用率未超阈值(默认60%)且未在执行其他运维操作。
gs_check -i CheckDataDiskUsage
ps ux
使用gs_guc工具关闭openGauss只读模式
gs_guc reload -N all -I all -c 'default_transaction_read_only = off'
gs_guc reload -N all -I all -c 'default_transaction_read_only = off'
|
CheckEnvProfile(检查环境变量)
|
环境变量不一致
|
重新执行前置更新环境变量信息。
|
CheckBlockdev(检查磁盘预读块)
|
磁盘预读块大小不为16384
|
使用gs_checkos设置预读块大小为16384KB,并写入自启动文件。
gs_checkos -i B3
|
CheckCursorNum(检查游标数)
|
检查游标数失败
|
检查数据库能否正常连接,openGauss状态是否正常。
|
CheckPgxcgroup(检查重分布状态)
|
有未完成重分布的pgxc_group表
|
继续完成扩容或缩容的数据重分布操作。
gs_expand、gs_shrink
|
CheckDiskFormat(检查磁盘配置)
|
各节点磁盘配置不一致
|
将各节点的磁盘规格改为相同。
|
CheckSpaceUsage(检查磁盘空间使用率)
|
磁盘可用空间不足
|
清理或扩展对应目录所在的磁盘。
|
CheckInodeUsage(检查磁盘索引使用率)
|
磁盘可用索引不足
|
清理或扩展对应目录所在的磁盘。
|
CheckSwapMemory(检查交换内存)
|
交换内存大于物理内存
|
将交换内存调小或关闭。
|
CheckLogicalBlock(检查磁盘逻辑块)
|
磁盘逻辑块大小不为512
|
使用gs_checkos修改磁盘逻辑块大小为512KB,并写入开机自启动文件。
gs_checkos -i B4
|
CheckIOrequestqueue(检查IO请求)
|
IO请求值不为32768
|
使用gs_checkos设置IO请求值为32768,并写入开机自启动文件。
gs_checkos -i B4
|
CheckCurConnCount(检查当前连接数)111
|
当前连接数超过最大连接数的90%
|
断开未使用的数据库主节点连接。
|
CheckMaxAsyIOrequests(检查最大异步请求)
|
最大异步请求值小于104857600或当前节点数据库实例数)1048576
|
使用gs_checkos设置最大异步请求值为104857600和当前节点数据库实例数1048576中的最大值。
gs_checkos -i B4
|
CheckMTU(检查MTU值)
|
MTU值不一致
|
设置各节点的MTU一致为1500或8192。
ifconfig eth* MTU 1500
|
CheckIOConfigure(检查IO配置)
|
IO配置不是deadline
|
使用gs_checkos设置IO配置为deadline,并写入开机自启动文件。
gs_checkos -i B4
|
CheckRXTX(检查RXTX值)
|
网卡RX/TX值不是4096
|
使用checkos设置openGauss使用的物理网卡RX/TX值为4096
gs_checkos -i B5
|
CheckPing(检查网络通畅)
|
存在openGauss IP无法ping通
|
检查异常ip间网络设置和状态、防火墙状态。
|
CheckNetWorkDrop(检查网络丢包率)
|
网络通信丢包率高于1%
|
检查对应IP间网络负载、状态。
|
CheckMultiQueue(检查网卡多队列)
|
未开启网卡多队列并未将网卡中断绑定到不同CPU核心
|
开启网卡多队列并将网卡队列中断绑定到不同的CPU核心。
|
CheckEncoding(检查编码格式)
|
各节点编码格式不一致
|
在/etc/profile中写入一致的编码信息。
echo "export LANG=XXX" >> /etc/profile
|
CheckFirewall(检查防火墙)
|
防火墙未关闭
|
关闭防火墙服务。
redHat(CentOS)7.x:systemctl status firewalld.service
redHat(CentOS)6.x:service iptables down
SuSE:SuSEfirewall2 down
|
CheckKernelVer(检查内核版本)
|
内核版本不一致
|
使用gs_replace替换不一致的节点。
gs_replace
|
CheckMaxHandle(检查最大文件句柄数)
|
最大文件句柄数小于1000000
|
设置91-nofile.conf/90-nofile.conf最大文件句柄数软硬限制为1000000。
gs_checkos -i B2
|
CheckNTPD(检查时间同步服务)
|
NTPD服务未开启或时间误差超过一分钟
|
开启NTPD服务并设置时钟一致。
|
CheckOSVer(检查操作系统版本)
|
操作系统不被支持或不在同一混搭列表
|
使用gs_replace将异常节点替换为受支持系统或在同一混搭列表内的系统的节点。
gs_replace
|
CheckSysParams(检查操作系统参数)
|
操作系统参数设置不满足要求
|
使用gs_checkos进行参数设置或手动设置。
gs_checkos -i B1
vim /etc/sysctl.conf
|
CheckTHP(检查THP服务)
|
THP服务未开启
|
使用gs_checkos设置THP服务
gs_checkos -i B6
|
CheckTimeZone(检查时区)
|
时区不一致
|
设置各节点为同一时区
cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime
|
CheckCPU(检查CPU)
|
CPU占用过高或IO等待过高
|
进行CPU配置升级或磁盘性能升级
|
CheckSshdService(检查SSHD服务)
|
未开启SSHD服务
|
启动SSHD服务并写入开机自启动文件
server sshd start
echo "server sshd start" >> initFile
|
CheckSshdConfig(检查SSHD配置)
|
SSHD服务配置错误
|
设置SSHD服务,
PasswordAuthentication=no;
MaxStartups=1000;
UseDNS=yes;
ClientAliveInterval=10800/ClientAliveInterval=0
并重启服务:
server sshd start
|
CheckCrondService(检查Crond服务)
|
Crond服务未启动
|
安装Crond服务并启用
|
CheckStack(检查堆栈大小)
|
堆栈大小小于3072
|
使用gs_checkos设置为3072并重启堆栈值过小进程。
gs_checkos -i B2
|
CheckNoCheckSum(检查NoCheckSum参数)
|
NoCheckSum设置错误或不一致
|
设置各节点的NoCheckSum值一致(存在redHat6.4/6.5且为bond0时全部设为Y,否则全部设为N)
echo Y > /sys/module/sctp/parameters/no_checksums
|
CheckSysPortRange(检查系统端口设置)
|
系统ip端口不在预期范围内或openGauss端口在系统ip端口内
|
设置系统ip端口范围参数到26000-65535之中;设置openGauss端口在系统ip端口范围外
vim /etc/sysctl.conf
|
CheckMemInfo(检查内存信息)
|
各节点内存大小不一致
|
使用相同规格的物理内存
|
CheckHyperThread(检查超线程)
|
未开启CPU超线程
|
开启CPU超线程
|
CheckTableSpace(检查表空间)
|
表空间路径和openGauss路径存在嵌套或表空间路径相互存在嵌套
|
将表空间数据迁移到路径合法的表空间中
|
CheckSctpService(检查SCTP服务)
|
未开启SCTP服务
|
部署并开启SCTP服务
modprobe sctp
|