对应10小节作的整改,包括但不限于一键启动的检查项目。对属于一键启动的检查项作个说明即可,比如 本检查属于一键启动默认检查项。
目录
7.1.集群启停¶
7.1.1.一键启停方式¶
7.1.2.手动启停方式¶
7.2.集群项检查¶
7.2.1.启动状态¶
7.2.2.集群双主¶
7.3.集群主备切换¶
7.4.故障库恢复至集群¶
7.5.在线扩缩容¶
7.5.1.简介¶
7.5.2.集群扩缩容约束¶
7.5.3.通用机约束¶
7.5.4.专用机约束¶
7.5.5.集群配置说明¶
7.5.6.通用机扩缩容¶
7.5.7.专用机扩缩容¶
7.6.VIP管理¶
7.7.主备库的数据检查¶
7.8.主备库的连接检查¶
7.9.集群同异步一致性¶
7.10.一键修改密码¶
7.11.一键修改集群参数¶
7.12.控制文件多路备份配置¶
7.12.1.配置参数说明¶
7.12.2.使用约束¶
7.12.3.操作步骤¶
7.12.4.参数配置操作步骤及示例¶
7.12.5.操作示例¶
7.13.一键检查数据库状态¶
7.14.日志收集分析工具¶
7.1.集群启停¶
集群的启停通常有两种方式:一键启停和单个节点独立启停。
7.1.1.一键启停方式¶
集群一键停止
$bin_path/sys_monitor.sh stop
集群一键启动
$bin_path/sys_monitor.sh start
7.1.2.手动启停方式¶
需要按照步骤手动启动集群中所有数据库以及守护进程。
首先启动所有数据库节点,在启动前需要检查所有数据库状态,保证不能有多主。
sys_ctl -D $data_directory -l logfile start
然后启动所有节点的repmgrd守护进程。
repmgrd -d -v -f $rep_conf
启动所有节点的kbha守护进程。
kbha -A daemon -f $rep_conf
最后,在所有节点使用root用户添加CRON任务。
#在文件/etc/cron.d/KINGBASECRON(如果没有请创建)中写入语句:
* 1 * * * * $user . /etc/profile;$bin_path/kbha -A daemon -f $rep_conf
需要按照步骤手动停止所有守护进程以及数据库。
首先,在所有节点使用root用户注释或删除CRON任务。
#在文件/etc/cron.d/KINGBASECRON注释(句首使用#)以下语句:
#* 1 * * * * $user . /etc/profile;$bin_path/kbha -A daemon -f $rep_conf
其次,关闭或杀掉所有节点的守护进程kbha和repmgrd。
#一定先关闭kbha进程 kill -9pidofkbharepmgrd
最后停止所有数据库节点。
sys_ctl -D $data_directory -l logfile stop
7.2.集群项检查¶
7.2.1.启动状态¶
在一键启动集群过程中,会逐个启动集群中的所有节点DB,如果在启动DB过程中,发现有某个节点DB启动失败了,则集群也会启动失败。
下面是针对此场景进行的简单模拟:
修改备机data/es_rep.conf文件,增加不正确的参数,构造备机DB无法启动情景,然后启动集群,集群启动失败退出,报错如下:
7.2.2.集群双主¶
在一键启动集群时,会去检测集群中存在的主机数量,如果发现不只存在一个主机,则会终止集群启动,并停止当前已经启动的DB及定时任务。
下面是针对此场景进行的简单模拟:
备机执行promote命令,构造双主情景:
启动集群失败,报错退出,并停止节点DB及定时任务:
如需手动检查双主,执行:
repmgr cluster show
如果查询结果有超出一行显示按主库运行,则正在面临双主问题。
7.3.集群主备切换¶
集群主备切换时指主动让主备角色互换,这种场景和故障自动转移的情况有所不同。自动故障转移是主库故障后,备库升主以替代原主库,这个流程是意外发生、不受控制的。而主备切换一般是在运维过程中由运维人员手动触发的,使主备角色互换。
命令以及详细参数请参考:repmgr standby switchover章节。
切换示例:
最初 primary 节点是 node102
集群同步状态检查:
选择 node101 为新的 primary。在 node101 运行切换命令,如下所示:
[Kingbase@nn01]repmgr standby switchover --siblings-followNOTICE: executing switchover on node "node101" (ID: 1)NOTICE: local node "node101" (ID: 1) will be promoted to primary; current primary "node102" (ID: 2) will be demoted to standbyNOTICE: stopping current primary node "node102" (ID: 2)NOTICE: issuing CHECKPOINTNOTICE: node (ID: 2) release the virtual ip 192.168.237.100/24 successDETAIL:executing server command"/home/kingbase/cluster/PROJ01/DBCL/kingbase/bin/sys_ctl -D'/home/kingbase/cluster/PROJ01/DBCL/kingbase/data' -l/home/kingbase/cluster/PROJ01/DBCL/kingbase/bin/logfile -W -m fast stop"INFO: checking for primary shutdown; 1 of 60 attempts ("shutdown_check_timeout")INFO: checking for primary shutdown; 2 of 60 attempts ("shutdown_check_timeout")INFO: checking for primary shutdown; 3 of 60 attempts ("shutdown_check_timeout")INFO: checking for primary shutdown; 4 of 60 attempts ("shutdown_check_timeout")INFO: checking for primary shutdown; 5 of 60 attempts ("shutdown_check_timeout")INFO: checking for primary shutdown; 6 of 60 attempts ("shutdown_check_timeout")INFO: checking for primary shutdown; 7 of 60 attempts ("shutdown_check_timeout")INFO: checking for primary shutdown; 8 of 60 attempts ("shutdown_check_timeout")INFO: checking for primary shutdown; 9 of 60 attempts ("shutdown_check_timeout")INFO: checking for primary shutdown; 10 of 60 attempts ("shutdown_check_timeout")NOTICE: current primary has been cleanly shut down at location 0/18000028NOTICE: PING 192.168.237.100 (192.168.237.100) 56(84) bytes of data.--- 192.168.237.100 ping statistics ---2 packets transmitted, 0 received, +1 errors, 100% packet loss, time 1000msWARNING: ping host"192.168.237.100" failedDETAIL: average RTT value is not greater than zeroNOTICE: new primary node (ID: 1) acquire the virtual ip 192.168.237.100/24 successNOTICE: promoting standby to primaryDETAIL: promoting server "node101" (ID: 1) using pg_promote()NOTICE: waiting up to 60 seconds (parameter "promote_check_timeout") for promotion to completeNOTICE: STANDBY PROMOTE successfulDETAIL: server "node101" (ID: 1) was successfully promoted to primaryNOTICE: issuing CHECKPOINTINFO: local node 2 can attach to rejoin target node 1DETAIL: local node's recovery point: 0/18000028; rejoin target node's fork point: 0/180000A0NOTICE: setting node 2's upstream to node 1WARNING: unable to ping "host=192.168.237.102 user=esrep dbname=esrep port=54321 connect_timeout=3 keepalives=1 keepalives_idle=10 keepalives_interval=1 keepalives_count=3"DETAIL: PQping() returned "PQPING_NO_RESPONSE"NOTICE: begin to start server at -10-01 15:23:16.183728NOTICE: starting server using "/home/kingbase/cluster/PROJ01/DBCL/kingbase/bin/sys_ctl -w-t 90 -D '/home/kingbase/cluster/PROJ01/DBCL/kingbase/data' -l/home/kingbase/cluster/PROJ01/DBCL/kingbase/bin/logfile start"NOTICE: start server finish at -10-01 15:23:16.299152NOTICE: replication slot "repmgr_slot_1" deleted on node 2WARNING: 1 inactive replication slots detectedDETAIL: inactive replication slots:- repmgr_slot_3 (physical)HINT: these replication slots may need to be removed manuallyNOTICE: NODE REJOIN successfulDETAIL: node 2 is now attached to node 1NOTICE: executing STANDBY FOLLOW on 1 of 1 siblingsINFO: STANDBY FOLLOW successfully executed on all reachable sibling nodesNOTICE: switchover was successfulDETAIL: node "node101" is now primary and node "node102" is attached as standbyNOTICE: STANDBY SWITCHOVER has completed successfully
以上标黑字体表示主要步骤,其大致步骤总结如下:
1) 在 node102 运行 checkpoint
2) 从 node102 去除 VIP
3) 在 node102 运行 sys_ctl stop,关闭数据库
4) 确认 vip 及 102 数据库已停止
5) 在 node101 启动 VIP,并运行 promote 命令,将 node101 数据库提升为 primary
6) 启动 node102 数据库
7) 在 node103 运行 repmgr standby follow
切换结果验证
7.4.故障库恢复至集群¶
一般情况下,故障数据库会由守护进程将其作为备库恢复至集群。但如果故障为主库,默认情况(recovery=standby)下是不会自动将其恢复为备库的,另外,如果用户关闭了自动恢复功能(recovery=manual)或者暂停了集群(repmgr service pause),那么任何故障数据库都不会自动恢复至集群,这时就需要运维人员手动操作将故障数据库恢复至集群。
命令行命令:
#在故障的数据库节点执行repmgr node rejoin -h ${主库IP} -d esrep -U esrep -p ${主库port} [--force-rewind] [--no-check-wal]#可以执行简化后的命令kbha -A rejoin -h ${主库IP}
详细命令以及参数,请参考repmgr node rejoin和kbha章节。
参数说明:--force-rewind,当故障数据库和当前主库数据分歧后,需要指定此参数使用sys_rewind使得故障数据库和新主库保持数据一致;--no-check-wal,一般情况下不允许时间线高的数据库恢复为时间线低的主库的备库,此选项可以忽略时间线和lsn检查,必须和--force-rewind一起使用;
使用示例:
Node101 由于数据库宕机,primary切换到node102。
执行以下命令将原主库node101重新加入集群。
[kingbase@nn01 archive]$ repmgr node rejoin -h 192.168.237.102 -U esrep -d esrepWARNING: the item in /home/kingbase/.kbpass is not end in the right wayINFO: local node 1 can attach to rejoin target node 2DETAIL: local node's recovery point: 0/4B000028; rejoin target node's fork point: 0/4B0000A0NOTICE: setting node 1's upstream to node 2WARNING: unable to ping "host=192.168.237.101 user=esrep dbname=esrep port=54321 connect_timeout=3 keepalives=1 keepalives_idle=10 keepalives_interval=1 keepalives_count=3"DETAIL: PQping() returned "PQPING_NO_RESPONSE"NOTICE: begin to start server at -10-02 15:02:27.685836NOTICE: starting server using "/home/kingbase/cluster/PROJ01/DBCL/kingbase/bin/sys_ctl -w-t 90 -D '/home/kingbase/cluster/PROJ01/DBCL/kingbase/data' -l/home/kingbase/cluster/PROJ01/DBCL/kingbase/bin/logfile start"NOTICE: start server finish at -10-02 15:02:27.792657NOTICE: replication slot "repmgr_slot_2" deleted on node 1WARNING: 1 inactive replication slots detectedDETAIL: inactive replication slots:- repmgr_slot_3 (physical)HINT: these replication slots may need to be removed manuallyNOTICE: NODE REJOIN successfulDETAIL: node 1 is now attached to node 2
确认集群状态
注意
以上的例子node101在宕机后、rejoin之前,并没有启动,也就是node101数据与primary并没有出现diverged。但如果node101宕机后曾经启动过,甚至修改了数据,这时 node101重新加入时,就必须指定--force-rewind选项。
7.5.在线扩缩容¶
7.5.1.简介¶
KingbaseES提供数据库扩缩容工具进行数据库集群的在线扩缩容。对于不支持GUI的服务器,KingbaseES提供基于命令行操作的集群扩缩容方式,本文档主要用于指导不支持GUI的服务器上的KingbaseES V8.6 版本集群扩缩容工作。
7.5.2.集群扩缩容约束¶
计划扩缩容集群前,请仔细阅读以下约束。
7.5.3.通用机约束¶
7.5.3.1.免密配置约束¶
1、 目前在通用机上支持两种扩缩容方式:①通过sshd服务自动分发文件并扩缩容;②手动分发文件,启动sys_securecmdd工具并进行扩缩容。
2、第①种扩缩容方式,需要配置节点间ssh免密,第②种扩缩容方式需要节点间sys_securecmdd工具秘钥协商。两种方式都有如下免密登陆要求:所有即将扩缩容集群的设备之间,root用户和root用户、root用户和普通用户、普通用户和普通用户免密登陆,同一主机的root用户和root用户、root用户和普通用户免密登陆。
3、sys_securecmdd工具秘钥协商在初始化、启动过程中自动完成;配置ssh免密请用root用户执行脚本trust_cluster.sh,脚本会读取install.conf配置文件【install】标签下的内容,所以请先按要求配置install.conf文件。
注意
在使用脚本配置ssh免密时,由于脚本是交互式的,在执行过程中需要用户输入必要信息。
7.5.3.2.操作系统配置约束¶
1、建议关闭防火墙,如果用户确认无法关闭防火墙,那么在防火墙添加数据库白名单,不同系统命令不同,数据库端口默认54321,HA-LOG分析工具默认端口65432,sys_securecmdd工具默认端口8890,请根据实际配置调整。
2、 其他操作系统配置约束请参考系统参数章节进行配置。
7.5.3.3.文件及文件名约束¶
1、集群扩缩容所需要的所有文件需要已存在设备上,且install.conf文件、V8.6_cluster_install.sh、trust_cluster.sh都需要在同一设备的同一目录下,需安装数据库后获取对应文件,以下是集群扩缩容所需要的所有文件:
(仅扩容需要)用户单独准备license.dat授权文件
(仅扩容需要)从 安装目录/ClientTools/guitools/DeployTools/zip/下获取
服务器压缩包db.zip
一键部署脚本 V8.6_cluster_install.sh
配置文件install.conf
配置SSH免密脚本 trust_cluster.sh
注:这里的db.zip也可以换成用户自行压缩的其他形式的压缩包,在"安装目录/Server/"下将bin、lib、share三个目录做成压缩包,支持zip、tar、tar.gz三种格式的压缩包;压缩包解压后的目录应该和db.zip保持一致。
2、扩容支持配置1个license,若集群设备上的license不能复用于多个设备且需要多次扩容,每次扩容则请在license_file参数填入不同license的文件名,如果license文件可以复用,则可以使用同样license。需要注意的是,如果集群license不可复用,所有节点扩容使用相同license,那么在扩容过程中可能因为license问题无法启动数据库而扩容失败,同理,net_device的配置也仅支持配置一个。
3、集群设置virtual_ip时,必须保证其子网掩码长度与网卡net_device的子网掩码长度一致;网卡net_device上必须已有IP,此IP需要配置在net_device_ip中。
4、扩容节点不支持用户配置数据库data目录的路径,data目录自动从已有集群获取。
7.5.3.4.扩缩容执行约束¶
1、执行脚本的操作扩容时只能在需要扩容的机器上执行,缩容时只能在集群主机上或者集群需要缩容的机器上执行,通用机需用普通用户执行脚本。
2、 配置文件中所有要求写路径的参数都必须是绝对路径,不支持相对路径。
3、 扩容时license_file参数只需写license文件名即可,无需写路径。
4、脚本支持使用非22端口进行ssh连接,如果想要修改ssh连接端口,除了更改配置文件install.conf之外,还需修改系统/etc/ssh/sshd_config文件中的Port项,然后重启sshd服务才能正常扩缩容集群。修改系统文件以及重启sshd服务均需要使用root用户执行。
5、脚本支持使用非8890端口进行scmd连接,如果想要修改scmd连接端口,除了更改配置文件install.conf之外还需修改系统install_dir /share目录sys_HAscmdd.conf文件中的scmd_port项,然后使用systemctl stop securecmdd命令停止已有secure_cmdd服务,再以root权限 使用命令install_dir/bin/sys_HAscmdd.sh init/start初始化和启动secure_cmdd 服务。
7.5.4.专用机约束¶
7.5.4.1.操作系统配置约束¶
同通用机操作系统约束。
7.5.4.2.扩缩容执行约束¶
1、执行脚本的操作扩容时只能在需要扩容的机器上执行,缩容时只能在集群主机上或者集群需要缩容的机器上执行,专用机需用root用户执行脚本。
2、 专用机扩缩容集群之前,请确保所有设备的sys_securecmdd处于启动状态。
3、 配置文件中所有要求写路径的参数都必须是绝对路径,不支持相对路径。
4、在已经成功缩容集群后,如果需要在同一个节点再次扩容节点,同样请先移除原有的archive目录、log目录、data目录下的所有内容。
7.5.5.集群配置说明¶
提供install.conf配置文件用于配置集群扩缩容所需参数,提供参数如下:
7.5.6.通用机扩缩容¶
7.5.6.1.操作步骤--通过SSHD服务自动分发文件并扩缩容¶
注意
通用机环境【可以使用SSHD服务并且可以通过SSH免密登陆root用户】可以使用此方式扩缩容集群。
扩容:
1、 检查数据库已有集群状态正常
2、 获取集群扩容所需文件 检测到原集群状态正常后,需获取原集群安装目录/ClientTools/guitools/DeployTools/zip/下的:服务器压缩包db.zip、一键部署脚本V8.6_cluster_install.sh、配置文件install.conf、配置SSH免密脚本 trust_cluster.sh ;然后需要用户单独准备license.dat授权文件使用集群安装用户在扩容节点新建文件夹r6_install,将压缩包db.zip、脚本文件 V8.6_cluster_install.sh、配置文件install.conf、免密配置脚本trust_cluster.sh、license文件上传至r6_install,需注意文件权限属主需为集群安装用户。
使用集群安装用户在扩容节点新建文件夹r6_install,将压缩包db.zip、脚本文件V8.6_cluster_install.sh、配置文件install.conf、免密配置脚本trust_cluster.sh、license文件上传至r6_install,需注意文件权限属主需为集群安装用户。
3、 配置install.conf
编辑install.conf配置文件,参见扩容配置文件install.conf配置,进行相关参数配置。如需修改ssh连接端口,先修改install.conf文件中ssh_port项的值,然后修改系统/etc/ssh/sshd_config文件中的Port项的值,最后需要重启sshd服务。
4、 SSH免密配置
使用trust_cluster.sh进行SSH免密配置,免密配置后,请验证即将要扩容集群的所有设备的root用户和普通用户之间的免密是否配置正确。
5、 集群扩容
集群部署用户执行 sh V8.6_cluster_install.sh expand命令进行集群扩容,脚本将按照配置自动完成集群扩容工作。
6、 扩容后检查
扩容成功后,请去到主库或扩容的备库所在节点的集群目录(通用机install_dir)下,执行命令"repmgr cluster show",确认是否真正成功扩容集群。
缩容:
1、 检查数据库已有集群状态正常
2、 获取集群缩容所需文件
3、 检测到原集群状态正常后,需获取如下文件:
原集群部署目录/bin/下的一键部署脚本 V8.6_cluster_install.sh
原集群部署目录/bin/下的配置文件install.conf
配置install.conf
4、编辑install.conf配置文件,参见缩容配置文件install.conf配置,进行相关参数配置。如需修改ssh连接端口,先修改install.conf文件中ssh_port项的值,然后修改系统/etc/ssh/sshd_config文件中的Port项的值,最后需要重启sshd服务。
5、 集群缩容
集群部署用户执行 sh V8.6_cluster_install.sh shrink命令进行集群缩容,脚本将按照配置自动完成集群缩容工作。
6、 缩容后检查
缩容成功后,请去到主库所在节点的集群目录(通用机install_dir)下,执行命令"repmgr cluster show",确认是否真正成功缩容集群。
7.5.6.2.扩缩容示例--通过SSHD服务自动分发文件并扩缩容¶
扩容:
1、 准备集群设备A、B,待扩容节点C,IP分别为192.168.28.126、192.168.28.127、192.168.28.128。
2、 确保原集群状态正常。
3、 在安装目录/Server/bin目录下找到 V8.6_cluster_install.sh、install.conf文件。
4、 请确认是否有变量需要更改,包括文件名是否正确、数据库参数是否需要修改等。
5、 由于专用机安装后会自动启动数据库,所以首先执行 ps -ef|grep kingbase 查看是否有数据库在运行,如果有,将数据库停掉,检查C设备,同时移除主备机原有data目录。
6、 执行 ps -ef|grep sys_securecmdd 查看 sys_securecmdd 是否处于启动状态,如果没有,请执行命令 /opt/Kingbase/ES/V8/Server/bin/sys_HAscmdd.sh init 和/opt/Kingbase/ES/V8/Server/bin/sys_HAscmdd.sh start 启动 sys_securecmdd。A,B 和C设备都要检查。
7、 在设备C上的/opt/Kingbase/ES/V8/Server/bin目录下,使用root用户执行sh V8.6_cluster_install.sh expand命令。
8、 集群扩容完成。
9、 去到集群安装目录即/opt/Kingbase/ES/V8/Server/bin目录下连接数据库,执行命令"/opt/Kingbase/ES/V8/Server/bin/repmgr cluster show"查看集群是否正常。
[expand]expand_type='1'primary_ip='192.168.28.126'expand_ip='192.168.28.128'license_file='license.dat-t'zip_package="/home/kingbase/r6_install/db.zip"node_id='3'install_dir="/home/kingbase/cluster/shrinkandexpand"scmd_port="8890"ssh_port="22"net_device=(ens192)net_device_ip=(192.168.28.128)deploy_by_sshd=1
缩容:
1、 准备集群设备A、B,待缩容节点C,IP分别为192.168.28.126、192.168.28.127、192.168.28.128。
2、 确保已经安装专用机数据库,请使用专门的包管理器进行安装。
3、 在安装目录/Server/bin目录下找到 V8.6_cluster_install.sh、install.conf文件。
4、 请确认是否有变量需要更改,包括文件名是否正确、数据库参数是否需要修改等。
5、 执行 ps -ef|grep sys_securecmdd 查看 sys_securecmdd 是否处于启动状态,如果没有,请执行命令 /opt/Kingbase/ES/V8/Server/bin/sys_HAscmdd.sh init 和/opt/Kingbase/ES/V8/Server/bin/sys_HAscmdd.sh start 启动 sys_securecmdd。A,B 和C设备都要检查。
6、 在设备A/C上的/opt/Kingbase/ES/V8/Server/bin目录下,使用root用户执行sh V8.6_cluster_install.sh shrink命令。
7、 集群缩容完成。
8、 去到集群安装目录即/opt/Kingbase/ES/V8/Server/bin目录下连接数据库,执行命令 "/opt/Kingbase/ES/V8/Server/bin/repmgr cluster show"查看集群是否正常。
install.conf参数配置示例:
[shrink]shrink_type='1'primary_ip='192.168.28.126'shrink_ip='192.168.28.128'node_id='3'install_dir="/home/kingbase/cluster/shrinkandexpand"scmd_port="8890"ssh_port="22"
7.5.6.3.操作步骤--手动分发文件并扩缩容¶
注意
通用机环境【无法使用SSHD服务,或者无法通过SSH免密登陆root用户】可以使用此方式扩缩容集群。
扩容:
1、准备扩容原集群,集群中有A、B、C三节点,A为主节点,B为standby节点,C为集群外待扩容节点,IP分别为192.168.28.126、192.168.28.127、192.168.28.128。
2、获取集群扩容所需文件,从集群安装目录/ClientTools/guitools/DeployTools/zip/目录下获取如下文件:
db.zip
V8.6_cluster_install.sh
install.conf
用户需要单独准备license.dat授权文件并上传,使用集群用户(操作系统用户,例如:kingbase),在待扩容节点C创建installdir/kingbase目录(installdir是集群安装路径,后续会配置在install.conf中),并将db.zip和license.dat拷贝到每个节点的installdir/kingbase目录(installdir是集群安装路径,后续会配置在install.conf中),并将db.zip和license.dat拷贝到每个节点的install_dir/kingbase目录下。在installdir/kingbase目录下解压db.zip,并将license.dat拷贝到解压后出现的installdir/kingbase目录下解压db.zip,并将license.dat拷贝到解压后出现的install_dir/kingbase/bin 目录下。需注意文件权限属主需为集群部署用户。
3、 启动sys_securecmdd
使用root用户在每个节点执行installdir/kingbase/bin/sysHAscmdd.shinit和installdir/kingbase/bin/sysHAscmdd.shinit和install_dir/kingbase/bin/sys_HAscmdd.sh start 来启动sys_securecmdd。
4、 配置install.conf
编辑$install_dir/kingbase/bin/install.conf配置文件,参见扩容配置文件install.conf配置,进行相关参数配置。
5、 集群扩容
扩容节点上集群部署用户执行 sh V8.6_cluster_install.sh expand命令进行集群扩容,一键部署脚本将按照配置自动完成集群扩容工作。
6、 扩容后检查
扩容成功后,请在主库(A节点)或扩容的备库(C节点)所在节点的集群目录(通用机install_dir)下,执行命令 "install_dir/bin/repmgr cluster show",确认是否真正成功扩容集群。
install.conf参数配置示例:
[expand]expand_type='1'primary_ip='192.168.28.126'expand_ip='192.168.28.128'license_file='license.dat-t'zip_package=""node_id='3'install_dir="/home/kingbase/cluster/shrinkandexpand"scmd_port="8890"ssh_port="22"net_device=(ens192)net_device_ip=(192.168.28.128)deploy_by_sshd=0
缩容:
1、准备扩容原集群,集群中有A、B、C三节点,A为主节点,B为standby节点,C为集群内待缩容节点,IP分别为192.168.28.126、192.168.28.127、192.168.28.128。
2、 获取集群缩容所需文件需获取如下文件
待缩容节点上安装目录下bin目录中的V8.6_cluster_install.sh
待缩容节点上安装目录下bin目录中的install.conf
3、 启动sys_securecmdd
使用root用户在每个节点执行installdir/kingbase/bin/sysHAscmdd.shinit和installdir/kingbase/bin/sysHAscmdd.shinit和install_dir/kingbase/bin/sys_HAscmdd.sh start 来启动sys_securecmdd。
4、 配置install.conf
编辑$install_dir/kingbase/bin/install.conf配置文件,参见缩容配置文件install.conf配置,进行相关参数配置。
5、 集群缩容
集群部署用户执行 sh V8.6_cluster_install.sh shrink命令进行集群缩容,一键部署脚本将按照配置自动完成集群缩容工作。
6、 缩容后检查
缩容成功后,请到C节点安装目录(通用机install_dir)下,执行"repmgr cluster show",确认是否真正成功缩容集群。
install.conf参数配置示例:
[shrink]shrink_type='1'primary_ip='192.168.28.126'shrink_ip='192.168.28.128'node_id='3'install_dir="/home/kingbase/cluster/shrinkandexpand"scmd_port="8890"ssh_port="22"
7.5.7.专用机扩缩容¶
7.5.7.1.操作步骤¶
1、 检查数据库已有集群状态正常
2、 获取集群扩缩容所需文件.
确认原集群已经安装成功,需确认如下文件:
安装目录/Server/bin/下的一键部署脚本 V8.6_cluster_install.sh
安装目录/Server/bin/下的脚本trust_server.sh(仅扩容需要)安装目录/Server/bin/下的配置文件install.conf
3、 每个节点初始化并启动sys_securecmdd
执行命令 /opt/Kingbase/ES/V8/Server/bin/sys_HAscmdd.sh init 和/opt/Kingbase/ES/V8/Server/bin/sys_HAscmdd.sh start 启动 sys_securecmdd。
4、 配置install.conf
在 "安装目录/Server/bin/" 目录下编辑install.conf配置文件,进行相关参数配置。
5、 集群扩缩容
移除扩容节点原有的data目录后,集群部署用户在 /opt/Kingbase/ES/V8/Server/bin/目录下执行 sh V8.6_cluster_install.sh expand/shrink命令进行集群缩容,一键部署脚本将按照配置自动完成集群缩容工作。
6、 缩容后检查
去到主库所在节点的集群目录(专用机/opt/Kingbase/ES/V8/Server/bin目录)下,执行对应的命令,确认是否真正成功缩容集群,即执行命令"/opt/Kingbase/ES/V8/Server/bin/repmgr cluster show"。
7.5.7.2.扩缩容示例¶
扩容:
1、准备集群设备A、B,待扩容节点C,IP分别为192.168.28.126、192.168.28.127、192.168.28.128。
2、 确保原集群状态正常。
3、 在安装目录/Server/bin目录下找到 V8.6_cluster_install.sh、install.conf文件。
4、请确认是否有变量需要更改,包括文件名是否正确、数据库参数是否需要修改等。
5、 由于专用机安装后会自动启动数据库,所以首先执行 ps -ef|grep kingbase 查看是否有数据库在运行,如果有,将数据库停掉,检查C设备,同时移除主备机原有data目录。
6、 执行 ps -ef|grep sys_securecmdd 查看 sys_securecmdd 是否处于启动状态,如果没有,请执行命令 /opt/Kingbase/ES/V8/Server/bin/sys_HAscmdd.sh init 和/opt/Kingbase/ES/V8/Server/bin/sys_HAscmdd.sh start 启动 sys_securecmdd。A,B 和C设备都要检查。
7、 在设备C上的/opt/Kingbase/ES/V8/Server/bin目录下,使用root用户执行sh V8.6_cluster_install.sh expand命令。
8、 集群扩容完成。
9、去到集群安装目录即/opt/Kingbase/ES/V8/Server/bin目录下连接数据库,执行命令"/opt/Kingbase/ES/V8/Server/bin/repmgr cluster show"查看集群是否正常。
[expand]expand_type="1"primary_ip="192.168.28.126"expand_ip="192.168.28.128"node_id="3"install_dir=""zip_package=""net_device=(ens192)net_device_ip=(192.168.28.128)license_file=(license.dat)deploy_by_sshd="0"ssh_port="22"scmd_port="8890"
缩容:
1、准备集群设备A、B,待缩容节点C,IP分别为192.168.28.126、192.168.28.127、192.168.28.128。
2、 确保已经安装专用机数据库,请使用专门的包管理器进行安装。
3、 在安装目录/Server/bin目录下找到V8.6_cluster_install.sh、install.conf文件。
4、请确认是否有变量需要更改,包括文件名是否正确、数据库参数是否需要修改等。
5、 执行 ps -ef|grep sys_securecmdd 查看 sys_securecmdd 是否处于启动状态,如果没有,请执行命令 /opt/Kingbase/ES/V8/Server/bin/sys_HAscmdd.sh init 和/opt/Kingbase/ES/V8/Server/bin/sys_HAscmdd.sh start 启动 sys_securecmdd。A,B 和C设备都要检查。
6、在设备A/C上的/opt/Kingbase/ES/V8/Server/bin目录下,使用root用户执行sh V8.6_cluster_install.sh shrink命令。
7、 集群缩容完成。
8、去到集群安装目录即/opt/Kingbase/ES/V8/Server/bin目录下连接数据库,执行命令 "/opt/Kingbase/ES/V8/Server/bin/repmgr cluster show"查看集群是否正常。
install.conf参数配置示例:
[shrink]shrink_type="1"primary_ip="192.168.28.126"shrink_ip="192.168.28.128"node_id="3"install_dir=""ssh_port="22"scmd_port="8890"
7.5.7.3.补充说明¶
1、 脚本在线扩容缩容暂未集成两地三中心功能。
2、扩容失败时,原集群数据节点数据不受影响,脚本退出后,再次扩容时,根据脚本提示进行操作即可。
3、缩容由于备库挂掉,而失败时,保留复制槽,此时数据库不可用,复制槽同样不可用,对读写分离集群功能不影响。
7.6.VIP管理¶
包括状态查看,添加删除vip。构造模拟vip不在集群节点的情景等(对应10.4—10.5).
一键启动集群添加加VIP是否成功
在一键启动集群时,会检测当前所配置的虚拟IP是否合法,包括IP格式是否正确,是否已经存在于其他设备上;如果发现虚拟IP不可用,则会报错退出。
下面是针对此场景进行的简单模拟:
将集群VIP添加到其他集群外设备上,构造集群主机添加VIP失败情景:
启动集群失败,报错退出:
手动添加删除VIP
#添加VIPkbha -A loadvip kbha -A arping#删除VIPkbha -A unloadvip
所有节点连接测试ping VIP是否成功
在一键启动集群时,除了检测虚拟IP是否可用外,在主机成功添加虚拟IP后,会对该IP进行连接测试,如果在所设置的时间内无法ping通虚拟IP,则集群启动失败,报错退出。
7.7.主备库的数据检查¶
LSN,即日志序列号,是WAL日志的全局唯一标识。
在一键启动集群时,会通过LSN检测当前主机与备机之间的数据差异,如果主备机之间的数据差异超过所设置的阈值(默认为16MB),则集群启动失败,报错退出。
下面是针对此场景进行的简单模拟:
停止集群,启动主机DB,ksql连接主机数据库,将集群同步模式改为异步模式:
图 7.7.1集群同步模式改为异步模式¶
在主库中插入大量数据:
图 7.7.2主库中插入大量数据¶
启动集群失败,报错退出:
图 7.7.3启动集群失败,报错退出¶
7.8.主备库的连接检查¶
在一键启动集群时,当备库无法连接主库时,也会导致集群启动失败,报错退出。
下面是针对此场景进行的简单模拟:
停止集群,删除主库复制槽:
图 7.8.1停止集群,删除主库复制槽¶
启动集群失败,报错退出:
图 7.8.2启动集群失败,报错退出¶
7.9.集群同异步一致性¶
在一键启动集群时,会检查配置文件repmgr.conf中synchronous的值与执行SQL语句“show synchronous_standby_names;”得到的值是否一致,如果不一致,则将会更改集群的同异步模式,使其与配置文件保持一致。
图 7.9.1集群同异步一致性¶
7.10.一键修改密码¶
集群部署完成后,会涉及两个数据库用户:
system,超级用户,默认密码12345678ab,初始化数据库时使用的默认用户
esrep,超级用户,默认密码Kingbaseha110,集群部署过程中创建的用户,专门用于集群
同时,在集群部署完成后,会有多个文件保存数据库用户的密码,用作不同的用途:
~/.encpwd,数据库免密文件,加密保存system和esrep用户的密码,集群中的守护进程、命令行工具或其他应用在集群节点使用system或esrep用户连接数据库时,默认使用此文件中的密码。
${集群}/etc/all_nodes_tools.conf,监控配置文件,加密保存system用户的密码,信息收集进程postgres_exporter读取此文件中的用户和密码连接本地数据库,获取数据库信息并提供给监控工具kmonitor。
注:以上文件每个节点都有一份,所有节点的同名文件内容都相同。
在修改集群用户(system或esrep)密码时,需要同步修改以上密码文件,才能保证集群部分功能能够正常使用。KingbaseES提供了命令工具以便一键修改数据库密码和对应的密码文件:
sys_monitor.sh change_password user new_password
—修改集群使用的用户的密码
描述
该命令行工具会自动判断用户是否为集群使用的用户,如果是集群用户(system或esrep)则成功修改用户密码,如果不是集群用户则提示用户"集群未使用该用户,请使用sql方式修改用户密码"
选项
change_password
脚本调用修改用户密码函数,固定传此字符串。
user
要进行修改密码的用户,只能是集群初始化时指定的用户和esrep
new_password
用户的新密码
示例:
1.必须在集群所有节点状态正常的情况下才能执行修改密码操作。
2.【sys_monitor.sh change_password user'password'】使用一键修改密码功能时 密码参数必须使用单引号''括起来。
3.判断该用户是否为集群用的标准:用户与密码已经保存在.encpwd免密配置文件中。
7.11.一键修改集群参数¶
sys_monitor.sh set/set --restart —一键修改集群配置和数据库配置
sys_monitor.sh set 脚本读取配置文件set_repmgr.conf和set_db.conf中的配置,分别修改集群配置文件repmgr.conf和集群中数据库配置文件es_rep.conf。
在 ${集群目录}/etc目录下配置set_repmgr.conf,该配置文件中设置参数,修改集群repmgr.conf文件:
例:
图 7.11.1修改集群repmgr.conf文件¶
在${集群目录}/etc目录下配置set_db.conf,该配置文件中设置参数,修改集群中所有数据库的es_rep.conf文件:
例:
图 7.11.2修改集群es_rep.conf文件¶
以下是脚本执行参数:
set
脚本调用修改集群和数据库配置函数,固定传此字符串。
set --restart
脚本调用修改集群和数据库配置函数,并重启集群。如果修改的参数必须重启数据库才能生效时,使用该项
例:
图 7.11.3一键修改集群配置和数据库配置¶
例:
图 7.11.4一键修改集群配置和数据库配置¶
1.必须在集群所有节点状态正常的情况下才能执行修改参数操作。
2.set_db.conf配置要求:
不可以配置port参数
不可以配置kingbase.conf中没有的参数
不可以给参数配置错误的值
3.set_repmgr.conf配置要求:
不建议修改路径相关和数据库连接串等参数;建议仅修改以下参数:
reconnect_attempts
reconnect_interval
recovery
trust_servers
7.12.控制文件多路备份配置¶
KingbaseES数据库控制文件至关重要,它关系到数据库能否正常启动,数据是否会丢失等问题。因此开发控制文件多副本功能,用以备份数据库控制文件,保证数据库的高可用性。
7.12.1.配置参数说明¶
参数名称:control_file_copy
参数所在配置文件:kingbase.conf
如果当前是集群环境,也可以配置在es_rep.conf文件中
7.12.2.使用约束¶
修改参数前,请仔细阅读以下约束。
参数支持配置成相对路径、绝对路径两种方式,当为相对路径时,会默认将该相对路径存放在data目录下;
参数值不能仅仅只是目录,后面必须跟文件名;
参数值不能是当前用户没有权限的路径;
Windows平台参数值内的目录分隔符支持正斜杠(/)字符,若使用反斜杠(\)字符则需要转义(C:\\backup\\sys_control);
Windows平台,若参数值含有中文,则需要将kingbase.conf改为ANSI编码方式;
最多只能配置8个控制文件副本,超过8个则默认只保留前8个;
如果在数据库启动状态修改该参数,则需要重启数据库,新的副本文件才能生效;
控制文件的副本名长度不能超过系统创建文件名的最大字节,否则会报错;
所配置的控制文件副本名成不能是当前路径下已存在的目录名;
控制文件多副本参数control_file_copy=’’,其等号后面的内容(路径和文件名)都必须使用单引号括起来。
7.12.3.操作步骤¶
7.12.4.参数配置操作步骤及示例¶
初始化数据库;
打开data/kingbase.conf文件;
按照要求修改 control_file_copy 的值,重启数据库;
使用md5sum命令对比副本文件与原控制文件是否一致;
若因控制文件错误导致数据库启动失败,可将原控制文件备份或移除,后将副本文件拷贝到原控制文件的路径下并与原控制文件保持同名,替换完成后重新启动数据库即可。
部署集群;
打开主机data/es_rep.conf文件;
按照要求在文件中新增一行 control_file_copy 的值,重启集群;
使用md5sum命令对比副本文件与原控制文件是否一致;
若因控制文件错误导致集群启动失败,可将原控制文件备份或移除,后将副本文件拷贝到原控制文件的路径下并与原控制文件保持同名,替换完成后重新启动集群即可。
7.12.5.操作示例¶
初始化数据库:
图 7.12.1初始化数据库¶
打开kingbase.conf文件,修改参数值:
图 7.12.2修改参数值¶
启动数据库:
图 7.12.3启动数据库¶
由于配置的相对路径,查看data目录下是否生成对应文件:
图 7.12.4查看data目录下是否生成对应文件¶
使用md5sum命令对比控制文件副本与原控制文件,确认是否一致:
图 7.12.5对比控制文件副本与原控制文件¶
部署集群(可选择工具部署,或使用一键部署脚本部署,这里以脚本部署为例):
图 7.12.6部署集群¶
修改data/es_rep.conf文件:
图 7.12.7修改data/es_rep.conf文件¶
重启集群:
图 7.12.8重启集群¶
由于配置的绝对路径,查看是否在所配置目录下生成该文件:
图 7.12.9查看是否在所配置目录下生成该文件¶
使用md5sum命令对比副本文件与原控制文件是否一致,Windows平台可使用certutil.exe工具:
图 7.12.10对比副本文件与原控制文件是否一致¶
7.13.一键检查数据库状态¶
在数据库运维过程中,需要定期的对数据库的环境进行检查,可以帮助用户减少数据库发生问题的概率。检查最好以脚本形式实现,然后定期执行,减少运维难度。一键检查数据库状态脚本可以快速的检查数据库状态以及运行环境,支持单机或者主备集群使用。
调用脚本时,使用 -D 参数指定数据库 data 目录,脚本会自动根据 data 目录来判断是单机还是集群。单机只检查本机的状态,集群会检查所有节点的状态。在检查过程中会连接数据库,单机使用 chk.conf 配置文件中配置的kb_user 和 kb_database 进行连接,连接过程中需要手动输入密码。集群使用流复制用户进行连接,不需要输入密码。
调用脚本时,如果没有传入 data 目录,则将跳过连接数据库的检查,仅检查本机的状态。
注意
一键检查数据库状态脚本只支持linux通用机,只支持使用bash语言执行。
配置文件chk.conf,和一键检查数据库状态脚本一起存放在数据库的bin目录下,此配置文件中可以修改数据库连接信息和参数建议信息。用户可以根据自己需要进行修改。
# general configip_path="/usr/sbin"sysctl_path="/usr/sbin"tc_path="/usr/sbin"# database settingkb_user="system"# only single kingbase is effectivekb_database="test" # only single kingbase is effectivekb_port="54321"# only single kingbase is effectivekb_data="" # kingbase data absolute path.kb_port_sshd="22" # ssh port# result save. result file will save into this path.result_save_path=""# unattended settingcrond_month="*"# crontab rules must be observedcrond_day="*" # crontab rules must be observedcrond_dayofweek="*" # crontab rules must be observedcrond_hour="0" # crontab rules must be observedcrond_minute="0"# crontab rules must be observed# env parametersreco_ulimit_n=655360 # ulimit -n recommended valuereco_ulimit_u=655360 # ulimit -u recommended valuereco_ulimit_l=50000000 # ulimit -l recommended valuereco_ulimit_c=unlimited # ulimit -l recommended value# kernel settingreco_kernel_sem="5010 641280 5010 256"reco_fs_file_max="7672460"reco_fs_aio_max_nr="1048576"reco_net_core_rmem_default="262144"reco_net_core_rmem_max="4194304"reco_net_core_wmem_default="262144"reco_net_core_wmem_max="4194304"reco_net_ipv4_ip_local_port_range="9000 65500"reco_net_ipv4_tcp_wmem="8192 65536 16777216"reco_net_ipv4_tcp_rmem="8192 87380 16777216"reco_vm_min_free_kbytes="521000"reco_vm_vfs_cache_pressure="200"reco_vm_swappiness="20"reco_net_ipv4_tcp_max_syn_backlog="4096"reco_net_core_somaxconn="4096"# resource checkreco_cpu_usage="70" # when >=70% , warningreco_mem_usage="70" # when >=70% , warningreco_mem_free_count="1024" # fixed in unit MB , when <1024, warningreco_disk_free_count="1024" # fixed in unit MB , when <1024, warningdisk_space_check=() # directory absolute path. split with space. cannot wrapread_write_check=() # directory adsolute path. split with space. cannot wrap# config parametersreco_wal_level=replicareco_checkpoint_timeout=300 # 300sreco_max_wal_size=1024# 1024 MB## config parameters. only cluster will checkreco_failover=automaticreco_recovery=standbyreco_auto_cluster_recovery_level=1reco_use_check_disk=onreco_max_standby_streaming_delay=30000 # 30000ms# check filecluster_file_in_home=(".es/accept_hosts" ".es/key_file") # relative pathsingle_file_in_home=() # relative pathcluster_file_in_data=("global/sys_control") # relative pathsingle_file_in_data=("global/sys_control") # relative path# database checkreco_log_min_duration_statement=5 # default 5s. slow sqlreco_dead_tup_rate=10 # 10%reco_dead_tup_count=1000# when dead_tup > reco_dead_tup_count , the reco_dead_tup_rate will become effectivereco_standby_replay_delay_time=0 # 0s. alarm when standby replay delay time great than reco_standby_replay_delay_timereco_time_interval_with_last_checkpoint=300 # last checkpoint time and now time interval. if it great than 300s. alarm
使用:
一键检查数据库状态的入口文件是KBchk.sh。会自动根据传入的 data 目录判断当前环境是单机还是集群。单机只检查本机,集群会检查所有能连接的节点。配置文件会自动在集群间自动同步。
usage:./KBchk.sh options.options:-b: do physical backup validity check.-c: do config check.-d: do database check.-e: do environments check.-f: do files check.-p: do process check.-r: do resources check.-D: input kingbase data. and do health check.-s: unattended setting. action contains [init | start | stop]
系统环境检查(-e)
可通过 KBchk.sh -e调用do_env_chk.sh 脚本检查系统环境,也可以直接调用do_env_chk.sh脚本。单独调用do_env_chk.sh进行检查时,无论传入的 data 是单机还是集群,只会检查当前节点。
usage:./do_env_chk.sh optionsoptions:-D: kingbase data absolute path.
检查项:
物理备份检查(-b)
可通过 KBchk.sh -b调用do_backup_chk.sh 脚本检查是否配置了物理备份和物理备份的有效性,也可以直接调用do_backup_chk.sh脚本。单独调用do_backup_chk.sh进行检查时,无论传入的 data 是单机还是集群,只会检查当前节点。
usage:./do_backup_chk.sh optionsoptions:-D: kingbase data absolute path.
检查项:
配置参数检查(-c):
可通过 KBchk.sh -c调用do_config_chk.sh脚本检查是否配置了物理备份和物理备份的有效性,也可以直接调用do_config_chk.sh脚本。单独调用do_config_chk.sh进行检查时,无论传入的 data 是单机还是集群,只会检查当前节点。
usage:./do_config_chk.sh optionsoptions:-D: kingbase data absolute path.
检查项:
数据库健康检查(-d):
可通过 KBchk.sh -d调用do_database_chk.sh 脚本检查是否配置了物理备份和物理备份的有效性,也可以直接调用do_database_chk.sh脚本。单独调用do_database_chk.sh进行检查时,无论传入的 data 是单机还是集群,只会检查当前节点。
usage:./do_database_chk.sh optionsoptions:-D: kingbase data absolute path.
检查项:
文件检查(-f):
可通过 KBchk.sh -f调用do_file_chk.sh脚本检查是否配置了物理备份和物理备份的有效性,也可以直接调用do_file_chk.sh脚本。单独调用do_file_chk.sh进行检查时,无论传入的 data 是单机还是集群,只会检查当前节点。
usage:./do_file_chk.sh optionsoptions:-D: kingbase data absolute path.
检查项:
进程状态检查(-p):
可通过 KBchk.sh -p调用do_process_chk.sh脚本检查是否配置了物理备份和物理备份的有效性,也可以直接调用do_process_chk.sh脚本。单独调用do_process_chk.sh进行检查时,无论传入的 data 是单机还是集群,只会检查当前节点。
usage:./do_process_chk.sh optionsoptions:-D: kingbase data absolute path.
检查项:
系统资源检查(-r):
可通过 KBchk.sh -r调用do_resource_chk.sh 脚本检查系统资源,也可以直接调用do_resource_chk.sh脚本。单独调用do_resource_chk.sh进行检查时,无论传入的 data 是单机还是集群,只会检查当前节点。
usage:./do_resource_chk.sh optionsoptions:-D: kingbase data absolute path.
检查项:
无人值守(-s):
可通过 KBchk.sh -s 配置无人值守,要求在 chk.conf 中配置月、天、时、分、周等间隔值,规则同 crontab 保持一致。无人值守依赖于 crontab 服务,在配置前需要检查 crontab 服务是否正常。
#初始化无人值守参数
#单机版配置无人值守时,会要求输入数据库登录密码,登录用户名、dbname等信息可在chk.conf 中修改 KBchk.sh -s init #启动无人值守
#会在/etc/cron.d/KINGBASECRON(凝思系统为/etc/crontab)文件中添加自动执行规则 KBchk.sh -s start #停止无人值守
#会删除/etc/cron.d/KINGBASECRON(凝思系统为/etc/crontab)文件中的自动执行规则KBchk.sh -s stop
屏幕输出结果如下:
Start resource check ...check CPU usage OKcheck Memory usageOKcheck MemoryWARNING The free should > 1024 Mcheck disk free space of data dirOKcheck attr of data dirOKcheck owner of data dirOKcheck write to data dirOKcheck read from data dir OKcheck disk free space of sys_wal dir OKcheck attr of sys_wal dir OKcheck owner of sys_wal dir OKcheck write to sys_wal dir OKcheck read from sys_wal dir OK
如果 chk.conf 中配置了 result_save_path 则会在该目录下保存结果文件。结果文件名为 one_step_check_result${time}.log
7.14.日志收集分析工具¶
针对集群中守护进程日志的收集分析工具,可以一键收集各个节点的日志文件,可对日志进行过滤并将结果输出到文件。在bin目录下已带有halog_analyse.sh、halog_analyse、halog_collect,share目录带有halog_analyse.conf配置文件。
配置文件halog_analyse.conf
其中,kb_bin_path、local_ip、node_ips、remote_user必须配置后,才能使用此工具。
使用方法
约束:
必须配置本机到各节点的免密登录。
remote_user对需要收集的文件有读取权限。
本地用户对anal_file_save_path和result_file有读写权限。
所配置的端口号没有被占用。
配置halog_analyse.conf文件后,执行以下命令开始收集和分析日志:
halog_analyse.sh halog_analyse.conf
图 7.14.1日志收集及分析¶
如果日志文件已收集,可以执行以下命令来分析日志:
halog_analyse.sh halog_analyse.conf -a
图 7.14.2分析已收集的日志¶
分析后,所有符合条件的日志会根据时间线排序,全部输出到结果文件中。
图 7.14.3排序后的日志¶
在分析过程中,会以本机的时区和系统时间自动对每个节点进行时间校准。在日志文件收集过程中,会收集每个节点的系统时间,然后和本机系统时间计算一个时间差, 保存到anal_file_save_path目录下。结果文件中会自动加上已校准的时间。
图 7.14.4添加已校准时间后的日志¶