NetBackup™ for Kubernetes 管理指南

Last Published:
Product(s): NetBackup & Alta Data Protection (11.0)
  1. 适用于 Kubernetes 的 NetBackup 概述
    1.  
      概述
    2.  
      Kubernetes 支持的 NetBackup 功能
  2. 部署和配置 NetBackup Kubernetes Operator
    1.  
      NetBackup Kubernetes Operator 部署的前提条件
    2.  
      在 NetBackup Kubernetes Operator 上部署服务软件包
    3.  
      Kubernetes Operator 部署的端口要求
    4.  
      升级 NetBackup Kubernetes Operator
    5.  
      删除 NetBackup Kubernetes Operator
    6.  
      配置 NetBackup Kubernetes 数据移动器
    7.  
      自动为 Kubernetes 配置 NetBackup 保护
    8. 自定义 Kubernetes 工作负载
      1.  
        从快照备份和从备份还原操作的前提条件
      2.  
        Kubernetes 中支持的 DTE 客户端设置
      3.  
        自定义 datamover 属性
    9.  
      对具有短名称的 NetBackup 服务器进行故障排除
    10.  
      datamover pod 调度机制支持
    11.  
      验证加速器存储类
  3. 在 NetBackup Kubernetes Operator 上部署证书
    1.  
      在 Kubernetes Operator 上部署证书
    2.  
      执行基于主机 ID 的证书操作
    3.  
      执行 ECA 证书操作
    4.  
      标识证书类型
  4. 管理 Kubernetes 资产
    1.  
      添加 Kubernetes 群集
    2. 配置设置
      1.  
        更改 Kuberentes 资源类型的资源限制
      2.  
        配置自动发现频率
      3.  
        配置权限
      4.  
        资产清理
    3.  
      为资产添加保护
    4. 扫描恶意软件
      1.  
        资产 (按工作负载类型)
  5. 管理 Kubernetes 智能组
    1.  
      关于智能组
    2.  
      创建智能组
    3.  
      删除智能组
    4.  
      编辑智能组
  6. 保护 Kubernetes 资产
    1.  
      保护智能组
    2.  
      从智能组中删除保护
    3.  
      配置备份计划
    4.  
      配置备份选项
    5.  
      配置备份
    6.  
      配置自动映像同步复制 (A.I.R.) 和复制
    7.  
      配置存储单元
    8.  
      卷模式支持
    9.  
      配置应用程序一致性备份
  7. 管理映像组
    1. 关于映像组
      1.  
        映像失效
      2.  
        映像副本
  8. 在 NetBackup 中保护 Rancher 管理的群集
    1.  
      使用自动配置在 NetBackup 中添加 Rancher 管理的 RKE 群集
    2.  
      在 NetBackup 中手动添加 Rancher 管理的 RKE 群集
  9. 恢复 Kubernetes 资产
    1.  
      浏览并验证恢复点
    2.  
      从快照还原
    3.  
      从备份副本还原
  10. 关于增量式备份和还原
    1.  
      对 Kubernetes 的增量式备份和还原支持
  11. 启用基于加速器的备份
    1.  
      关于 Kubernetes 工作负载的 NetBackup 加速器支持
    2.  
      控制主服务器上跟踪日志的磁盘空间
    3.  
      存储类行为对加速器的影响
    4.  
      关于加速器强制的重新扫描
    5.  
      加速器备份失败的警告和可能原因
  12. 在 Kubernetes 中启用 FIPS 模式
    1.  
      在 Kubernetes 中启用联邦信息处理标准 (FIPS) 模式
  13. 对 Kubernetes 问题进行故障排除
    1.  
      主服务器升级期间出错:NBCheck 失败
    2.  
      旧映像还原期间出错:操作失败
    3.  
      永久卷恢复 API 期间出错
    4.  
      还原期间出错:最终作业状态显示部分失败
    5.  
      在同一命名空间上进行还原时出错
    6.  
      datamover pod 超过 Kubernetes 资源限制
    7.  
      还原期间出错:高负载群集上的作业失败
    8.  
      为特定群集创建的自定义 Kubernetes 角色无法查看作业
    9.  
      从 OperatorHub 还原安装的应用程序时,Openshift 会创建空白非选定的 PVC
    10.  
      如果超过 Kubernetes 节点上的 PID 限制,NetBackup Kubernetes Operator 将变得无响应
    11.  
      在 NetBackup Kubernetes 10.1 中编辑群集时失败
    12.  
      对于大型 PVC,备份或还原失败
    13.  
      将命名空间文件模式 PVC 还原到不同文件系统时部分失败
    14.  
      从备份副本还原失败并显示映像不一致错误
    15.  
      NetBackup 主服务器、介质服务器和 Kubernetes 服务器之间的连接检查。
    16.  
      没有可用于跟踪日志的空间时,加速器备份过程中出错
    17.  
      由于跟踪日志 PVC 创建失败导致加速器备份期间出错
    18.  
      由于加速器存储类无效导致加速器备份期间出错
    19.  
      启动跟踪日志 pod 时出错
    20.  
      设置跟踪日志 PVC 操作的数据移动器实例失败
    21.  
      从 configmap 读取跟踪日志存储类时出错

自动为 Kubernetes 配置 NetBackup 保护

前提条件

在 Kubernetes 工作负载上配置 NetBackup 之前,必须运行对端口 443、1556 和 13724 具有访问权限的 NetBackup 服务器。

必须将 NetBackup Kubernetes Operator 和数据移动器映像上传到可从 Kubernetes 群集访问的容器注册表。

