注:

使用 OCI 对象存储进行 Longhorn 备份,最大限度提高数据保护

简介

数据存储和备份是任何基础设施必不可少的部分。随着对基于云的解决方案的需求不断增长,选择能够满足组织不断增长的需求的存储选件非常重要。

Oracle Cloud Infrastructure (OCI) 对象存储是互联网规模的高性能存储平台,可提供可靠且经济高效的数据持久性。对象存储服务可以存储任意内容类型(包括分析数据和丰富的内容,例如图像和视频)的无限量非结构化数据。

Longhorn 是适用于 Kubernetes 的开源分布式块存储系统,可为有状态应用提供持久存储。Longhorn 备份是任何灾难恢复计划的重要组成部分。它们提供了一种在数据丢失或损坏时保护数据的方法,可以快速从任何意外事件中恢复。通过使用 Longhorn 备份,您可以降低数据丢失风险,并确保在需要时数据始终可用。

目标

使用 Oracle Cloud S3 兼容对象存储来存储 Longhorn 备份。

先决条件

任务 1:启用 S3 兼容 API

任务 2:生成密钥

任务 3:创建存储桶

任务 4:创建 Kubernetes 密钥

  1. 将所需信息转换为 Base64 格式。确保将以下占位符替换为实际值。以下代码将为您提供 Base64 转换的字符串作为输出。

    echo -n <OSS_URL> | base64
    echo -n <ACCESS_KEY> | base64
    echo -n <SECRET_KEY> | base64
    

    注:OSS_URL 是兼容 API URL: https://{bucketnamespace}。compat.objectstorage。{region}。oraclecloud.com ,您必须替换 bucketnamespaceregion 占位符。不支持虚拟主机样式访问。

  2. 创建将使用此信息创建新的 Kubernetes 密钥的 Kubernetes 规范文件。

    nano oci-secret.yaml
    
  3. 粘贴以下内容并替换占位符。

    apiVersion: v1
    kind: Secret
    metadata:
      name: oci-secret
      namespace: longhorn-system
    type: Opaque
    data:
      AWS_ACCESS_KEY_ID: <base64_encoded_access_key>
      AWS_SECRET_ACCESS_KEY: <base64_encoded_secret_key>
      AWS_ENDPOINTS: <base64_encoded_bucket_url>
    
  4. 保存该文件并运行以下命令进行应用。

    kubectl apply -f oci-secret.yaml
    

成功后,您将看到以下输出。

密钥输出

任务 5:配置 Longhorn

  1. 在浏览器中打开 Longhorn UI,然后转至 SettingGeneral

  2. 滚动到备份部分。将备份目标设置为 s3://\<bucketname\>@\<oci-region\>/,将备份目标身份证明密钥设置为 oci-secret 并保存。

  3. 转到备份部分,确保您没有看到任何错误。

配置 Longhorn

任务 6:创建备份并验证

  1. 在 Longhorn UI 中,转至,选择卷,然后单击快照和备份

  2. 单击 Create Backup

这将创建新备份并将其存储在配置的对象存储桶中。

卷

创建备份

备份列表

任务 7:验证 OCI 对象存储桶中的备份

存储桶备份

确认

作者 - Mayank Kakani(OCI 云架构师)

更多学习资源

探索 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 频道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。

有关产品文档,请访问 Oracle 帮助中心