01
前言
KFS(Kingbase FlySync)是金仓研发的异构数据同步产品,可在2-n个同构/异构数据库之间实现数据同步,和0GG是同类数据同步软件,但KFS功能更强大。
KFS 产品典型应用场景包括:异地灾备、数据汇集、数据分发、负载分流、在线迁移、双轨并行数据迁移等。
01
KFS项目交付流程
1、需求及可行性评估
收集客户需求、软硬件环境、数据库版本、表的数据类型、主外键约束等信息,结合 KFS 的产品能力提前发现和规避部署过程中可能出现的问题,减少后续不需要的返工投入和系统上线运行风险。
2、部署方案设计
(1)规划KFS的物理拓扑:管控平台、比对服务、同步服务等组件需要运行的物理节点。
(2)规划KFS的逻辑拓扑:各组件之间的连接方式、系统运行时需要启动的服务数量、以及各个服务之间的交互关系。
3、存量数据迁移
判断是否需要进行存量历史数据的迁移,并根据需要迁移的数据量大小、同构异构、迁移工具能力特点,制定迁移策略并实施。
4、增量数据同步
根据数据同步需求和部署方式限制,选择增量数据的抽取和加载方式(同机redo,异机logminer)判断是否需要进行数据转换、以及制定具体的转换策略。
5、功能和性能验证及问题解决。
在正式上线前进行1比1的功能验证和性能压力测试: 将实际产品运行过程在可能出现的问题提前暴露出来,进行调优和优化,确保上线后系统运行稳定。
6、运维方案设计
数据同步系统正式上线运行后,制定保障系统正常运行的运维策略和故障应急处理方案,包括连续性、一致性和时效性的保障。
7、回切方案及系统重建
针对于容灾场景,制定当主库发生故障,需要将业务切换至备库时的切换方案; 以及主库恢复后需要重新进行数据同步时的同步系统恢复方案。
02
需求评估工具说明

03
KES 评估工具部署
1、创建flysync运行账号
[root@node1 ~]# useradd flysync
[root@node1 ~]# echo flysync|passwd --stdin flysync
更改用户 flysync 的密码 。
passwd:所有的身份验证令牌已经成功更新。
复制
[root@node1 ~]# id flysync
用户id=1002(flysync) 组id=1002(flysync) 组=1002(flysync)
[root@node1 ~]# usermod -G kingbase flysync
[root@node1 ~]# id flysync
用户id=1002(flysync) 组id=1002(flysync) 组=1002(flysync),1001(kingbase)
[root@node1 ~]#
复制
3、为了操作数据库时,不用每次切换到kingbase用户,这里将kingbase数据库中的环境变量添加到flysync用户
su – flysync
vi ~/.bash_profile
export KINGBASE_HOME=/KingbaseES/V9/Server
export KINGBASE_DATA=/data
export PATH=$PATH:/KingbaseES/V9/Server/bin
export KINGBASE_PORT=54321
source ~/.bash_profile
复制
4、上传并解压KFS评估工具
将KFS评估工具上传至/install目录中
使用root命令授权:
[root@node1 install]# chown flysync:flysync install
[root@node1 install]# chown flysync:flysync install/KingbaseFlySync-V002R002C004B20240919-evaluate-x64.tar.gz
--切换flysync用户:
su – flysync
cd /install
[flysync@node1 install]$ tar -zxvf KingbaseFlySync-V002R002C004B20240919-evaluate-x64.tar.gz
复制

cd /install/KingbaseFlySync-V*-evaluate/lib/
cp /KingbaseES/V9/Interface/jdbc/kingbase8-9*.jar .
复制

cd ~
cat >> ~/.bash_profile << EOF
export PATH=\$PATH:/install/KingbaseFlySync-evaluate/bin
EOF
source ~/.bash_profile
复制

#收集本机服务器信息:
repevaluate -assess RuntimeEnv
复制

#收集远程服务器信息
repevaluate -assess RuntimeEnv -envHost 192.168.40.40 -envPort 22 -envUser root -envPass kingbase.123
复制

repevaluate -role master -dbtype oracle -assess all -host 192.168.40.40 -port 1521 -user SPACE01 -pass space01 -db orcl -schema SPACE01 -envHost 192.168.40.40 -envPort 22 -envUser root -envPass kingbase.123
复制


repevaluate -role master -dbtype oracle -assess all -host 192.168.40.40 -port 1521 -user SPACE01 -pass space01 -db orcl -schema SPACE01 -envHost 192.168.40.40 -envPort 22 -envUser root -envPass kingbase.123 -path /install
复制

