NetBackup™ Web UI Kubernetes 管理者ガイド
- NetBackup for Kubernetes の概要
- NetBackup Kubernetes Operator の配備と構成
- NetBackup Kubernetes Operator での証明書の配備
- Kubernetes 資産の管理
- Kubernetes インテリジェントグループの管理
- Kubernetes 資産の保護
- Kubernetes 資産のリカバリ
- Kubernetes の問題のトラブルシューティング
NetBackup スナップショット操作の設定を行う
実際のスナップショットからのバックアップ操作を実行する前に、Kubernetes Operator の配備でスナップショット操作を構成する必要があります。
CSI プラグインを指すストレージクラスを定義します。
CSI ドライバの詳細で構成される VolumeSnapshotClass クラスを定義します。
NetBackup を使用するボリュームスナップショットクラスにラベルを付けます。次のラベル netbackup.veritas.com/default-csi-volume-snapshot-class=true を追加します。
メモ:
永続ボリュームで構成される名前空間のスナップショットが失敗し、エラーメッセージ[Kubernetes 名前空間のスナップショットの作成に失敗しました。(Failed to create snapshot of the Kubernetes namespace.)]が表示されます。
スナップショット操作は、volumesnapshotclass ラベルが付いたドライバの有効なボリュームスナップショットクラスが見つからないなど、複数の原因によって失敗する場合があります。
メタデータ永続ボリュームのサイズ調整が必要です。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 の前提条件。 |
証明書名 |
証明書名 |
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
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
スナップショットからのバックアップ操作とバックアップコピーからのリストア操作を実行する各プライマリサーバーは、プライマリサーバーの名前を使用して個別の 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 クラスタにアクセスできるホームディレクトリに保存します。
datamover.properties: image=reg.domain.com/datamover/image:latest
に適切な datamover イメージを指定します。プライマリサーバーとプライマリサーバーに接続されているメディアサーバーで短縮名が使用されていて、datamover からのホストの解決が失敗している場合は、
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 ログで確認します。
ホスト名の解決に失敗した場合は、次の手順を実行します。
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}}
指紋と認証トークンを使用して Secret を作成します。
証明書をフェッチするための backupservercert 要求を作成します。
詳しくは『NetBackup™ セキュリティおよび暗号化ガイド』を参照してください。
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
キーと値のペアをバックアップサーバー固有の configmap に渡すことによって、datamover プロパティをカスタマイズできます。
表: datamover のプロパティ
キー名 |
指定可能な値 |
---|---|
VXMS_VERBOSE |
範囲: [0,99] |
VERBOSE |
範囲: [0,5] |
DTE_CLIENT_MODE |
|
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