NetBackup™ Web UI Kubernetes 管理者ガイド

Last Published:
Product(s): NetBackup (10.1)
  1. NetBackup for Kubernetes の概要
    1.  
      概要
    2.  
      Kubernetes 用の NetBackup サポート機能
  2. NetBackup Kubernetes Operator の配備と構成
    1.  
      NetBackup Kubernetes Operator でのサービスパッケージの配備
    2.  
      Kubernetes Operator の配備のためのポート要件
    3.  
      NetBackup Kubernetes Operator のアップグレード
    4.  
      NetBackup Kubernetes Operator の削除
    5.  
      NetBackup Kubernetes datamover の構成
    6.  
      NetBackup スナップショット操作の設定を行う
    7.  
      短縮名の付いた NetBackup サーバーのトラブルシューティング
    8. イメージグループの管理
      1.  
        イメージの有効期限について
      2.  
        イメージコピーについて
  3. NetBackup Kubernetes Operator での証明書の配備
    1.  
      Kubernetes Operator での証明書の配備
    2.  
      ホスト ID ベースの証明書操作の実行
    3.  
      ECA 証明書操作の実行
    4.  
      証明書の種類の識別
  4. Kubernetes 資産の管理
    1.  
      Kubernetes クラスタの追加
    2.  
      設定を行う
    3.  
      資産への保護の追加
  5. Kubernetes インテリジェントグループの管理
    1.  
      インテリジェントグループについて
    2.  
      インテリジェントグループの作成
    3.  
      インテリジェントグループの削除
    4.  
      インテリジェントグループの編集
  6. Kubernetes 資産の保護
    1.  
      インテリジェントグループの保護
    2.  
      インテリジェントグループからの保護の削除
    3.  
      バックアップスケジュールの構成
    4.  
      バックアップオプションの構成
    5.  
      バックアップの構成
    6.  
      自動イメージレプリケーション (AIR) と複製の構成
    7.  
      ストレージユニットの構成
  7. Kubernetes 資産のリカバリ
    1.  
      リカバリポイントの検索と検証
    2.  
      スナップショットからのリストア
    3.  
      バックアップコピーからのリストア
  8. Kubernetes の問題のトラブルシューティング
    1.  
      プライマリサーバーのアップグレード時のエラー: NBCheck が失敗する
    2.  
      古いイメージのリストア時のエラー: 操作が失敗する
    3.  
      永続ボリュームのリカバリ API でのエラー
    4.  
      リストア中のエラー: ジョブの最終状態で一部が失敗していると表示される
    5.  
      同じ名前空間でのリストア時のエラー
    6.  
      datamover ポッドが Kubernetes のリソース制限を超過
    7.  
      リストア時のエラー: 高負荷のクラスタでジョブが失敗する
    8.  
      特定のクラスタ用に作成されたカスタムの Kubernetes の役割でジョブを表示できない
    9.  
      OperatorHub からインストールされたアプリケーションのリストア時に、選択されていない空の PVC が Openshift によって作成される

NetBackup スナップショット操作の設定を行う

