8.5. OpenShift Virtualization 上のホステッドクラスターのバックアップと復元


障害に対処するために、OpenShift Virtualization 上のホステッドクラスターをバックアップおよび復元できます。

8.5.1. OpenShift Virtualization 上のホステッドクラスターのバックアップ

OpenShift Virtualization 上のホステッドクラスターをバックアップしても、ホステッドクラスターは動作を継続できます。バックアップには、Hosted Control Plane のコンポーネントとホステッドクラスターの etcd が含まれます。

ホステッドクラスターが外部インフラストラクチャー上でコンピュートノードを実行していない場合、KubeVirt CSI によってプロビジョニングされた永続ボリューム要求 (PVC) に保存されているホステッドクラスターのワークロードデータもバックアップされます。バックアップには、コンピュートノードとして使用される KubeVirt 仮想マシン (VM) は含まれません。これらの仮想マシンは、復元プロセスの完了後、自動的に再作成されます。

手順

  1. 次の例のような YAML ファイルを作成して、Velero バックアップリソースを作成します。

    apiVersion: velero.io/v1
    kind: Backup
    metadata:
      name: hc-clusters-hosted-backup
      namespace: openshift-adp
      labels:
        velero.io/storage-location: default
    spec:
      includedNamespaces: 1
      - clusters
      - clusters-hosted
      includedResources:
      - sa
      - role
      - rolebinding
      - deployment
      - statefulset
      - pv
      - pvc
      - bmh
      - configmap
      - infraenv
      - priorityclasses
      - pdb
      - hostedcluster
      - nodepool
      - secrets
      - hostedcontrolplane
      - cluster
      - datavolume
      - service
      - route
      excludedResources: [ ]
      labelSelector: 2
        matchExpressions:
        - key: 'hypershift.openshift.io/is-kubevirt-rhcos'
          operator: 'DoesNotExist'
      storageLocation: default
      preserveNodePorts: true
      ttl: 4h0m0s
      snapshotMoveData: true 3
      datamover: "velero" 4
      defaultVolumesToFsBackup: false 5
    1
    このフィールドでは、バックアップするオブジェクトの namespace を選択します。ホステッドクラスターと Hosted Control Plane の両方の namespace を含めます。この例では、clusters はホステッドクラスターの namespace であり、clusters-hosted は Hosted Control Plane の namespace です。デフォルトでは、HostedControlPlane の namespace は clusters-<hosted_cluster_name> です。
    2
    ホステッドクラスターノードとして使用される仮想マシンのブートイメージは、大規模な PVC に保存されています。バックアップ時間とストレージサイズを削減するには、このラベルセレクターを追加して、この PVC をバックアップから除外できます。
    3
    このフィールドと datamover フィールドにより、CSI VolumeSnapshots をリモートクラウドストレージに自動的にアップロードできます。
    4
    このフィールドと snapshotMoveData フィールドにより、CSI VolumeSnapshots をリモートクラウドストレージに自動的にアップロードできます。
    5
    このフィールドは、Pod ボリュームファイルシステムバックアップをデフォルトですべてのボリュームに使用するかどうかを指定します。特定の PVC をバックアップするには、この値を false に設定します。
  2. 次のコマンドを入力して、YAML ファイルに変更を適用します。

    $ oc apply -f <backup_file_name>.yaml

    <backup_file_name> は、ファイル名に置き換えます。

  3. バックアップオブジェクトのステータスと Velero ログでバックアッププロセスを監視します。

    • バックアップオブジェクトの状態を監視するには、次のコマンドを入力します。

      $ watch "oc get backups.velero.io -n openshift-adp <backup_file_name> -o jsonpath='{.status}' | jq"
    • Velero ログを監視するには、次のコマンドを入力します。

      $ oc logs -n openshift-adp -ldeploy=velero -f

検証

  • status.phase フィールドが Completed の場合、バックアッププロセスは完了したと見なすことができます。

8.5.2. OpenShift Virtualization 上のホステッドクラスターの復元

OpenShift Virtualization 上のホステッドクラスターをバックアップした後、そのバックアップを復元できます。

注記

復元プロセスは、バックアップを作成したのと同じ管理クラスター上でのみ完了できます。

手順

  1. HostedControlPlane namespace で Pod または永続ボリューム要求 (PVC) が実行されていないことを確認します。
  2. 管理クラスターから次のオブジェクトを削除します。

    • HostedCluster
    • NodePool
    • PVC
  3. 次の例のような復元マニフェスト YAML ファイルを作成します。

    apiVersion: velero.io/v1
    kind: Restore
    metadata:
      name: hc-clusters-hosted-restore
      namespace: openshift-adp
    spec:
      backupName: hc-clusters-hosted-backup
      restorePVs: true 1
      existingResourcePolicy: update 2
      excludedResources:
      - nodes
      - events
      - events.events.k8s.io
      - backups.velero.io
      - restores.velero.io
      - resticrepositories.velero.io
    1
    このフィールドにより、含まれている永続ボリュームを使用して Pod の復元が開始されます。
    2
    existingResourcePolicyupdate に設定すると、既存のオブジェクトがバックアップコンテンツで上書きされます。この操作により、イミュータブルなフィールドを含むオブジェクトで問題が発生する可能性があります。そのため、HostedCluster、ノードプール、および PVC を削除しました。このポリシーを設定しなかった場合、Velero エンジンによって、すでに存在するオブジェクトの復元がスキップされます。
  4. 次のコマンドを入力して、YAML ファイルに変更を適用します。

    $ oc apply -f <restore_resource_file_name>.yaml

    <restore_resource_file_name> は、ファイル名に置き換えます。

  5. 復元ステータスフィールドと Velero ログを確認して、復元プロセスを監視します。

    • 復元ステータスフィールドを確認するには、次のコマンドを入力します。

      $ watch "oc get restores.velero.io -n openshift-adp <backup_file_name> -o jsonpath='{.status}' | jq"
    • Velero ログを確認するには、次のコマンドを入力します。

      $ oc logs -n openshift-adp -ldeploy=velero -f

検証

  • status.phase フィールドが Completed の場合、復元プロセスは完了したと見なすことができます。

次のステップ

  • しばらくすると、KubeVirt 仮想マシンが作成され、ホステッドクラスターにコンピュートノードとして参加します。ホステッドクラスターのワークロードが期待どおりに再度実行されていることを確認してください。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.