NetBackup™ for Kubernetes 管理者ガイド
- NetBackup for Kubernetes の概要
- NetBackup Kubernetes Operator の配備と構成
- NetBackup Kubernetes Operator を配備するための前提条件
- NetBackup Kubernetes Operator でのサービスパッケージの配備
- Kubernetes Operator の配備のためのポート要件
- NetBackup Kubernetes Operator のアップグレード
- NetBackup Kubernetes Operator の削除
- NetBackup Kubernetes データムーバーの構成
- Kubernetes 用の NetBackup 保護の自動構成
- NetBackup スナップショット操作の設定を行う
- 短縮名の付いた NetBackup サーバーのトラブルシューティング
- datamover ポッドのスケジュールメカニズムのサポート
- アクセラレータストレージクラスの検証
- NetBackup Kubernetes Operator での証明書の配備
- Kubernetes 資産の管理
- Kubernetes インテリジェントグループの管理
- Kubernetes ポリシーの管理
- Kubernetes 資産の保護
- イメージグループの管理
- NetBackup でのランチャ管理クラスタの保護
- Kubernetes 資産のリカバリ
- 増分バックアップとリストアについて
- アクセラレータベースのバックアップの有効化
- Kubernetes での FIPS モードの有効化
- Openshift Virtualization のサポートについて
- Kubernetes の問題のトラブルシューティング
- プライマリサーバーのアップグレード時のエラー: NBCheck が失敗する
- 古いイメージのリストア時のエラー: 操作が失敗する
- 永続ボリュームのリカバリ API でのエラー
- リストア中のエラー: ジョブの最終状態で一部が失敗していると表示される
- 同じ名前空間でのリストア時のエラー
- datamover ポッドが Kubernetes のリソース制限を超過
- リストア時のエラー: 高負荷のクラスタでジョブが失敗する
- 特定のクラスタ用に作成されたカスタムの Kubernetes の役割でジョブを表示できない
- OperatorHub からインストールされたアプリケーションのリストア時に、選択されていない空の PVC が Openshift によって作成される
- Kubernetes ノードで PID の制限を超えると NetBackup Kubernetes Operator が応答しなくなる
- NetBackup Kubernetes 10.1 におけるクラスタの編集中のエラー
- サイズの大きい PVC のバックアップまたはリストアが失敗する
- 名前空間ファイルモードの PVC を別のファイルシステムにリストアすると部分的に失敗する
- バックアップコピーからのリストアがイメージの不整合エラーで失敗する
- NetBackup プライマリサーバー、メディアサーバー、Kubernetes サーバー間の接続性チェック
- トラックログに利用可能な領域がない場合のアクセラレータバックアップ中のエラー
- トラックログ PVC の作成エラーによるアクセラレータバックアップ中のエラー
- 無効なアクセラレータストレージクラスによるアクセラレータバックアップ中のエラー
- トラックログポッドの起動中に発生したエラー
- トラックログ PVC 操作のためのデータムーバーインスタンスの設定に失敗する
- configmap からトラックログのストレージクラスを読み取る際のエラー
スナップショットからのバックアップ操作とバックアップからのリストア操作の前提条件
NetBackup の使用に有効なストレージクラスのラベルを付けます。ストレージクラスがサポートする VolumeMode (ブロックまたはファイルシステム) に基づいて、次のラベルを追加します。
ファイルシステムベースの永続ボリューム要求プロビジョニングストレージクラスの場合:
veritas.com/default-csi-filesystem-storage-class=true
ブロックベースの永続ボリューム要求プロビジョニングストレージクラスの場合:
veritas.com/default-csi-storage-class=true
NetBackup のラベルが付いたストレージクラスが見つからない場合は、スナップショットからのバックアップとバックアップコピーからのリストアは失敗し、エラーメッセージ
[対象となるストレージクラスが見つかりません (No eligible storage classes found)]が表示されます。ストレージクラスにラベル付けするには、例に示されている次のコマンドを実行します。
例 1. コマンド # kubectl get sc を実行します。
名前
プロビジョナ
ocs-storagecluster-ceph-rbd (デフォルト)
openshift-storage.rbd.csi.ceph.com
ocs-storagecluster-ceph-rgw
openshift-storage.ceph.rook.io/bucket
ocs-storagecluster-ceph-rbd
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 時間
メモ:
ボリュームバインドモードが Immediate に設定されているストレージクラスが必要です。PVC ボリュームバインドモードが WaitForFirstConsumer である場合、PVC からのスナップショットの作成に影響します。この場合、バックアップジョブが失敗する可能性があります。
例 2. コマンド # kubectl 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 storageclass ocs-storagecluster-cephfs netbackup.veritas.com/default-csi-storage-class=true を実行します。
storageclass.storage.k8s.io/ocs-storagecluster-cephfs labeled
例 4. コマンド kubectl 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
NetBackup を使用するために有効なボリュームスナップショットクラスにラベルを付け、ラベル netbackup.veritas.com/default-csi-volume-snapshot-class=true を追加します。NetBackup のラベルが付いた VolumeSnapshotClass クラスが見つからない場合は、メタデータイメージのスナップショットからのバックアップジョブとリストアジョブが失敗し、エラーメッセージ[Kubernetes 名前空間のスナップショットの作成に失敗しました (Failed to create snapshot of the Kubernetes namespace)]が表示されます。
ボリュームスナップショットクラスにラベル付けするには、例に示されている次のコマンドを実行します。
例 1. コマンド # kubectl 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. コマンド # kubectl get volumesnapshotclass ocs-storagecluster-cephfsplugin-snapclass --show-labels を実行します。
名前
ドライバ
ocs-storagecluster-cephfsplugin-snapclass
openshift-storage.cephfs.csi.ceph.com
削除ポリシー
経過時間
削除
2 日 2 時間
例 3. コマンド # kubectl 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. コマンド # kubectl 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
スナップショットからのバックアップ操作とバックアップコピーからのリストア操作を実行する各プライマリサーバーは、プライマリサーバーの名前を使用して個別の 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-nsconfigmap.yamlファイルの詳細をコピーします。テキストエディタを開き、
yamlファイルの詳細を貼り付けます。ファイルに
yamlというファイル拡張子を付けて、Kubernetes クラスタにアクセスできるホームディレクトリに保存します。
正しいデータムーバーイメージで
datamover.properties: image=reg.domain.com/datamover/image:latestを指定します。プライマリサーバーとプライマリサーバーに接続されているメディアサーバーで短縮名が使用されていて、データムーバーからのホストの解決が失敗している場合は、
datamover.hostaliasesを指定します。プライマリサーバーとメディアサーバーのすべてのホスト名と IP のマッピングを指定します。プライベート Docker レジストリを使用するには、「NetBackup Kubernetes Operator でのサービスパッケージの配備」セクションのポイント 6 の説明に従って、シークレットを作成します。
シークレットが作成されたら、configmap.yaml ファイルの作成中に次の属性を追加します。
datamover.properties: | image=repo.azurecr.io/netbackup/datamover:10.0.0049 imagePullSecret=secret_name
configmap.yamlファイルを作成します。kubectl create -f configmap.yaml コマンドを実行します。Kubernetes Operator がプライマリサーバーを短縮名で解決できない場合は、次のガイドラインを参照してください。
証明書のフェッチ中に[EXIT STATUS 8500: Web サービスとの接続が確立されませんでした (EXIT STATUS 8500: Connection with the web service was not established)]というメッセージが表示された場合は、ホスト名の解決の状態を
nbcertログで確認します。ホスト名解決が失敗した場合は、
hostAliasesでvalues.yamlファイルを更新します。次の
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/values.yamlに追加する必要があります。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}}
指紋と認証トークンを使用して Secret を作成します。
シークレットと backupservercert の作成について詳しくは、『NetBackup for Kubernetes 管理者ガイド』の「NetBackup Kubernetes Operator での証明書の配備」セクションを参照してください。
証明書をフェッチするための backupservercert 要求を作成します。
詳しくは、『NetBackup for Kubernetes 管理者ガイド』の「NetBackup Kubernetes Operator での証明書の配備」を参照してください。
詳しくは『NetBackup セキュリティおよび暗号化ガイド』を参照してください。
メモ:
この手順は、スナップショットからのバックアップとバックアップコピーからのリストアを正常に実行するために必須です。