Sauvegarde du Data Repository

Pour protéger vos données, sauvegardez le référentiel Data Repository.
capm370
Pour protéger vos données, sauvegardez le référentiel Data Repository.
La procédure suivante est la méthode prise en charge pour la sauvegarde du Data Repository. La prise d'un cliché de machine virtuelle n'est
pas
une méthode de sauvegarde du Data Repository prise en charge.
La première sauvegarde est une sauvegarde complète de toutes les données historiques. Les sauvegardes ultérieures sont incrémentielles et incluent toutes les activités de base de données effectuées depuis le cliché effectué au début de la dernière sauvegarde.
2
A propos des sauvegardes de référentiel Data Repository
  • Data Repository et Data Aggregator continuent à s'exécuter lors d'une sauvegarde du référentiel Data Repository.
  • Le traitement de la sauvegarde peut requérir une grande quantité de ressources et sa priorité est moins élevée que celle d'autres traitements. Pour accélérer le traitement des sauvegardes et réduire l’impact sur les autres traitements, effectuez les sauvegardes lors des heures creuses.
  • Vous pouvez sauvegarder le Data Repository sur un hôte distant ou sur le même hôte. Si vous effectuez une sauvegarde sur le même hôte, enregistrez-la sur un disque différent de celui utilisé par les répertoires de catalogues et de données.
  • Effectuez des sauvegardes complètes chaque semaine. Effectuez des sauvegardes incrémentielles de façon quotidienne.
  • Les sauvegardes complètes se produisent uniquement lorsque l'emplacement de sauvegarde est un nouveau répertoire. Le paramètre snapshotName peut être identique à celui des sauvegardes précédentes.
  • Les clichés incrémentiels stockent les nouveaux fichiers et les liens physiques de fichiers inchangés depuis la sauvegarde précédente. La restauration vers un cliché incrémentiel dépend de l'intégrité des fichiers liés aux clichés précédents.
  • Pour plus d'informations sur la taille des fichiers de sauvegarde, reportez-vous à l'outil de dimensionnement de
    DX Performance Management
    .
Pour garantir l'intégrité des données, sauvegardez chaque noeud du référentiel de données vers un hôte de sauvegarde dédié. Pour préparer la sauvegarde, procédez comme suit pour chaque noeud Data Repository.
Avant de commencer, vérifiez les informations suivantes sur l'hôte de Data Repository et l'hôte de sauvegarde distant :
  • Aucun hôte n'est connecté au référentiel LDAP.
  • Aucun hôte n'est connecté au service NIS (service d'information réseau) et n'a le même administrateur de bases de données Vertica Linux.
  • Le port 50000 est ouvert sur les pare-feu de façon à ce que l'hôte Data Repository puisse accéder au port rsync/ssh personnalisé 50000 sur l'hôte de sauvegarde.
Si vous ne disposez pas d'un hôte de sauvegarde, vous pouvez sauvegarder le référentiel Data Repository localement. Pour plus d'informations, reportez-vous à la section Configuration de l'hôte Data Repository pour une sauvegarde locale.
Procédez comme suit :
  1. Connectez-vous à l'hôte de sauvegarde en tant qu'utilisateur root.
  2. Créez l'administrateur de bases de données Vertica Linux sur l'hôte de sauvegarde distant :
    useradd
    db_admin
    -s /bin/bash
    db_admin
    est le même administrateur de bases de données Vertica Linux qui existe sur les hôtes Data Repository.
  3. Définissez le mot de passe d'administrateur de la base de données Vertica Linux.
    passwd
    db_admin
  4. Créez les répertoires Vertica sur l'hôte de sauvegarde distant :
    mkdir /opt/vertica/bin
    mkdir /opt/vertica/oss
  5. Modifiez le propriétaire des répertoires Vertica :
    chown -R
    db_admin
    /opt/vertica
  6. Déconnectez-vous de l'hôte de sauvegarde distant.
  7. Configurez une connexion SSH sans mot de passe sur l'hôte Data Repository pour l'hôte de sauvegarde distant :
    1. Connectez-vous à l'hôte Data Repository en tant qu'administrateur de la base de données Vertica Linux.
    2. Générez les clés pour la connexion SSH sans mot de passe :
      ssh-keygen -N "" -t rsa -f ~/.ssh/id_rsa
      cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys2
      chmod 644 ~/.ssh/authorized_keys2
    3. Copiez la clé publique d'administrateur de bases de données Vertica Linux dans la liste des clés autorisées sur l'hôte de sauvegarde distant :
      ssh-copy-id -i [email protected]
      backuphost
    4. Connectez-vous à l'hôte de sauvegarde distant en tant qu'administrateur de la base de données Vertica Linux.
    5. Copiez les outils rsync et python de Vertica à partir de l'hôte Data Repository sur l'hôte de sauvegarde distant :
      scp [email protected]
      drhost
      :/opt/vertica/bin/rsync /opt/vertica/bin
      scp -r [email protected]
      drhost
      :/opt/vertica/oss/python /opt/vertica/oss
  8. Vérifiez que l'hôte de sauvegarde distant comprend les répertoires suivants :
    • /opt/vertica/bin/rsync
    • /opt/vertica/oss/python
  9. Créez le répertoire de sauvegarde :
    mkdir
    backup_directory
    backup_directory
    : spécifie le répertoire dans lequel vous souhaitez enregistrer les fichiers de sauvegarde. Sélectionnez un répertoire de sauvegarde qui est sur une partition de disque avec une grande quantité d'espace disponible. Si l'administrateur de bases de données n'a pas accès en écriture à ces répertoires, accordez-lui les droits d'accès appropriés.
    L’hôte distant est prêt pour la création du fichier de configuration de sauvegarde et pour l'initialisation du répertoire de sauvegarde.
