9.2 Maintenance de la zone de stockage des données ZENworks dans PostgreSQL

Les sections suivantes fournissent des instructions pour la sauvegarde et la restauration de la zone de stockage des données PostgreSQL :

9.2.1 Affichage du mot de passe pour la base de données PostgreSQL par défaut

Le mot de passe pour la base de données PostgreSQL ZENworks par défaut est stocké en texte clair sur votre serveur ZENworks principal. Vous pouvez accéder à la base de données sans mot de passe si vous êtes logué en tant qu'utilisateur Root.

Si vous avez besoin du mot de passe à des fins de maintenance, vous pouvez utiliser la commande suivante pour l'afficher (vous devez être logué en tant qu'utilisateur Root) :

cat /etc/opt/novell/zenworks/serversecret

9.2.2 Présentation de la maintenance de la base de données automatisée

Si vous utilisez une base de données PostgreSQL, certaines tâches de maintenance automatisées s'effectuent une fois par jour et une fois par mois.

Maintenance quotidienne : une fois par jour, les versions anciennes sont marquées afin de récupérer l'espace utilisé par ces enregistrements pour les nouvelles données ; les statistiques utilisées par le moteur de requête sont mises à jour pour obtenir les meilleures performances possibles. Cette maintenance s'effectue chaque jour à 02h15.

Maintenance mensuelle : contrairement à la maintenance quotidienne, la maintenance mensuelle libère de l'espace utilisé par les anciens enregistrements marqués ; ceci évite une grande disparité entre l'espace disque alloué à la base de données et l'espace réellement utilisé par la base de données. Du fait qu'il s'agit d'un processus intensif, il est planifié chaque mois et non chaque jour. Il est exécuté à 03h15 le premier jour de chaque mois.

9.2.3 Sauvegarde de la zone de stockage des données ZENworks

Cette section s'applique uniquement si vous utilisez la base de données PostgreSQL pour stocker vos données.

Vous pouvez utiliser zlm_dbbackup.sh pour effectuer une sauvegarde dans la zone de stockage des données. Cet utilitaire de sauvegarde se trouve dans /opt/novell/zenworks/sbin.

  1. Vérifiez que vous êtes logué à un serveur ZENworks en tant qu'utilisateur root.

  2. À l'invite, entrez la commande suivante :

    zlm_dbbackup.sh

REMARQUE : vous ne pouvez pas exécuter l'utilitaire de sauvegarde depuis un serveur SLES 9 secondaire si le serveur principal est un serveur SLES 10. En effet, l'utilitaire pg_dump du serveur SLES 9 utilisé par l'utilitaire de sauvegarde n'est pas compatible avec la base de données Postgres qui s'exécute sur le serveur principal. Vous devez exécuter l'utilitaire de sauvegarde sur le serveur principal.

Un répertoire de la même date est créé dans /var/opt/novell/zenworks/backup/db. Le fichier de sauvegarde, tampon_horaire-zenworks-backup.tar.gz, est enregistré dans ce répertoire. Par exemple, si la sauvegarde est effectuée le 23 août 2005 à 23 h 30, le répertoire et le fichier suivants sont créés :

/var/opt/novell/zenworks/backup/db/2005-08-23/23 :30 :00-zenworks-backup.tar.gz

Les informations de consignation concernant l'opération de sauvegarde sont enregistrées dans le fichier /var/opt/novell/log/zenworks/dbbackup.log.

Cet utilitaire ne nécessite aucune intervention de l'utilisateur. Si nécessaire, vous pouvez planifier la sauvegarde automatique de la base de données en tant que tâche cron.

9.2.4 Restauration de la zone de stockage des données ZENworks

Cette section s'applique uniquement si vous utilisez la base de données PostgreSQL pour stocker vos données.

En cas de besoin, vous pouvez restaurer la zone de stockage des données ZENworks à partir d'une sauvegarde que vous avez créée. Vous pouvez utiliser zlm_dbrestore.sh, situé dans /opt/novell/zenworks/sbin, pour restaurer la zone de stockage des données après une sauvegarde.

L'opération de restauration abandonne la base de donnée existante et en crée une nouvelle.

