ネットワーク ファイル システム サーバーを使用したバックアップと復元

仮想アプライアンスのデータをネットワーク ファイル システム(NFS)サーバーにバックアップできます。仮想アプライアンスのデータをバックアップするには、次の手順に従います。

  1. NFS サーバーの設定
  2. NFS パラメータの設定
  3. NFS サーバーのグローバルファイルの更新
  4. 仮想アプライアンスデータのバックアップ
  5. 仮想アプライアンスデータの復元

NFS サーバーの設定

このセクションでは、NFS サーバーをインストールするための OS の例として AlmaLinux OS を考慮しています。以下の手順に従って NFS サーバーをインストールし、設定します。

  1. 次のコマンドを実行して NFS サーバーをインストールします。
    CODE
    dnf install nfs-utils
    mkdir -p /mnt/nfs_share
    chown nobody:nobody /mnt/nfs_share
    chmod 777 -R /mnt/nfs_share/
  2. NFS エクスポートを設定します。
    CODE
    /mnt/nfs_share 10.0.203.0/24(rw,sync,no_subtree_check,no_root_squash)
    /mnt/nfs_share 10.0.202.0/24(rw,sync,no_subtree_check,no_root_squash)
  3. NFS サーバーを再起動します。
    CODE
    systemctl restart nfs-server
  4. NFS サーバーのステータスを確認します。
    CODE
    systemctl status nfs-server

仮想アプライアンスでの NFS パラメータの設定

NFS サーバーの詳細を使用して globals.yaml.gotmpl Edit the globals.yaml.gotmpl file を編集します。

CODE
# NFS parameters
nfs:
server: 10.0.203.142
path: /mnt/nfs_share

Configure the NFS Server on the globals.yaml.gotmpl File

  1. Create a repository to back up the data in the NFS server.
    注: You can create repository only for the Elasticsearch backup. By default, the globals.yaml.gotmpl file uses the repo3 repository for MySQL and PostgreSQL.
    CODE
    appdcli run es_backup create-fs-repo virtual-appliance-repo-nfs
  2. Enable thefs section for datastores to back up using the NFS server. See globals.yaml.gotmpl file.
    Elasticsearch
    CODE
    # Backup config for datastores
    backup:
    elasticsearch:
    fs:
    enabled: true
    storage: 5Gi
    PostgreSQL
    CODE
    # Backup config for datastores
    backup:
    postgresql:
    fs:
    enabled: true
    repoName: repo3
    storage: 5Gi
    MySQL
    CODE
    # Backup config for datastores
    backup:
    mysql:
    fs:
    enabled: true
    repoName: repo3
    storage: 5Gi

Back Up the Virtual Appliance Data in the NFS Server

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-nfs repository.

Create a snapshot for each datastore:

Elasticsearch
CODE
appdcli run es_backup create-snapshot <repo-name> <snapshot-name>
Example
CODE
appdcli run es_backup create-snapshot virtual-appliance-repo-nfs es-snapshot
PostgreSQL
CODE
appdcli run pg_backup create-snapshot <repo-name> <snapshot-name>
Example
CODE
appdcli run pg_backup create-snapshot repo3
MySQL
CODE
appdcli run mysql_backup create-snapshot <repo-name> <snapshot-name>
Example
CODE
appdcli run mysql_backup create-snapshot repo3 mysql-snapshot

Restore Snapshots from the NFS server

Use the snapshots that you have stored in NFS to restore the datastores.

  1. List the snapshots in the repository:
    Elasticsearch
    CODE
    appdcli run es_backup list-snapshot <repo-name>
    Example
    CODE
    appdcli run es_backup list-snapshot virtual-appliance-repo-nfs
    PostgreSQL
    CODE
    appdcli run pg_backup list-snapshot <repo-name>
    Example
    CODE
    appdcli run pg_backup list-snapshot repo3
    MySQL
    CODE
    appdcli run mysql_backup list-snapshot <repo-name>
    Example
    CODE
    appdcli run mysql_backup list-snapshot repo3
  2. Restore the datastore by one of the snapshots:
    Elasticsearch
    CODE
    appdcli run es_backup restore-snapshot <repo-name> <snapshot-name>
    Example
    CODE
    appdcli run es_backup restore-snapshot virtual-appliance-repo-nfs es_snapshot
    PostgreSQL
    CODE
    appdcli run pg_backup restore-snapshot <repo-name> <snapshot-name>
    Example
    CODE
    appdcli run pg_backup restore-snapshot repo3 pg_snapshot
    MySQL
    CODE
    appdcli run mysql_backup restore-snapshot <repo-name> <snapshot-name>
    Example
    CODE
    appdcli run mysql_backup restore-snapshot repo3 mysql_snapshot

NFS サーバーからのスナップショットの削除

スナップショットが不要になった場合は、NFS からスナップショットを削除できます。

Elasticsearch
CODE
appdcli run es_backup delete-snapshot <repo-name> <snapshot-name>
CODE
appdcli run es_backup delete-snapshot virtual-appliance-repo-nfs es_snapshot
PostgreSQL
CODE
appdcli run pg_backup delete-snapshot <repo-name>
CODE
appdcli run pg_backup delete-snapshot repo3 pg_snapshot
MySQL
CODE
appdcli run mysql_backup delete-snapshot <repo-name>
CODE
appdcli run mysql_backup delete-snapshot repo3 mysql_snapshot