実際のスナップショットからのバックアップ操作を実行する前に、Kubernetes Operator の配備でスナップショット操作を構成する必要があります。

  1. CSI プラグインを指すストレージクラスを定義します。

  2. CSI ドライバの詳細で構成される VolumeSnapshotClass クラスを定義します。

  3. NetBackup を使用するボリュームスナップショットクラスにラベルを付けます。次のラベル netbackup.veritas.com/default-csi-volume-snapshot-class=true を追加します。

    メモ:

    永続ボリュームで構成される名前空間のスナップショットが失敗し、エラーメッセージ[Kubernetes 名前空間のスナップショットの作成に失敗しました。(Failed to create snapshot of the Kubernetes namespace.)]が表示されます。

    スナップショット操作は、volumesnapshotclass ラベルが付いたドライバの有効なボリュームスナップショットクラスが見つからないなど、複数の原因によって失敗する場合があります。

  4. メタデータ永続ボリュームのサイズ調整が必要です。Kubernetes Operator のデフォルトの永続ボリュームサイズは 10Gi です。永続ボリュームサイズは構成可能です。

    プラグインを配備する前に、ストレージの値を 10Gi からより大きい値に変更できます。これにより、nbukops ポッドには、そのポッドでマウントされた PVC のサイズが設定されます。

    永続ボリューム要求は次のようになります。

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      labels:
        component: netbackup
      name: {{ .Release.Namespace }}-netbackupkops
      namespace: {{ .Release.Namespace }}
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 10Gi
    
    • 新規インストール時に Helm Chart を構成する際、netbackupkops-helm-chart の deployment.yaml で PVC ストレージのサイズを変更できます。これにより、初期の PVC サイズが作成されます。

    • インストール後、PVC サイズの更新 (ダイナミックボリューム拡張) は一部のストレージベンダーによってサポートされます。詳しくは、https://kubernetes.io/docs/concepts/storage/persistent-volumes を参照してください。

メモ:

永続ボリュームのデフォルトサイズは、データを失うことなく、より大きい値にサイズ変更できます。ボリュームの拡張をサポートするストレージプロバイダを追加することをお勧めします。

メモ:

構成値を取得するには、コマンド kubectl get configmaps <namespace>-backup-operator-configuration -n <namespace> -o yaml > {local.file} を実行します。

表: Kubernetes Operator でサポートされる、<namespace>-backup-operator-configuration の構成パラメータ

構成

説明

デフォルト値

指定可能な値

DaemonSets

Daemonset は、コントローラによって管理される、Kubernetes の動的オブジェクトです。各ノードに存在する必要がある、特定のポッドを表す目的の状態を設定できます。制御ループでポッドが侵害されると、現在の実際の状態と目的の状態が比較される場合があります。

true

true、false

Deployments

Kubernetes 作業負荷のための配備。

true

true、false

Pods

ポッドは、Kubernetes における最小の実行ユニットです。

true

true、false

ReplicaSets

レプリカセットにより、実行するポッドのレプリカ数が確保されます。これは、レプリケーションコントローラの代替と見なすことができます。

true

true、false

Secrets

Secret は、パスワード、トークン、クレデンシャルなどの重要なデータを含むオブジェクトです。

true

true、false

Services

Kubernetes で提供されるサービス。

true

true、false

namespace

Kubernetes Operator は名前空間に配備されます。

名前空間に指定された任意の名前。

NetBackup の名前空間。

cleanStaleCRDurationMinutes

古い CR をクリーニングするために CR ジョブが呼び出されてからの期間。古いカスタムリソースのクリーンアップジョブがトリガされてからの間隔。

24 時間

1440 分

ttlCRDurationMinutes

TTL CR の期間

30240 分

livesnessProbeInitialDelay

精査の初期遅延期間。

60 分

livenessProbePeriodSeconds

精査の期間。

80 秒

checkNbcertdaemonStatusDurationMinutes

NB 証明書デーモンの状態の期間。

1440 分

collectDataMoverLogs

datamover ログの収集ではメモリ使用率が高くなるため、ポッドのデバッグ、トラブルシューティング、再起動を行う場合のみログを有効にすることをお勧めします。

datamover のログを有効にする前に、NetBackup Kubernetes ポッド用のメモリ上限を 2 GB 以上に増やしてください。デバッグまたはトラブルシューティングの完了後は、以前の値またはデフォルト値にリセットできます。

メモ:

失敗したジョブの場合にのみ、datamover ログを収集するための詳細なサポートが提供されます。これにより、より詳細なレベルとして All/FailedOnly/Off が提供されます。

Failed

All、Failed、None

maxRetentionDataMoverLogsInHours

datamover ログの最大保持期間。

24 時間

72 時間

maxRetentionDataMoverInHours

指定した時間より古い datamover リソースがすべて削除されます。

