Skip to main content
NetApp virtualization solutions
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

Red Hat OpenShift 仮想化ディザスタリカバリのソース クラスタ設定

共同作成者 banum-netapp

このセクションでは、NetApp Trident ProtectおよびAppMirrorを使用してOpenShift Virtualizationワークロードの災害復旧用にソース クラスタをセットアップする方法について説明します。これには、ONTAP S3を使用したAppVaultの作成、ソースVM用のTrident Protect Applicationの作成、およびTrident Protectを使用したVMのオンデマンドおよびスケジュールされたスナップショットの作成が含まれます。これらの手順は、ソース クラスタが災害復旧ターゲット クラスタにデータをレプリケートするように適切に構成され、災害時にVMの復旧を可能にするために不可欠です。

OpenShift Virtualization のディザスタリカバリ ソース クラスタのセットアップ

以下の手順はすべて、保護対象の仮想マシンが現在実行されているソースクラスタ上で実行されます。

ONTAP S3を使用してAppVaultを作成する

このセクションでは、ONTAP S3 オブジェクトストレージを使用して Trident Protect で AppVault オブジェクトを設定する方法について説明します。このステップで作成した AppVault は、ソース クラスタからレプリケートされたデータを格納するために使用され、そのデータはディザスタリカバリのデスティネーション クラスタでの復旧に使用されます。

oc コマンドと以下に示す yaml ファイルを使用して、ONTAP s3 のシークレットと AppVault カスタムリソースを作成します。必ず trident-protect 名前空間内に作成してください。

例を表示
apiVersion: v1
# You can provide the keys either as stringData or base 64 encoded data
stringData:
  accessKeyID: "<access key id as obtained from ONTAP>"
  secretAccessKey: "<secret access key as obtained from ONTAP>"
#data:
  #accessKeyID: <base 64 encoded value of access key>
  #secretAccessKey: <base 64 encoded value of secret access key>
kind: Secret
metadata:
  name: appvault-secret
  namespace: trident-protect
type: Opaque
apiVersion: protect.trident.netapp.io/v1
kind: AppVault
metadata:
  name: ontap-s3-appvault
  namespace: trident-protect
spec:
  providerConfig:
    s3:
      bucketName: oc-dr
      endpoint: <data lif to use to access S3>
      secure: "false" # Setting this to "false" will disable TLS, which is not recommended for production environments.
      skipCertValidation: "true" # When TLS is enabled, setting skipCertValidation to "true" will skip TLS certificate validation, which is not recommended for production environments.
  providerCredentials:
    accessKeyID:
      valueFromSecret:
        key: accessKeyID
        name: appvault-secret
    secretAccessKey:
      valueFromSecret:
        key: secretAccessKey
        name: appvault-secret
  providerType: OntapS3

ONTAP S3ボールトが作成され、利用可能な状態になっていることを確認してください

oc create -f app-vault-secret.yaml -n trident-protect
oc create -f app-vault.yaml -n trident-protect

trident-protect名前空間内のOCP-v AppVault

ソース VM の Trident Protect アプリを作成する

ソースVMが配置されている名前空間に、アプリケーションカスタムリソースを作成します。

例を表示
# cat app.yaml
apiVersion: protect.trident.netapp.io/v1
kind: Application
metadata:
  creationTimestamp: null
  name: test-source-app
  namespace: test-dr-ns
spec:
  includedNamespaces:
  - namespace: test-dr-ns
tridentctl-protect create app <source-vm> -n <source-ns> --namespaces <source-ns>

source-ns 名前空間の OCP-v アプリ

アプリのカスタムリソースに含まれる名前空間内のVMとそのPVCを以下に示します。

アプリのカスタムリソースに含まれる名前空間内のVMとそのPVC

Trident Protect を使用して VM のスナップショットを作成する

Trident Protect CLI または API を使用して、VM のオンデマンド スナップショットを作成できます。このスナップショットは、前の手順で作成した AppVault に保存され、ディザスタリカバリのデスティネーション クラスタでの復旧に使用できます。

例を表示
# snapshot.yaml
apiVersion: protect.trident.netapp.io/v1
kind: Snapshot
metadata:
  name: test-source-dr-init-snapshot
  namespace: test-dr-ns
spec:
  applicationRef: test-source-app
  appVaultRef: ontap-s3-appvault
  reclaimPolicy: Delete

Trident Protect CLIを使用して作成されたVMのOCP-vオンデマンドスナップショット

Trident Protect を使用して VM のスケジュールされたスナップショットを作成する

アプリケーションカスタムリソースと同じ名前空間にスケジュールカスタムリソースを作成することで、スケジュールされたスナップショットを作成することもできます。スケジュールは、指定されたスケジュールで VM のスナップショットを自動的に作成し、AppVault に保存します。

例を表示
apiVersion: protect.trident.netapp.io/v1
kind: Schedule
metadata:
  name: appmirror-sched1
spec:
  appVaultRef: ontap-s3-appvault
  applicationRef: test-source-app
  backupRetention: "0"
  enabled: true
  granularity: Custom
  recurrenceRule: |-
    DTSTART:20240901T000200Z
    RRULE:FREQ=MINUTELY;INTERVAL=5
  snapshotRetention: "2"