IBM Cloud Docs
使用 Portworx 备份来备份和复原应用程序和数据

使用 Portworx 备份来备份和复原应用程序和数据

虚拟私有云 经典基础架构

Portworx Backup 是与任何 Red Hat OpenShift on IBM Cloud 集群兼容的 Portworx 专有备份解决方案。 您可以使用 Portworx 备份来跨多个集群备份和复原 Red Hat OpenShift on IBM Cloud 资源,应用程序和数据。 有关 Portworx Backup 的更多信息,请参阅 了解 Portworx Backup

要备份持久卷中的数据,必须具有支持集群中的快照的存储类。 缺省情况下,具有 Portworx Enterprise 的集群具有支持快照的可用存储类。 但是,对于没有 Portworx Enterprise的集群,您必须具有具有快照支持的存储类才能备份持久卷数据。 Block Storage for Classic 驱动程序和 File Storage for Classic 驱动程序没有支持快照的存储类。 如果您有使用这些驱动程序的工作负载,那么可以使用 Portworx 备份来备份应用程序,但不能备份持久卷中的数据。 有关更多信息,请参阅 使用 Portworx 备份备份和复原集群数据

请考虑使用 Portworx Enterprise,它提供了使集群中数据的 3 副本分布在多个专区中的选项。 在发生分区存储器故障时,Portworx 建议使用 PX 企业来利用此功能。 这有助于确保数据级别的可用性以及应用程序级别的可用性。

Portworx Satellite 集群不支持备份。

安装 Portworx 备份

开始之前:

如果要在新供应的集群中安装 Portworx 备份,那么在开始安装之前,必须至少登录一次

  1. IBM Cloud 目录打开 Portworx 备份服务。
  2. 选择要安装 Portworx 备份的集群所在的位置。 您可以在 Red Hat OpenShift on IBM Cloud 仪表板中找到集群的位置。
  3. 服务名称 字段中输入 Portworx 备份服务的名称。
  4. 选择要在其中创建 Portworx 备份服务的资源组。
  5. “标记”字段中,输入要安装PX-Backup的群集名称。 完成安装后,无法看到安装了 PX-Backup 的集群的名称。 为了日后更轻松地找到该集群,请确保输入集群名称和所有其他信息作为标记。
  6. 输入现有 IBM Cloud API 密钥。 输入 API 密钥后,将显示 Kubernetes 或 OpenShift 集群名称 字段。 如果您没有 IBM Cloud API 密钥,请参阅 创建 API 密钥 以创建 API 密钥。
  7. Kubernetes 或 OpenShift 集群名称 字段中,选择要安装 PX-Backup 的集群。
  8. 输入要在其中安装 Portworx 备份服务组件的 Red Hat OpenShift 项目的名称。 请勿使用 kube-systemdefault 命名空间。 如果您输入的 Red Hat OpenShift 项目在集群中尚不存在,那么将在安装期间自动创建该项目。
  9. 选择集群中的现有存储类,以便为 Portworx 备份服务供应持久卷。 该服务使用此存储器来存储服务元数据,而不用于备份应用程序和数据。 您的应用程序和数据将备份到 IBM Cloud Object Storage 服务实例
  10. 单击 创建 以开始 Portworx 备份安装。 安装可能需要几分钟才能完成。
  11. 验证是否正确安装了 Portworx 备份服务

验证您的 Portworx 备份安装

验证 Portworx 备份是否正确安装在集群上。

  1. 从 IBM Cloud 资源列表中,找到您创建的 Portworx 备份服务。
  2. 查看 Status 列以确定安装是成功还是失败。 阶段状态更新可能需要几分钟时间。
  3. 如果状态更改为 活动,请验证 Portworx 备份 pod,服务和作业是否正在集群中运行。
    1. 从 IBM Cloud 资源列表中,选择安装了 PX-Backup 的集群。
    2. 打开 Red Hat OpenShift 网页控制台。
    3. 点击“项目”。
    4. 选择安装了 Portworx 备份服务组件的名称空间。
    5. 库存 部分中,选择用于显示 pod 的选项。
    6. Pod 表中,验证每个 pod 的状态是否为 正在运行
    7. 点击 “网络”>“路线”。
    8. 找到 px-backup-ui 路线,并确认在 “位置”一栏中列出了 URL。
    9. 单击 工作负载> 作业
    10. 验证 pxcentral-post-install-hook 作业是否已完成。

