Klustron开启数据备份加密
Klustron开启数据备份加密
注意:
如无特别说明,文中的版本号可以使用任何已发布版本的版本号代替。所有已发布版本详见:http://doc.klustron.com/zh/Release_notes.html。
本文目标:
本文假设用户在操作前已熟悉如何在Klustron数据库中创建集群,并且了解如何准备好备份存储目标(此文中所配置的备份目标类型为HDFS)。在接下来的内容中,我们将创建开启备份加密的集群数据库,增加备份存储目标,对已有集群进行物理全备份,校验备份信息已加密,之后将完整备份集恢复到另一个集群,并将过程与步骤进行详细说明。该文中主要的测试过程都是通过XPanel控制台完成。
所有的测试都是通过XPanel控制台和PostgreSQL客户端连接数据库集群。XPanel服务安装的服务器IP是192.168.56.112。在能访问192.168.56.112的机器上打开浏览器,输入地址:http://192.168.56.112:18080/KunlunXPanel/#/login?redirect=%2Fdashboard
初次登录用户名和密码是:super_dba/super_dba,初次登陆需要修改super_dba密码。
登录后首页显示如下:
01 创建集群
创建一个集群,名称为“cluster1”, 该集群的计算节点IP为:192.168.56.112,服务端口为:47001。存储分片数量为1个,存储主节点IP为:192.168.56.113,服务端口为:57003
1.1 点击“集群管理”、“集群列表”,集群列表界面点击“新增”按钮。
1.2 新增集群,指定业务名称
1.3 选择存储节点和计算节点
1.4 新建的集群开启备份加密
1.5 新建集群概览信息
1.6 点击“确认”,查看创建集群任务的完成情况。
1.7 所有状态都是“运行中”, 集群创建完成。
02 增加备份存储目标
2.1 点击“备份存储目标管理”:
2.2 点击“新增“
2.3 输入相应的参数(本例中HDFS服务IP地址为:192.168.56.115,端口为:9000)
点击“确定”
2.4 添加备份存储目标完成:
03 准备试验数据
3.1 打开一个连向192.168.56.112的ssh终端窗口,以kunlun用户身份登陆该主机,然后用PostgreSQL客户端连接集群,创建测试表,并插入测试数据,
相应的指令:
[kunlun@kunlun1 ~]$ id
[kunlun@kunlun1 ~]$ source /kunlun/env.sh
[kunlun@kunlun1 ~]$ psql -h 192.168.56.112 -p 47001 -U abc postgres
postgres=# CREATE TABLE testtable1 (id int primary key);
postgres=# insert into testtable1 values(1);
postgres=# select * from testtable1 ;
输出信息显示如下:
04 对集群“ cluster1” 进行全库备份操作
4.1回到浏览器窗口,在“集群列表”,可看到集群“cluster1”右侧有“设置”按钮
4.2 点击“设置”按钮
4.3 点击“全量备份”
4.4 点击“发起全量备份”
4.5 点击“全量备份记录”,在此可看到备份进行中的状态
如下是最终的结果状态信息(依实际库的大小和整个集群规模不同,整个备份过程持续的时间也相应的会不同)
05 查看备份信息已加密
5.1 到HDFS服务器上查看备份的文件,从显示的文件名看以encrypt为后缀
[root@hdfs ~]# su - kunlun
[kunlun@hdfs ~]$ hdfs dfs -ls /kunlun/backup/xtrabackup/cluster_1698657974_000001/shard_1
5.2 将备份文件从HDFS拷贝到linxu操作系统
[kunlun@hdfs ~]$ hadoop fs -get hdfs://192.168.56.115:9000/kunlun/backup/xtrabackup/cluster_1698657974_000001/shard_1/_xtrabackup_coldfile_I192#168#56#113_P57005_D2023#10#30_T19#51#19_.tgz.encrypt /home/kunlun
[kunlun@hdfs ~]$ pwd
/home/kunlun
[kunlun@hdfs ~]$ ls
5.3 从操作系统层面直接查看加密的数据库备份文件,查看到的备份文件存放的数据已加密,无法获取文件的数据信息。
[kunlun@hdfs~]$hexdump -C _xtrabackup_coldfile_I192#168#56#113_P57005_D2023#10#30_T19#51#19_.tgz.encrypt
06 创建另一个与 cluster1 同等配置的集群 cluster2
6.1 该集群的计算节点IP为:192.168.56.113,服务端口为:47001, 存储分片数量为1个,存储主节点IP为:192.168.56.114,服务端口为:57003
07 集群恢复 ( 回档 ) 操作
7.1 在集群“cluster2”右侧有“回档”按钮
7.2 点击“回档”按钮,在“原集群名称”处的下拉列表选择来源集群,此处只有一个可用集群,直接选“cluser_1700634045_000008”, 在“回档时间”弹出的时间日期选择器这里直接点“此刻”并“确定”
确认无误后,点击“确认”
备注:选择回档时间时,确保选择的时间点是任意一次全量备份时间至当前时间之间。
7.3 在弹出的提示窗口中,可看到声明信息说如果执行回档操作,则第二个集群“cluster2”(内部ID:cluster_1700635501_000009)的数据将会被覆盖, 点击“确定”执行全库恢复(回档)操作
7.4 系统弹窗提示,回档操作正在进行中
7.5 集群恢复(回档)成功后,显示如下提示
08 数据恢复检查
8.1 打开一个连向集群cluster2(计算节点IP:192.168.56.113)的ssh终端窗口,以kunlun用户身份登陆该主机,然后用PostgreSQL客户端连接集群,执行数据查询指令:
[kunlun@kunlun2 ~]$ id
[kunlun@kunlun2 ~]$ source /kunlun/env.sh
[kunlun@kunlun2 ~]$ psql -h 192.168.56.113 -p 47001 -U abc postgres
postgres=#select * from testtable1;
信息显示如下:
至此,集群开启备份加密的数据备份和恢复完成。