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

由 XSKY星辰天合 发布于2021-10-14


发展云原生生态圏是 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 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 进行调用


用 Kasten kubestr 进行评测

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

Kubestr 的安装

下载 Kubestr, 从如下链接可以直接下载您所需要的 Kubestr 版本

https://github.com/kastenhq/kubestr/releases/tag/v0.4.17

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

检查 kubenetes 环境与 Storage Provisioners

进行快照功能测试

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

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

进行简单的性能测试

性能测试的默认用例将涉及如下场景,同时默认的存储性能测试会创建一个 100G 的卷,如果您希望调整测试场景与卷大小,可使用 - f 来写配置文件,-z 选项来指定卷的大小。详细情况见如下的帮助提示。

  • blocksize=4K filesize=2G iodepth=64 rw=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 地址,访问 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 运行新规则

查看数据备份进程

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

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

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

查看还原的进程,

从 K8S 上确认数据已经恢复

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

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

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

总结

我们验证了结合 XSKY CSI 容器存储解决方案保护云原生应用的方法。首先,我们利用 Kubestr 对云原生存储进行评测,并使用 K10 对存储 CSI 进行调用生成快照,达成最快速的 RPO 与 RTO 的备份与恢复,最后,我们利用XSKY的对象存储及桶复制功能,将快照数据导出到对象存储桶上,实现了异地容灾与数据长期保留,欢迎与我们讨论您的观点与想法!

参考资料

  • Kubernetes Container Storage Interface (CSI) Documentation

https://kubernetes-csi.github.io/docs

  • Kasten k10 实战系列 03 CSI 存储快照适配

https://www.data2clouds.com/?p=69

  • Kasten k10 实战系列 04 - 利用 Kubestr 进行云原生存储能力评测

https://www.data2clouds.com/?p=71

  • Kasten K10 系统需求

https://docs.kasten.io/latest/operating/footprint.html

  • 详解支持 kubernetes CSI 的持久化容器存储

https://www.xsky.com/tec/5609/

  • 同时支持iSCSI和NFS,XSKY SDS V5的K8S CSI卷扩展功能是如何炼成的

https://zhuanlan.zhihu.com/p/413226030

  • XSKY 星辰天合云原生容器存储解决方案

https://www.xsky.com/solution-cloud-native/

  • Complete List of K10 Helm Options

https://docs.kasten.io/latest/install/advanced.html

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

在线咨询:
9:00-18:00
快速响应您的问题

方案咨询

400-016-6101

售后支持

400-606-0072

官方微信