XSKY容器方案通过Veeam验证,可实现云原生应用的存储、备份和容灾

2022/10/20

发展云原生生态圏是 Veeam的又一重要战略,该战略以Kasten by Veeam为圆心,分为三个重要的组成部分:公有云厂商、K8S分发版本和云原生存储厂商。云原生的领域中,与云原生生态所适配的存储已经成为大家所关注的热点。

Veeam China在中国的云原生生态战略布局中,积极与国内多家云原生存储厂商合作。XSKY CSI容器存储解决方案,已助力多家企业实现云原生存储转型,是国内率先通过K8S CSI认证的SDS厂商,同时也是国内加入CNCF Landscape全景图的SDS厂商之一。

近日,Veeam China通过实测验证了XSKY CSI容器存储解决方案可实现云原生应用的存储、备份和容灾。现将实测验证过程予以转发,以飨读者。


验证目标

本次验证场景中,我们将结合XSKY CSI容器存储解决方案保护云原生应用的方式。

- 利用Kubestr对云原生存储进行评测

- 利用K10对存储CSI API进行调用生成快照,达成最快速的RPO 与RTO的备份与恢复

- 利用XSKY对象存储,将快照数据导出到对象存储桶上,实现异地容灾与数据长期保留XSKY对象存储


达成效果

- 利用XSKY CSI快照,在本地Kubenetes环境,云原生应用的快速备份与恢复(利用CSI快照)

- 利用XSKY对象存储,在本地形成长期保留

- 利用Kasten K10将数据容灾到远端,或利用XSKY对象存储实现存储桶的复制,实现 3-2-1-1-0的数据保护


Kasten 与 XSKY

Kasten是Veeam在Kubernetes平台的数据管理解决方案,通过部署Kasten K10,企业可安全备份和还原、执行灾难恢复以及迁移云原生的应用、Kubernetes集群资源和持久卷等存储资源,解决用户备份、灾难恢复、迁移过程中的数据管理问题,提高云原生环境数据管理的便捷性,帮助用户降低灾备成本,提高生产执行效率。


XSKY星辰天合作为国内率先通过K8S CSI认证的SDS厂商,同时也是加入CNCF Landscape全景图的SDS厂商之一,针对企业云原生业务提出了基于软件定义存储(SDS)的容器存储解决方案。解决了需要敏捷性、并能够同时访问多个应用程序容器的数据流动性问题,同时还提供包括快照、克隆和复制等高级存储特性。

· 标准接口,统一存储:实现标准的K8S CSI接口,无缝支持K8S生态,支持 iSCSI和NFS两种接口,实现块和文件的统一存储。

· 存算分离,稳定可靠:将计算和存储分离,实现资源隔离,可独立对存储集群进行扩容;基于数千个企业级生产案例的最佳实践,XSKY星辰天合分布式存储为容器平台提供稳定可靠的保障。

· 性能卓越,特性丰富:可根据应用需要提供SSD、混合盘以及全HDD等存储资源,通过XSKY SDS IO全路径的性能优化能力,获得卓越性能;除了支持裸设备、卷扩容、卷克隆、卷快照和QoS等基础特性,也支持延展集群和MPIO等高级特性。


测试环境配置检查

检查 Nodes 及其资源

测试环境如下:由三个Nodes组成, 一个Master与两个Worker。


检查CSI Driver是否部署成功

安装driver,所有pod状态为running,部署成功。关于XSKY CSI Driver部署,请联系XSKY专业人员。


检查 K8S api-versions

版本最低要求为v1beta1


配置测试环境存储与快照类

配置 storageclass
设置存储类为默认


配置 volumesnapshotclass

设置快照类为注释提示K10进行调用K10进行调用


用 Kasten kubestr 进行评测

Kubestr是一个简单的轻量级工具,用于评估集群中的存储选项。

可帮助您发现、验证和评估您的kubernetes云原生存储,以明确当前配置的状态与存储能力是否满足应用的要求。当比较跨多个集群、云平台与存储选项的性能时,还可以通过切换Kubeconfig使其跨多个集群运行。

Kubestr的安装

点击这里可直接下载您所需要的Kubestr版本。

用wget可以直接获取Kubestr软件包, 并解包


检查kubenetes环境和StorageProvisioners


进行快照功能测试

目的是简单快速进行快照功能验证,在验证过程中,kubestr会创建一个Pod,在其上绑定PVC,再对其进行Clone操作。

测试过程中,我们可以查看Pod和绑定的PVC。


进行简单的性能测试

性能测试的默认用例将涉及如下场景,同时默认的存储性能测试会创建一个100G的卷。

如果您希望调整测试场景与卷大小,可使用-f来写配置文件,-z选项来指定卷的大小。

详细情况见如下的帮助提示:

blocksize=4Kfilesize=2Giodepth=64rw=randread
blocksize=4K
filesize=2G
iodepth=64
rw=randwrite
blocksize=128K
filesize=2G
iodepth=64
rw=randread
blocksize=128K
filesize=2G
iodepth=64
rw=randwrite