通过 CLI

  1. 从 IBM Cloud 资源列表中,找到您创建的 Portworx 备份服务。
  2. 查看 Status 列以确定安装是成功还是失败。 阶段状态更新可能需要几分钟时间。
  3. 如果状态更改为 活动,请验证 Portworx 备份 pod 是否正在集群中运行。
    1. 访问 Red Hat OpenShift 集群
    2. 运行该命令以验证安装是否已完成。
      oc get po -n <px_backup_namespace> -ljob-name=pxcentral-post-install-hook  -o wide | awk '{print $1   $3}' | grep -iv error
      
      示例输出
      NAMESTATUS
      pxcentral-post-install-hook-5b86qCompleted
      

登录到 Portworx 备份控制台

通过安装服务的集群的 Red Hat OpenShift on IBM Cloud 仪表板中提供的 URL 访问 Portworx 备份控制台。

对于 VPC 集群

  1. 从 IBM Cloud 资源列表中,选择安装了 PX-Backup 的集群。
  2. 打开 Red Hat OpenShift 网页控制台。
  3. 点击 “网络”>“路线”。
  4. 找到 px-backup-ui 路径,点击 “位置”列中列出的 URL,打开 Portworx 备份控制台。
  5. 登录到 Portworx 备份控制台。 如果您是第一个访问控制台的用户,那么必须使用用户名 admin 和密码 admin 登录。 您将重定向到注册页面以设置唯一用户名和密码。 后续用户必须注册新帐户才能访问控制台。

对于公共经典集群

  1. 从 IBM Cloud 资源列表中,选择安装了 PX-Backup 的集群。
  2. 打开 Red Hat OpenShift 网页控制台。
  3. 点击 “网络”>“路线”。
  4. 找到 px-backup-ui 路由,并记下 位置 列中列出的 IP 地址和节点端口。
  5. 将 IP 地址和节点端口复制并粘贴到 Web 浏览器中,以打开 Portworx 备份控制台。
  6. 登录到 Portworx 备份控制台。 如果您是第一个访问控制台的用户,那么必须使用用户名 admin 和密码 admin 登录。 您将重定向到注册页面以设置唯一用户名和密码。 后续用户必须注册新帐户才能访问控制台。

对于专用经典集群,公开专用集群上的 px-backup-ui 服务以访问 Portworx 备份控制台

向 Portworx 备份服务添加备份位置

创建 IBM Cloud Object Storage 实例和存储区,并将其作为备份位置添加到 Portworx 备份服务。

开始之前,登录到 Portworx 备份控制台。 请注意,如果您是第一个访问控制台的用户,那么必须使用用户名 admin 和密码 admin 登录。 您将重定向到注册页面以设置唯一用户名和密码。 后续用户必须注册新帐户才能访问控制台。

  1. 创建 IBM Cloud Object Storage 服务实例
  2. 为 IBM Cloud Object Storage 服务实例创建服务凭证。 请确保通过单击“创建凭证”对话框中的 高级选项 并将 包含 HMAC 凭证 参数切换为 开启来启用 HMAC 认证。
  3. 在服务凭证表中展开凭证。 请注意 cos_hmac_keys 部分中的 access_key_idsecret_access_key
  4. 在 IBM Cloud Object Storage 实例中创建存储区
  5. 点击水桶,记下它的位置。
  6. 打开存储区配置页面,并记下必须用于连接到 IBM Cloud Object Storage 实例的端点。
    • 如果在专用经典集群上安装了 Portworx 备份,请记下 private 端点。
    • 如果在专用 VPC 集群上安装了 Portworx 备份,请记下 direct 端点。
    • 对于所有其他集群类型,请记下 public 端点。
  7. 在 Portworx 备份控制台中,单击 备份
  8. 点击设置>云设置
  9. 创建云帐户以将 IBM Cloud Object Storage 实例指定为存储数据和应用程序的备份位置。
    1. 对于云提供者,请选择 AWS / S3 兼容对象存储
    2. 输入云帐户的名称。
    3. 输入 access_key_id 您之前保存的。
    4. 输入 secret_access_key 您之前保存的。
    5. 单击 添加 + 并返回到“云设置”页面。
  10. 备份位置 部分中,添加 IBM Cloud Object Storage 存储区作为 Portworx 备份服务的备份位置。
  11. 输入备份位置的名称。
  12. 选择之前创建的云账户。
  13. 路径/存储桶字段中,输入存储桶的名称。
  14. 区域 字段中,输入先前检索到的存储区的位置。
  15. 端点 字段中,输入先前检索到的存储区的端点。
  16. 单击 添加 + 以创建备份位置。