Configuration de la sauvegarde du référentiel Data Repository
Pour sauvegarder le référentiel Data Repository et configurer des sauvegardes automatiques, créez un fichier de configuration pour la sauvegarde. Vertica effectue une première sauvegarde complète dans un nouveau répertoire de sauvegarde. Toutes les sauvegardes suivantes dans le même répertoire seront incrémentielles, même en cas de changement du nom du cliché.
Le noeud sur lequel vous effectuez cette procédure lance la sauvegarde.
Pour configurer l'utilitaire VBR, Vertica installe automatiquement des exemples de fichiers de configuration à l'emplacement suivant :
/
opt/vertica/share/vbr/example_configs
.
Pour plus d'informations, consultez la documentation de Vertica.
Procédez comme suit :
  1. Connectez-vous à l'hôte Data Repository en tant qu'administrateur de bases de données.
  2. Créez un fichier de mot de passe :
    Exemple :
    /opt/vertica/config/password.txt
    Vous pouvez enregistrer le fichier de mot de passe à un autre emplacement.
    [Passwords]
    ; Specified password for db admin account
    dbPassword = DBpassword
    ; Specifies password for rsync user account – if different than DB admin
    ; serviceAccessPass = rsyncpwd
    ; Specifies password for the dest_dbuser Vertica account. Used only for restoring to alternate cluster.
    ; dest_dbPassword = DestinationPwd
  3. Accédez aux exemples de fichiers de configuration :
    /opt/vertica/share/vbr/example_configs
    L'administrateur de bases de données requiert des droits en écriture sur le répertoire.
  4. Copiez, modifiez et déployez un fichier de configuration pour la sauvegarde. Reportez-vous aux exemples suivants fournis par Vertica.
    Exemple 1 :
    backup_restore_full_local.ini
    Sauvegardez le Data Repository dans une zone locale sur le même ordinateur. La sauvegarde peut être un montage à partir d'un lecteur partagé externe ou d'un disque local. Vous ne pouvez pas utiliser le même disque que
    data/catalog
    .
    [Mapping]
    ; node_name = backup_host:backup_dir
    ; [] indicates backup to localhost
    v_drdata_node0001 = []:/backups
    v_drdata_node0002 = []:/backups
    v_drdata_node0003 = []:/backups
    [Misc]
    ; Backups with the same snapshotName form a time sequence limited by restorePointLimit.
    ; SnapshotName is used for naming archives in the backup directory, and for monitoring and troubleshooting.
    ; Valid values: a-z A-Z 0-9 - _
    snapshotName = backup_snapshot
    [Misc]
    ; The temp directory location on all database hosts.
    ; The directory must be readable and writeable by the dbadmin, and must implement POSIX style fcntl lockf locking.
    ; tempDir = /tmp/vbr
    ; Specifies the number of historical backups to retain in addition to the most recent backup.
    ; 1 current + n historical backups
    restorePointLimit = 7
    ; Full path to the password configuration file
    ; Store this file in directory readable only by the dbadmin.
    passwordFile = /opt/vertica/config/password.txt
    ; When enabled, Vertica confirms that the specified backup locations contain
    ; sufficient free space and inodes to allow a successful backup. If a backup
    ; location has insufficient resources, Vertica displays an error message explaining the shortage and
    ; cancels the backup. If Vertica cannot determine the amount of available space
    ; or number of inodes in the backupDir, it displays a warning and continues
    ; with the backup.
    ; enableFreeSpaceCheck = True
    ; When performing a backup, replication, or copycluster, specifies the maximum
    ; acceptable difference, in seconds, between the current epoch and the backup epoch.
    ; If the time between the current epoch and the backup epoch exceeds the value
    ; specified in this parameter, Vertica displays an error message.
    ; SnapshotEpochLagFailureThreshold = 3600
    Exemple 2 :
    backup_restore_full_external.ini
    Sauvegardez le Data Repository sur un autre ordinateur. Remplacez les adresses IP par l'adresse IP du ou des hôtes de sauvegarde.
    [Mapping]
    ; node_name = backup_host:backup_dir
    ; In this "parallel backup" configuration, each node backs up to a distinct external host.
    ; To backup all database nodes to a single external host, use that single hostname/IP address in each entry below.
    v_drdata_node0001 = 1.1.1.1:/backups
    v_drdata_node0002 = 2.2.2.2:/backups
    v_drdata_node0003 = 3.3.3.3:/backups
    [Misc]
    ; Backups with the same snapshotName form a time sequence limited by restorePointLimit.
    ; SnapshotName is used for naming archives in the backup directory, and for monitoring and troubleshooting.
    ; Valid characters: a-z A-Z 0-9 - _
    snapshotName = backup_snapshot
    [Misc]
    ; The temp directory location on all database hosts.
    ; The directory must be readable and writeable by the dbadmin, and must implement POSIX style fcntl lockf locking.
    ; tempDir = /tmp/vbr
    ; Specifies the number of historical backups to retain in addition to the most recent backup.
    ; 1 current + n historical backups
    restorePointLimit = 7
    ; Full path to the password configuration file
    ; Store this file in directory readable only by the dbadmin
    ; (no default)
    passwordFile = /opt/vertica/config/password.txt
    ; When enabled, Vertica confirms that the specified backup locations contain
    ; sufficient free space and inodes to allow a successful backup. If a backup
    ; location has insufficient resources, Vertica displays an error message explaining the shortage and
    ; cancels the backup. If Vertica cannot determine the amount of available space
    ; or number of inodes in the backupDir, it displays a warning and continues
    ; with the backup.
    ; enableFreeSpaceCheck = True
    ; When performing a backup, replication, or copycluster, specifies the maximum
    ; acceptable difference, in seconds, between the current epoch and the backup epoch.
    ; If the time between the current epoch and the backup epoch exceeds the value
    ; specified in this parameter, Vertica displays an error message.
    ; SnapshotEpochLagFailureThreshold = 3600
  5. (Première fois uniquement) Initialisez le répertoire de sauvegarde avant la première exécution de la sauvegarde.
    /opt/vertica/bin/vbr.py --task init --config-file
    configuration_directory_path_filename
    • configuration_directory_path_filename
      correspond au chemin du répertoire et au nom du fichier de configuration que vous allez référencer lors de la restauration. Ce fichier se trouve à l'emplacement à partir duquel vous avez exécuté l'utilitaire de sauvegarde.
    Une fois initialisé, plusieurs fichiers de configuration peuvent utiliser le répertoire si les fichiers partagent le même emplacement de répertoire de sauvegarde.
  6. Sauvegardez le référentiel Data Repository :
    /opt/vertica/bin/vbr.py --task backup --config-file
    configuration_directory_path_filename
    Par exemple :
    /opt/vertica/bin/vbr.py --task backup --config-file /home/vertica/vert-db-production.ini
  7. Remarque : Si vous êtes invité à confirmer l'authenticité de l'hôte, répondez yes.
    Data Repository démarre la sauvegarde. Ce processus peut prendre un certain temps, en particulier pour une sauvegarde complète.
  8. (Facultatif) Si vous ne voulez pas conserver le mot de passe Data Repository en texte clair pour les prochaines sauvegardes manuelles :
    Le fichier de configuration généré contient un mot de passe en texte clair. Le mot de passe est requis pour les sauvegardes automatiques. Cette procédure empêche les sauvegardes automatiques de ce fichier de configuration.
    1. Vérifiez que la ligne suivante existe dans la section [Database] :
      dbPromptForPassword = True
    2. Supprimez la ligne suivante de la section [Database] :
      dbPassword =
      password