24 時間

24 時間

cleanStaleCertFilesDurationMinutes

古い証明書ファイルのクリーンアップジョブがトリガされてからの間隔。

60 分

1440 分

maxRetentionInDiscoveryCacheHours

検出キャッシュを保持する時間間隔を決定する時間。

24 時間

48 時間

pollingTimeoutInMinutes

期限切れになり失敗するまで再試行し続けるタイムアウトです。

15 分

15 分

pollingFrequencyInSecs

ポーリング間隔。

5 秒

nbcertPrerequisteDirectoryAndFiles

NBCA の前提条件。

証明書名

証明書名

スナップショットからのバックアップ操作とバックアップからのリストア操作の前提条件
  1. NetBackup を使用するために有効なストレージクラスにラベルを付け、次のラベルを追加します。netbackup.veritas.com/default-csi-storage-class=true NetBackup のラベルが付いたストレージクラスが見つからない場合は、メタデータイメージのスナップショットからのバックアップジョブとリストアジョブが失敗し、エラーメッセージ[対象となるストレージクラスが見つかりません (No eligible storage class found)]が表示されます。

    ストレージクラスにラベル付けするには、例に示されている次のコマンドを実行します。

    例 1. コマンド # oc get sc を実行します。

    名前

    プロビジョナ

    ocs-storagecluster-ceph-rbd (デフォルト)

    openshift-storage.rbd.csi.ceph.com

    ocs-storagecluster-ceph-rgw  

    openshift-storage.ceph.rook.io/bucket

    ocs-storagecluster-cephfs    

    openshift-storage.cephfs.csi.ceph.com

    openshift-storage.noobaa.io  

    openshift-storage.noobaa.io/obc  

    thin

    kubernetes.io/vsphere-volume  

    再生利用ポリシー

    ボリュームバインドモード

    ボリュームの拡張を許可する

    経過時間

    削除

    即時

    True

    2 日 2 時間

    削除

    即時

    False

    2 日 2 時間

    削除

    即時

    True

    2 日 2 時間

    削除

    即時

    False

    2 日 2 時間

    削除

    即時

    False

    19 時間

    例 2. コマンド # oc get sc ocs-storagecluster-ceph-rbd --show-labels を実行します。

    名前

    プロビジョナ

    再生利用ポリシー

    ocs-storagecluster-ceph-rbd (デフォルト)

    openshift-storage.rbd.csi.ceph.com

    削除

    ボリュームバインドモード

    ボリュームの拡張を許可する

    経過時間

    ラベル

    即時

    True

    2 日 2 時間

    netbackup.veritas.com/default-csi-storage-class=true

    例 3. コマンド # oc label sc ocs-storagecluster-cephfs netbackup.veritas.com/default-csi-storage-class=true を実行します。

    storageclass.storage.k8s.io/ocs-storagecluster-cephfs labeled

    例 4. コマンド oc get sc ocs-storagecluster-cephfs --show-labels を実行します。

    名前

    プロビジョナ

    再生利用ポリシー

    ocs-storagecluster-cephfs

    openshift-storage.cephfs.csi.ceph.com 

    削除

    ボリュームバインドモード

    ボリュームの拡張を許可する

    経過時間

    ラベル

    即時

    True

    2 日 2 時間

    netbackup.veritas.com/default-csi-storage-class=true

  2. NetBackup を使用するために有効なボリュームスナップショットクラスにラベルを付け、ラベル netbackup.veritas.com/default-csi-volume-snapshot-class=true を追加します。NetBackup のラベルが付いた VolumeSnapshotClass クラスが見つからない場合は、メタデータイメージのスナップショットからのバックアップジョブとリストアジョブが失敗し、エラーメッセージ[Kubernetes 名前空間のスナップショットの作成に失敗しました (Failed to create snapshot of the Kubernetes namespace)]が表示されます。

    ボリュームスナップショットクラスにラベル付けするには、例に示されている次のコマンドを実行します。

    例 1. コマンド # oc get volumesnapshotclass を実行します。

    名前

    ドライバ

    ocs-storagecluster-cephfsplugin-snapclass

    openshift-storage.cephfs.csi.ceph.com  

    ocs-storagecluster-rbdplugin-snapclass

    openshift-storage.rbd.csi.ceph.co

    削除ポリシー

    経過時間

    削除

    2 日 2 時間

    削除

    2 日 2 時間

    例 2. コマンド # oc get volumesnapshotclass ocs-storagecluster-cephfsplugin-snapclass --show-labels を実行します。

    名前

    ドライバ

    ocs-storagecluster-cephfsplugin-snapclass

    openshift-storage.cephfs.csi.ceph.com

    削除ポリシー

    経過時間

    削除

    2 日 2 時間

    例 3. コマンド # oc label volumesnapshotclass ocs-storagecluster-cephfsplugin-snapclass netbackup.veritas.com/default-csi-volume-snapshot-class=true を実行します。

    volumesnapshotclass.snapshot.storage.k8s.io/ocs-storagecluster-cephfsplugin-snapclass labeled

    例 4. コマンド # oc get volumesnapshotclass ocs-storagecluster-cephfsplugin-snapclass --show-labels を実行します。

    名前

    ドライバ

    ocs-storagecluster-cephfsplugin-snapclass

    openshift-storage.cephfs.csi.ceph.com

    削除ポリシー

    経過時間

    ラベル

    削除

    2 日 2 時間

    netbackup.veritas.com/default-csi-volume-snapshot-class=true

  3. スナップショットからのバックアップ操作とバックアップコピーからのリストア操作を実行する各プライマリサーバーは、プライマリサーバーの名前を使用して個別の ConfigMap を作成する必要があります。

    次の configmap.yaml の例では、

    • backupserver.sample.domain.com と mediaserver.sample.domain.com は、NetBackup プライマリサーバーとメディアサーバーのホスト名です。

    • IP: 10.20.12.13 と IP: 10.21.12.13 は、NetBackup プライマリサーバーとメディアサーバーの IP アドレスです。

    apiVersion: v1
    data:
      datamover.hostaliases: |
            10.20.12.13=backupserver.sample.domain.com
            10.21.12.13=mediaserver.sample.domain.com
      datamover.properties: |
            image=reg.domain.com/datamover/image:latest
      version: "1"
    kind: ConfigMap
    metadata:
      name: backupserver.sample.domain.com
      namespace: kops-ns
    
    • configmap.yaml ファイルの詳細をコピーします。

    • テキストエディタを開き、yaml ファイルの詳細を貼り付けます。

    • その後、それに yaml ファイル拡張子を付けて、Kubernetes クラスタにアクセスできるホームディレクトリに保存します。

  4. datamover.properties: image=reg.domain.com/datamover/image:latest に適切な datamover イメージを指定します。

  5. プライマリサーバーとプライマリサーバーに接続されているメディアサーバーで短縮名が使用されていて、datamover からのホストの解決が失敗している場合は、datamover.hostaliases を指定します。プライマリサーバーとメディアサーバーのすべてのホスト名と IP のマッピングを指定します。

  6. プライベート Docker レジストリを使用するには、「NetBackup Kubernetes Operator でのサービスパッケージの配備」セクションのポイント 6 の説明に従って、シークレットを作成します。

    シークレットが作成されたら、configmap.yaml ファイルの作成中に次の属性を追加します。

    • datamover.properties: |

    • image=repo.azurecr.io/netbackup/datamover:10.0.0049

    • imagePullSecret=secret_name

  7. configmap.yaml ファイルを作成するには、コマンド kubectl create -f configmap.yaml を実行します。

  8. Kubernetes Operator が短縮名に基づいてプライマリサーバーを解決できない場合

    • 証明書のフェッチ中に[EXIT STATUS 8500: Web サービスとの接続が確立されませんでした (EXIT STATUS 8500: Connection with the web service was not established)]というメッセージが表示された場合は、ホスト名の解決の状態を nbcert ログで確認します。

    • ホスト名の解決に失敗した場合は、次の手順を実行します。

      kops deployment.yaml を更新し、配備に hostAliases を追加します。

    • 次の hostAliases の例では、

      • backupserver.sample.domain.com と mediaserver.sample.domain.com は、NetBackup プライマリサーバーとメディアサーバーのホスト名です。

      • IP: 10.20.12.13 と IP: 10.21.12.13 は、NetBackup プライマリサーバーとメディアサーバーの IP アドレスです。

      hostAliases:
      - hostnames:
        - backupserver.sample.domain.com
        ip: 10.20.12.13
      - hostnames:
        -  mediaserver.sample.domain.com
        ip: 10.21.12.13
      

      hostAliases の例の詳細をコピーしてテキストエディタに貼り付け、配備で hostAliases に追加します。

      メモ:

      hostAliases セクションは、デフォルトの ./netbackupkops-helm-chart/templates/deployment.yaml ファイルの 2104 行に追加する必要があります。

      hostAliases の例:

      2104	hostAliases;
      -	ip:10.15.206.7
      hostnames:
      -	lab02-linsvr-01.demo.sample.domain.com
      -	lab02-linsvr-01
      -	ip:10.15.206.8
      hostnames:
      -	lab02-linsvr-02.demo.sample.domain.com
      -	lab02-linsvr-02
      imagePullSecrets:
      -	name:  {{ .values.netbackupKops.imagePullSecrets.name}}
      
  9. 指紋と認証トークンを使用して Secret を作成します。

  10. 証明書をフェッチするための backupservercert 要求を作成します。

    詳しくは『NetBackup™ セキュリティおよび暗号化ガイド』を参照してください。

