查看其中的accounts表,如上图,统计全部账户总金额,显示为10万。过程中重复多次查询总金额,结果均为10万,证明PolarDB-X在正常的转账测试场景下能够保证全局数据一致性。
我们将在业务流量的场景下,对PolarDB-X实例进行备份,并恢复,同时对恢复的实例验证数据一致性。
开启备份前,首先需要配置PolarDB-X备份集的存储方式。PolarDB-X开源版本备份集存储方式默认支持两种,分别是阿里云的OSS以及SFTP。本次实验采用SFTP的方式。准备SFTP的配置文件,如上图所示。
通过上图的kubectl patch命令使备份集的存储配置生效,再执行第二条命令重启HPFS组件。
上图为提前准备好的PolarDB-X backup的YAML文件。下面对PolarDB-X集群进行备份。
通过apply的方式创建PolarDB-X backup对象即可进行备份。然后通过kubectl get pxb-w观察备份进度,如下图所示。
备份完成后,删除创建的PolarDB-X集群,模拟数据丢失的情况。
上图为提前写好的YAML文件,定义了PolarDB-X恢复实例的规格以及相关属性。此处需要指定restore字段,指明通过前文创建的PolarDB-X backup备份集进行恢复。