Configuration d'une sauvegarde automatique
Pour générer des sauvegardes régulières du référentiel Data Repository, créez un job cron pour planifier des sauvegardes automatiques. La première sauvegarde est une sauvegarde complète et les sauvegardes suivantes sont incrémentielles. Exécutez une sauvegarde complète hebdomadaire ou bihebdomadaire. Vertica effectue une sauvegarde complète uniquement lorsque vous utilisez un nouveau répertoire de sauvegarde.
Exécutez une sauvegarde complète hebdomadaire. Si l'espace disque est limité, conservez uniquement deux ou trois semaines de données. Supprimez le fichier de sauvegarde le plus ancien au début de chaque semaine. Utilisez la tâche remove de l’utilitaire vbr pour supprimer les anciennes sauvegardes. Vertica ne prend pas en charge la suppression des sauvegardes via le système de fichiers.
Procédez comme suit :
  1. Créez un script de shell d’encapsulateur qui contient la ligne suivante :
    /opt/vertica/bin/vbr.py --task backup --config-file
    configuration_directory_path_filename
    configuration_directory_path_filename
    correspond au chemin du répertoire et au nom du fichier de configuration que vous allez référencer lors de la restauration.
  2. Enregistrez le contenu dans un nouveau fichier nommé backup_script.sh à l'emplacement de votre choix.
    Par exemple :
    /home/vertica/backup_script.sh
  3. Modifiez les autorisations d'exécution du script :
    La commande
    chmod 777
    rend le fichier exécutable, lisible et accessible en écriture par tous les utilisateurs. Pour que seul le propriétaire du script puisse exécuter le fichier, utilisez la commande
    chmod 700
    . Pour que seul l'utilisateur root puisse exécuter le fichier, utilisez la commande
    chmod 755
    .
    chmod 777
    location_backup_script.sh
    /backup_script.sh
    Par exemple :
    chmod 777 /home/vertica/backup_script.sh
  4. En tant qu'administrateur de bases de données, ouvrez crontab pour définir un job cron :
    crontab -e
  5. Ajoutez un job cron qui exécute le script de sauvegarde.
    Créez un job cron pour exécuter le script tous les jours à une heure creuse.
    Par exemple :
    00 02 * * * /home/vertica/backup_script.sh >/tmp/backup.log 2>&1
    Cet exemple de job cron exécute le script de sauvegarde tous les jours à 02 h 00.
    Le job cron exécute une sauvegarde incrémentielle quotidienne.
  6. Ajoutez un script pour copier le fichier de configuration et modifiez le nom du cliché dans le fichier de configuration. De même, utilisez un nouveau répertoire de sauvegarde dans le fichier de configuration pour forcer Vertica à effectuer une sauvegarde complète.
    Ne supprimez pas le fichier de configuration précédent. Le fichier de configuration d’origine est requis pour supprimer une sauvegarde ou effectuer une restauration à partir d’une ancienne série de sauvegardes.
  7. (Facultatif) Supprimez des séquences de sauvegardes plus anciennes selon vos besoins à l'aide de la tâche remove de l’utilitaire vbr et de la configuration utilisée pour les créer.
    /opt/vertica/bin/vbr.py --task remove --archive=[<date>_<time>|"all"] --config-file
    configuration_directory_path_filename
    La commande remove est destructrice ; elle supprime les données et libère de l’espace sur le disque. L’archive doit être spécifiée pour supprimer un point de restauration unique, une liste de points de restauration séparés par des virgules ou tous les points de restauration. Pour afficher la liste des sauvegardes, exécutez la commande
    --task listbackup
    .
Référence de l’utilitaire VBR
L’utilitaire vbr de Vertica vous permet de sauvegarder et de restaurer la base de données complète ou un ou plusieurs schéma et objets de table de votre choix. Vous pouvez également copier un cluster et répertorier les sauvegardes créées précédemment.
Pour des informations complètes sur l'utilitaire vbr, reportez-vous à la documentation de Vertica.