Kubernetes 作業負荷でサポートされる DTE クライアント設定

DTE_CLIENT_MODE オプションは、バックアップサーバー固有の configmap によって datamover に設定される移動中のデータの暗号化 (DTE) モードを指定します。バックアップイメージの移動中のデータの暗号化は、グローバル DTE モードとクライアント DTE モードに基づいて実行されます。

バックアップサーバー固有の configmap を更新し、DTE_CLIENT_MODE キーを追加します。このキーは次の値を取ることができます。

  • AUTOMATIC

  • ON

  • OFF

DTE_CLIENT_MODE について詳しくは、『Veritas NetBackup 管理者ガイド Vol. 1』の「クライアント用 DTE_CLIENT_MODE」 のセクションを参照してください。

次に、DTE_CLIENT_MODE 設定を追加した configmap を示します。

apiVersion: v1
data:
  datamover.hostaliases: |
        10.20.12.13=backupserver.sample.domain.com
        10.21.12.13=mediaserver.sample.domain.com
  datamover.properties: |
        image=reg.domain.com/datamover/image:latest
        DTE_CLIENT_MODE=ON
  version: "1"
kind: ConfigMap
metadata:
  name: backupserver.sample.domain.com
  namespace: kops-ns
datamover プロパティのカスタマイズ

キーと値のペアをバックアップサーバー固有の configmap に渡すことによって、datamover プロパティをカスタマイズできます。

表: datamover のプロパティ

キー名

指定可能な値

VXMS_VERBOSE

範囲: [0,99]

VERBOSE

範囲: [0,5]

DTE_CLIENT_MODE

  • AUTOMATIC

  • ON

  • OFF

configmap を更新するには、次のようにキーと値のペアを追加します。

apiVersion: v1
data:
  datamover.properties: |
        image=reg.domain.com/datamover/image:latest
        VERBOSE=5
        DTE_CLIENT_MODE=OFF
        VXMS_VERBOSE=5
  version: "1"
kind: ConfigMap
metadata:
  name: backupserver.sample.domain.com
  namespace: kops-ns