需要创建用于自动部署的密钥。

创建 API 密钥

  1. 打开 NetBackup Web UI。
  2. 在左侧,单击“安全”>“访问密钥”
  3. 单击“API 密钥”选项卡。
  4. 单击“添加”
  5. 在 Kubernetes 群集上,创建包含以下内容的新密钥 nb-config-deploy-secret.yaml
    apiVersion: v1
    kind: Secret
    metadata:
      name: <kops-namespace>-nb-config-deploy-secret
      namespace: <kops-namespace>
    type: Opaque
    stringData:
      apikey: <Enter the value of API key from the earlier step>
  6. 应用密钥。运行命令 kubectl apply -f nb-config-deploy-secret.yaml

安装前

  1. netbackupkops-helm-chart/values.yaml 中编辑以下字段。
    • containers.manager.image:用于提取 NetBackup Kubernetes 控制器映像的容器注册表 URL。

    • imagePullSecrets name:如果容器注册表需要身份验证才能提取映像,则该字段是映像提取密钥的名称。

    • nbprimaryserver:已配置的 NetBackup 主服务器名称。

    • nbsha256fingerprint:从 NetBackup Web UI 获取 SHA256 指纹。在左侧,单击“安全”>“证书”。单击“证书颁发机构”

    • k8sCluster:Kubernetes 群集 API 服务器的 FQDN。

    • k8sPort:列出 Kubernetes API 服务器的端口。

    • datamoverProperties(可选):包括需要在 datamover pod 的 bp.conf 文件中指定的任何配置设置。

      注意:

    Kubernetes 群集的 UI 控制台上提供了这些信息。

  2. 如果不存在,请运行以下命令以获取 Kubernetes 群集和 Kubernetes 端口:

    # kubectl cluster-info Kubernetes 控制面板在 https://<Kubernetes FQDN>:6443 运行

    • datamoverimage:用于提取数据移动器映像的容器注册表 URL。

    • 快照和从快照备份操作需要存储参数。需要提供至少一个块或文件系统存储参数。

  3. 要获取存储类,请运行以下命令:

    # kubectl get storageclasses

    • storageclassblock:用于置备块卷的存储类。

    • storageclassfilesystem:用于置备文件系统卷的存储类。

  4. 要获取卷快照类,请运行以下命令:

    # kubectl get volumesnapshotclasses

    • volumesnapshotclassblock:用于创建块卷快照的卷快照类。

    • volumesnapshotclassfilesystem:用于创建文件系统卷快照的卷快照类。

  5. 存储类和快照类之间的映射通过 storageMap 进行管理。如果向群集添加了新的存储选项,也可以安装后在 backup-operator-configuration 的 configmap 中更新该选项。
    • storageMap 是一个键-值字段字典,其中键是存储类,值是一个元组,由 snapshotClass、storageClassForBackupDataMovement、storageClassForRestoreFromBackup 组成。此字段是指定存储类和快照类之间映射的必填字段。

    • snapshotclass 必须使用与存储类相同的置备程序创建,并且必须能够为存储类创建快照。所有存储类都应具有相应的 snapshotclass 条目。

    • storageClassForBackupDataMovement 用于为 datamover 创建临时 PVC。它必须与使用原始存储类快照创建的原始存储类 PVC 兼容,使用此存储类创建时必须可读。Datamover 从此 PVC 读取数据,并将其发送到 NetBackup 介质服务器。storageClassForRestoreFromBackup 用于从介质服务器备份进行还原。它必须与原始存储类兼容,且来自同一置备程序。

    • 一个快照类可用于为多个兼容的存储类创建快照。

    • 模板

      storageMap:
        <key - storage class name>:
          snapshotClass: [mandatory field to specify volumesnapshotclass for creating snapshot of given key storage class]
          storageClassForBackupDataMovement: <optional, storage class used to transfer pvc backup data from k8s cluster to 
      NetBacup media server>
          storageClassForRestoreFromBackup: <optional, storage class used to restore pvc from NetBackup media server 
      to k8s cluster>
      
      Note: storageClassForBackupDataMovement and storageClassForRestoreFromBackup are optional and must be compatible 
      with key storage class if they are configured different from key storage class. If no value is specified for these 
      fields original 
      storage class would be used. These values can be changed later in backup-operator-configuration configmap
      
      Example for openshift storage classes. cephfs storage class should have corresponding snapclass as cephfs as follows
      storageMap:
        ocs-storagecluster-cephfs:
          storageClassForBackupDataMovement: ocs-storagecluster-cephfs
          storageClassForRestoreFromBackup: ocs-storagecluster-cephfs
          snapshotClass: ocs-storagecluster-cephfsplugin-snapclass
        ocs-storagecluster-ceph-rbd:
          snapshotClass: ocs-storagecluster-rbdplugin-snapclass
安装

要安装 helm,请运行以下命令:

# helm install veritas-netbackupkops <path to netbackupkops-helm-chart> -n <kops namespace>

调试

要从 Kubernetes Operator 命名空间获取 config-deploy pod,请运行以下命令:

# kubectl get pod -n <kops namespace> | grep "config-deploy"

日志

要检查 pod <namespace>-netbackup-config-deploy 的日志,请运行以下命令:

# kubectl logs <pod-name> -n <kops namespace>

日志级别

用于设置配置 pod 的日志级别。可以将值设置为 DEBUGINFOERROR。默认值设置为 INFO

注意:

有关更多详细信息,请参考《NetBackup Kubernetes 快速入门指南》。