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
globals.yaml.gotmplFile で MinIO エンドポイントを設定します。
Back Up the Virtual Appliance Data in S3 Compatible Storage
Snapshots capture the state of the datastore and can be used to restore data. You can store multiple snapshots in a single repository. The following commands stores the snapshots in the virtual-appliance-repo-minio repository.
Create a snapshot for each datastore:
- Elasticsearch
-
CODE
appdcli run es_backup create-snapshot <repo-name> <snapshot-name>ExampleCODEappdcli run es_backup create-snapshot virtual-appliance-repo-minio es-snapshot - PostgreSQL
-
CODE
appdcli run pg_backup create-snapshot <repo-name> <snapshot-name>ExampleCODEappdcli run pg_backup create-snapshot repo2 pg-snapshot - MySQL
-
CODE
appdcli run mysql_backup create-snapshot <snapshot-name>ExampleCODEappdcli run mysql_backup create-snapshot 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>
Delete the Snapshots from the MinIO S3 Compatible Storage
If you no longer require the snapshot, you can delete the snapshot from the MinIO S3 Compatible Storage.
- Elasticsearch
-
CODE
appdcli run es_backup delete-snapshot <repo-name> <snapshot-name>ExampleCODEappdcli run es_backup delete-snapshot virtual-appliance-repo-mino es_snapshot - PostgreSQL
-
CODE
appdcli run pg_backup delete-snapshot <repo-name>ExampleCODEappdcli run pg_backup delete-snapshot repo2 pg_snapshot - MySQL
-
CODE
appdcli run mysql_backup delete-snapshot <repo-name>ExampleCODEappdcli run mysql_backup delete-snapshot mysql_snapshot