MinIO の S3 互換ストレージを使用したバックアップ
仮想アプライアンスのデータを MinIO S3 互換ストレージにバックアップできます。仮想アプライアンスのデータをバックアップするには、次の手順に従います。
MiniIO S3 互換ストレージの設定
MinIO を使用して仮想アプライアンスデータをバックアップする前に、次の手順に従って MinIO サーバーを設定します。
9000 ポートが MinIO サーバーで使用可能であることを確認します。
仮想アプライアンスでの MinIO 証明書の設定
MinIO サーバーとストアスナップショットの間で SSL 接続を確立するには、仮想アプライアンスでの MinIO の CA 証明書が必要です。
MinIO の public.crt を仮想アプライアンスクラスターにコピーします。
- PostgreSQL
-
CODE
/var/appd/config/postgres-s3-ca.crt - MySQL
-
CODE
/var/appd/config/mysql-s3-ca.crt
Elasticsearch には JKS 形式が必要なため、public.crt を JKS ファイルに変換します。
- 次のコマンドを実行して、
public.crtから JKS ファイルを生成します。CODEkeytool -importcert -keystore es-s3-ca.jks -storepass changeit -file public.crt -alias minio es-s3-ca.jksファイルを次の場所にコピーします。CODE/var/appd/configsecrets.yamlでトラストストアパスワードを設定します。たとえば、changeitです。「secrets.yaml.encryptedファイルの編集」を参照してください。注:- MinIO コンソールにアクセスし、アクセス鍵と秘密鍵を生成します。
es-s3-ca.jksのstorepasswordを、シークレットのtruststorePasswordとして指定します。secret.yamlの変更を同期するには、appdcli syncコマンドを実行します。
CODE# S3 secrets ## backup: elasticsearch: s3: access_key: WTFaWld3c1NHWWNOSzBWeDlXaHI= secret_key: TWtJY0NweVdIcEhJV0pxdzdIWkRnVld3dzAxODRqbjhnS1pnZHozag== trustStorePassword: changeit
Configure the MinIO Endpoint in theglobals.yaml.gotmplFile
S3 互換ストレージでの仮想アプライアンスデータのバックアップ
スナップショットはデータストアの状態をキャプチャし、データを復元するために使用できます。1 つのリポジトリに複数のスナップショットを保存できます。次のコマンドは、スナップショットを virtual-appliance-repo-minio リポジトリに保存します。
各データストアのスナップショットを作成します。
- Elasticsearch
-
CODE
appdcli run es_backup create-snapshot <repo-name> <snapshot-name>例CODEappdcli run es_backup create-snapshot virtual-appliance-repo-minio es-snapshot - PostgreSQL
-
CODE
appdcli run pg_backup create-snapshot <repo-name> <snapshot-name>例CODEappdcli run pg_backup create-snapshot repo2 pg-snapshot - MySQL
-
CODE
appdcli run mysql_backup create-snapshot <repo-name> <snapshot-name>例CODEappdcli run mysql_backup create-snapshot repo2 mysql-snapshot
MinIO サーバーからスナップショットを復元する
MinIO サーバーに保存したスナップショットを使用してデータストアを復元します。
helm delete controller -n cisco-controller
- リポジトリでスナップショットを一覧表示します。
- Elasticsearch
-
CODE
appdcli run es_backup list-snapshot <repo-name>例CODEappdcli run es_backup list-snapshot virtual-appliance-repo-mino - PostgreSQL
-
CODE
appdcli run pg_backup list-snapshot <repo-name>例CODEappdcli run pg_backup list-snapshot repo2 - MySQL
-
CODE
appdcli run mysql_backup list-snapshot <repo-name>例CODEappdcli run mysql_backup list-snapshot repo2
- 次のいずれかのスナップショットにより、データストアを復元します。
- Elasticsearch
-
CODE
appdcli run es_backup restore-snapshot <repo-name> <snapshot-name>例CODEappdcli run es_backup restore-snapshot virtual-appliance-repo-mino es_snapshot - PostgreSQL
-
CODE
appdcli run pg_backup restore-snapshot <repo-name>例CODEappdcli run pg_backup restore-snapshot repo2 pg_snapshot - MySQL
-
CODE
appdcli run mysql_backup restore-snapshot <repo-name>例CODEappdcli run mysql_backup restore-snapshot repo2 mysql_snapshot
復元が成功し、コントローラがダウンしている場合は、次のコマンドを実行します。
appdcli sync appd <profile>
MinIO S3 互換ストレージからのスナップショットの削除
スナップショットが不要になった場合は、MinIO S3 互換ストレージからスナップショットを削除できます。
- Elasticsearch
-
CODE
appdcli run es_backup delete-snapshot <repo-name> <snapshot-name>例CODEappdcli run es_backup delete-snapshot virtual-appliance-repo-mino es_snapshot - PostgreSQL
-
CODE
appdcli run pg_backup delete-snapshot <repo-name>例CODEappdcli run pg_backup delete-snapshot repo2 pg_snapshot - MySQL
-
CODE
appdcli run mysql_backup delete-snapshot <repo-name>例CODEappdcli run mysql_backup delete-snapshot repo2 mysql_snapshot