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