将 Red Hat OpenShift on IBM Cloud 集群添加到 Portworx 备份服务

添加要使用 PX-Backup 备份的 Red Hat OpenShift on IBM Cloud 集群。 您可以选择帐户中的任何集群,包括安装了 PX-Backup 的集群。

开始之前:

kubeconfig 与Portworx备份将在 24 小时后过期。 要防止集群的 kubeconfig 文件到期,请使用 --admin 选项设置集群的上下文。

ibmcloud oc cluster config --cluster <cluster_name> --admin --endpoint private

添加集群:

  1. 在 Portworx 备份控制台中,单击 备份
  2. 单击添加集群
  3. 输入您要备份的集群名称。
  4. 在 CLI 中,获取集群的 kubeconfig 文件输出。 确保已使用 --admin 选项设置集群的上下文,以防止 kubeconfig 到期。
    oc config view --flatten --minify
    
  5. 复制整个 kubeconfig CLI 输出,并将其粘贴到 Portworx 备份控制台中的 Kubeconfig 字段中。
  6. 选择 其他 作为 Kubernetes Service
  7. 如果要添加到 Portworx 备份服务的集群中未安装 Portworx,那么 必须将 Stork 安装到集群上。 如果在集群中安装了 Portworx Enterprise,那么缺省情况下会安装 Stork。
  8. 单击提交。 如果已成功添加集群,那么会将您重定向到“备份”页面。 确保列出了集群。
  9. 从集群备份数据
  10. 重复这些步骤以向 Portworx 备份服务添加更多集群。

在非Portworx 集群上安装 Stork

如果要使用 Portworx 备份进行备份的集群上未安装 Portworx Enterprise,那么必须先将 Stork 安装到集群上,然后再将其添加到 Portworx 备份服务。

  1. 从 Portworx 备份控制台中的“添加集群”页面,复制命令以在 非 PX 集群上安装 Stork。

  2. 打开文本编辑器并粘贴命令。

  3. 复制命令中的 URL,并将其输入到您的网络浏览器中,以打开Stork安装的YAML文件。

  4. 将整个 YAML 文件复制并粘贴到文本编辑器中的新文件中。

  5. 如果要添加的集群是专用集群,请找到 image 字段并将 openstorage/stork:<version_number> 替换为 icr.io/ext/portworx/stork:<version_numer>。 要查找 Stork 的最新可用版本,请参阅 Stork 发行版

    - --health-monitor-interval=120
    - --webhook-controller=false
    image: openstore/stork:2.6.2
    imagePullPolicy:Always
    resources:
      requests:
         cpu: '0.1'
      name: stork
    serviceAccountName: stork-account  
    
  6. 保存该文件并运行命令以将该文件应用于集群并安装 Stork。

    oc apply -f <file_name>.yaml
    
  7. 验证 Stork 是否已成功安装在集群上,以及所有 pod 是否正在运行。

    oc get deployment -n kube-system | grep stork
    

    示例输出

    stork                3/3   3      3      7d20h
    

使用 kmpd 命令创建备份

  1. 在集群中安装 Portworx 备份
  2. 在集群的 kube-system 名称空间中编辑 kdmp-config ConfigMap。
    kubectl edit cm kdmp-config -n kube-system
    
  3. 在数据部分添加以下参数。
    BACKUP_TYPE: "Generic"
    
  4. 遵循 Portworx 备份文档 以创建备份。

使用 PX-Backup 备份和复原集群数据

要从集群备份数据或将数据复原到集群,请参阅 Portworx 备份文档

将应用程序和数据从集群备份到 IBM Cloud Object Storage: 您可以将整个集群名称空间,单个应用程序以及持久卷中存储的数据备份到设置为备份位置的 IBM Cloud Object Storage 服务实例。 请注意,要备份持久卷中的数据,必须在集群中具有 CSI 快照存储类。 Portworx 备份使用此存储类来首先生成数据快照,然后将此数据发送到 IBM Cloud Object Storage 备份位置。 有关更多信息,请参阅 Portworx 备份文档

将您创建的任何备份复原到另一个集群: 您可以将整个名称空间,应用程序或数据复原到添加到 Portworx 备份服务的任何集群。 如果要将应用程序和数据从一个集群迁移到另一个集群,请使用此 Portworx 备份功能。 有关更多信息,请参阅 Portworx 备份文档

升级 PX-备份

遵循 Portworx 文档以 upgrade PX-backup