Pour restaurer la zone de stockage des données ZENworks :

  1. Sur tous les serveurs ZENworks, arrêtez le serveur (novell-zenserver) et le service de chargement ZENworks (novell-zenloader) au moyen des commandes suivantes :

    /etc/init.d/novell-zenserver stop/etc/init.d/novell-zenloader stop

    Ces services doivent être arrêtés sur tous les serveurs ZENworks de votre système. En effet, tous les serveurs ZENworks accèdent à la zone de stockage des données.

  2. Vérifiez que vous êtes logué à un serveur ZENworks en tant qu'utilisateur root.

  3. À l'invite, entrez la commande suivante :

    zlm_dbrestore.sh -F chemin_d'accès_au_fichier_de_sauvegarde

    Assurez-vous que l'option -F comporte le chemin d'accès complet au fichier de sauvegarde. Par exemple :

    zlm-dbrestore.sh -F /var/opt/novell/zenworks/backup/db/2005-08-23/23:30:00-zenworks-backup.tar.gz
    
  4. Si vous y êtes invité, saisissez Y pour arrêter le serveur ZENworks (novell-zenserver).

  5. Si vous y êtes invité, saisissez Y pour arrêter le service de chargement ZENworks (novell-zenloader).

  6. Lorsqu'un message vous invite à entrer un mot de passe pour abandonner la base de données, saisissez le mot de passe Administrateur.

  7. Lorsqu'un message vous invite à entrer un mot de passe pour créer la base de données, saisissez le mot de passe Administrateur.

    Les informations de consignation concernant l'opération de restauration sont enregistrées dans le fichier /var/opt/novell/log/zenworks/dbrestore.log.

  8. Une fois la restauration achevée, vérifiez que la zone de stockage des données est synchronisée avec la zone de stockage des objets. Pour connaître les instructions, reportez-vous à la Section 9.4, Synchronisation des zones de stockage des objets et des données.

9.2.5 Optimisation de la base de données du serveur

Pour améliorer les performances de la base de données du serveur, utilisez l'exemple de script zlm-pgsql-vacuum, qui se trouve dans le répertoire /opt/novell/zenworks/bin du serveur ZENworks. Lorsque vous installez un serveur ZENworks principal à l'aide d'une base de données PostgreSQL locale, le programme d'installation crée un script qui s'exécute chaque mois.

Le script zlm-pgsql-vacuum exécute la commande vacuumdb, qui a un impact significatif sur les performances de la base de données. Vous devez vous loguer en tant qu'utilisateur root avant d'exécuter le script zlm-pgsql-vacuum. Pour optimiser les performances, exécutez les scripts de vidage suivants :

  • zlm-pg-vacuum ou zlm-pg-vacuum --busy-tables : en fonction de l'activité de la base de données, exécutez le script chaque jour ou chaque semaine. Exécutez ce script une fois par semaine sur un serveur peu chargé et une fois par jour sur un serveur fortement chargé.

  • zlm-pg-vacuum --full : exécutez le script à une période d'activité moindre ou alors que le serveur de base de données n'est pas en service. En fonction de l'activité de la base de données, exécutez le script une à deux fois par semaines. Il effectue une analyse par vidage complet et verrouille les tables de façon exclusive.

Vous pouvez en outre affiner les paramètres suivants, en fonction de vos besoins en mémoire et de votre échelle :

  • Dans le fichier /etc/sysctl.conf, configurez kernel.shmmax.

  • Dans le fichier postgresql.com, configurez shared_buffer, sort_mem, vacuum_mem, wal_buffers et checkpoint_segments.

Pour plus d'informations sur le réglage précis des paramètres, reportez-vous à la documentation PostgreSQL.

Voici un exemple de scénario qui explique comment définir de façon plus précise les paramètres de la base de données. Les valeurs indiquées dans ce scénario sont des exemples. Utilisez vos propres paramètres. Pour plus d'informations sur le réglage précis des paramètres, reportez-vous à la documentation PostgreSQL.

Exemple de scénario : dans ce scénario, on suppose que le serveur ZENworks s'exécute sur une machine IBM x346 avec deux processeurs Xeon et 4 Go de RAM. La base de données s'exécute sur le même serveur. 2 Go de RAM sont dédiées aux autres processus ZENworks, 1 Go de RAM au système d'exploitation et aux processus non-ZENworks, et le reste à PostgreSQL.

Pour optimiser les performances de base de données du serveur :

  1. Dans le fichier /etc/sysctl.conf, configurez la valeur de kernel.shmmax à 1572864000 afin que le processus bénéficie de 1,5 Go de mémoire partagée.

    Le paramètre de kernel shmmax autorise PostgreSQL à consommer plus de mémoire partagée. Par défaut, le kernel autorise un processus à consommer 32 Mo de mémoire partagée seulement.

  2. Dans le fichier postgresql.com, configurez les paramètres suivants :

    • shared_buffers = 131072

    • sort_mem = 10240

    • vacuum_mem = 102400

    • wal_buffers = 20

    • checkpoint_segments = 20

  3. Redémarrez le serveur pour que les modifications soient prises en compte.

9.2.6 Redémarrage des services de serveur Novell Zenworks après le redémarrage de la base de données

Après avoir redémarré la base de données PostgresSQL sur le serveur ZENworks Linux Management, les connexions à la base de données sont restaurées en 15 minutes environ. Au cours de cette période, le Centre de contrôle ZENworks et l'utilitaire zlman peuvent afficher des erreurs de connexion à la base de données.

Pour restaurer les connexions immédiatement, redémarrez les services novell zenworks en exécutant la commande suivante :

/opt/novell/zenworks/bin/zlm-config --restart