安装 Kasten K10 到 K8S 集群

获取Helm Chart供本地使用


建立名空间


安装Kasten K10

目前在不同的K8S环境下部署K10有很多参数需要设置,此时我们需要查阅部署参数。


确认Kasten K10 Pod及Service的部署情况


访问K10控制台

通过查看K8S Service,可以看到K10的ingress配置。

其中的Gateway-ext,查看访问K10的IP地址。

访问: ", roboto, "helvetica neue", helvetica, "pingfang sc", "hiragino sans gb", "microsoft yahei", simsun, sans-serif;">http://10.252.3.229:31940/k10/#

用Chrome浏览器访问:

http://10.252.3.229:31940/k10/#


Kasten On XSKY保护云原生应用测试

测试应用mysql的安装


应用程序发现

在应用程序安装完成之后,就可以在Application列表中发现这个应用了


应用程序的备份与恢复

· 建立MySQL数据集


· 创建Policy保护MySQL应用

创建Policy保护MySQL应用,之后点击Run Once

查看Dashboard中的快照备份已经完成,并生成了还原点:

查看系统中快照已经生成:


· 模拟灾难删除MySQL数据


· 还原MySQL数据
要恢复丢失数据,需要使用之前创建的备份时间点,进行Policy的Restore操作。

新建一个namespace mysql-resore1。

在恢复的过程中我们可以观察Dashboard或从命令行查看新的Namesspace中Pod的部署情况, 这时查看系统可以发现K10利用快照Clone出的新的PVC:

DataSource:Snapshot,k10-csi-snap-c6j28vzklskt59s8


· 查看还原后的MySQL数据

查看已经删除的数据表,可以看到数据已经恢复了


将数据Export到XSKY的对象存储

创建Location Profile


编辑Policy设定将快照备份导出到XSKY对象存储


点击Run Once运行新规则


查看数据备份进程

如下图,我们可以看到数据已经Export到S3Bucket,并且意识到这是数据库应用,自动开启Kanister应用感知的备份。

从XSKY的S3存储桶上可以浏览到,数据已经存在


利用对象存储库的备份集进行恢复

查看还原的进程


从K8S上确认数据已经恢复


从Kasten K10上观察存储库的数据使用情况


利用存储桶复制的方法避免人为错误

在日常运维过程中,有时会因为人为的原因导致本地的存储桶数据丢失。这时我们可以使用XSKY对象存储的桶复制功能,直接将存储桶的数据复制到远端,在设置桶复制规则时,可以设置为禁用删除操作,这样我们就可以避免人为或逻辑错误,从远端的存储桶恢复数据了。

恢复时,我们只要选择Alternate Location Profile,并选择目标存储桶。

本次的实验环境:

源端:XSKY-S3-bucket

目标端:S3-bucket


总结

我们验证了结合XSKY CSI容器存储解决方案保护云原生应用的方法。

首先,我们利用Kubestr对云原生存储进行评测,并使用K10对存储CSI进行调用生成快照,达成最快速的RPO与RTO的备份与恢复,最后,我们利用XSKY的对象存储及桶复制功能,将快照数据导出到对象存储桶上,实现了异地容灾与数据长期保留。

欢迎与我们讨论您的观点与想法!


参考资料

[1]", roboto, "helvetica neue", helvetica, "pingfang sc", "hiragino sans gb", "microsoft yahei", simsun, sans-serif;">Kubernetes Container Storage Interface Documentation

[2]Kasten k10实战系列-03 CSI存储快照适配

[3]", roboto, "helvetica neue", helvetica, "pingfang sc", "hiragino sans gb", "microsoft yahei", simsun, sans-serif;">Kasten k10实战系列-04 利用 Kubestr 进行云原生存储能力评测

[4]", roboto, "helvetica neue", helvetica, "pingfang sc", "hiragino sans gb", "microsoft yahei", simsun, sans-serif;">Kasten k10 系统需求

[5]", roboto, "helvetica neue", helvetica, "pingfang sc", "hiragino sans gb", "microsoft yahei", simsun, sans-serif;">详解支持 kubernetes CSI的持久化容器存储

[6]", roboto, "helvetica neue", helvetica, "pingfang sc", "hiragino sans gb", "microsoft yahei", simsun, sans-serif;">同时支持iSCSI和NFS,XSKY SDS V5的K8s CSI卷扩展功能是如何炼成的

[7]", roboto, "helvetica neue", helvetica, "pingfang sc", "hiragino sans gb", "microsoft yahei", simsun, sans-serif;">XSKY 星辰天合云原生容器存储解决方案

[8]", roboto, "helvetica neue", helvetica, "pingfang sc", "hiragino sans gb", "microsoft yahei", simsun, sans-serif;">Complete List of K10 Helm Options

了解XSKY星辰天合技术实力

Copyright © 2022 北京星辰天合科技股份有限公司 版权所有

京公网安备11010802038698号 京ICP备 15052820号

全选