Line 1: |
Line 1: |
| {{Languages|Affa}} | | {{Languages|Affa}} |
| + | {{Warning box|type=Attention : | 1er sept 2022, un correctif récent de rysnc, rsync-3.1.2-11.el7_9.x86_64, provoque l'échec silencieux du fonctionnement d'Affa. Voir ci-dessous.}} |
| {{Level|type=Niveau de compétence : Avancé|Advanced|Les instructions dans cette page requièrent un niveau avancé. Une bonne compréhension de Linux et du serveur KOOZALI SME est recommandée.}} | | {{Level|type=Niveau de compétence : Avancé|Advanced|Les instructions dans cette page requièrent un niveau avancé. Une bonne compréhension de Linux et du serveur KOOZALI SME est recommandée.}} |
| + | |
| + | ===Attention=== |
| + | {{Warning box|type=Attention : | rsync-3.1.2-11.el7_9.x86_64 provoque l'échec silencieux d'Affa.}} |
| + | |
| + | Vous pouvez voir l'échec dans vos journaux, mais c'est tout. Aucun fichier ne sera sauvegardé après avoir installé cette mise à jour de rsync. |
| + | |
| + | Voir le lien vers le bogue 12165 ci-dessous. |
| + | |
| + | Le seul correctif actuel consiste à rétrograder rsync sur le serveur Affa. Cela n'a pas d'importance sur le serveur cible. |
| + | |
| + | Nous travaillons sur une solution et avons un code de test en cours d'exécution et nous proposerons un correctif dès que possible. |
| + | |
| + | Veuillez contacter ReetP sur le bogue si vous voulez aider à tester. Un correctif sera disponible plus rapidement si vous le faites. |
| + | |
| {{usefulnote/fr}} | | {{usefulnote/fr}} |
| | | |
Line 86: |
Line 101: |
| | | |
| === Installation d'Affa v.3 === | | === Installation d'Affa v.3 === |
| + | ====Pour SME 9==== |
| {{Note box|type=Note :|Affa est incompatible avec AutoBlock. Noter qu'AutoBlock est activé par défaut dans le Serveur SME 9. Utiliser de préférence [https://wiki.contribs.org/Fail2ban Fail2ban.] | | {{Note box|type=Note :|Affa est incompatible avec AutoBlock. Noter qu'AutoBlock est activé par défaut dans le Serveur SME 9. Utiliser de préférence [https://wiki.contribs.org/Fail2ban Fail2ban.] |
| Pour vérifier qu'AutoBlock est bien désactivé : | | Pour vérifier qu'AutoBlock est bien désactivé : |
Line 117: |
Line 133: |
| Se connecter en « root » en local ou par une console SSH à distance sur ''affabox'' (le serveur de sauvegarde sur lequel on installe Affa). | | Se connecter en « root » en local ou par une console SSH à distance sur ''affabox'' (le serveur de sauvegarde sur lequel on installe Affa). |
| | | |
− | =Pour SME 10= | + | ====Pour SME 10==== |
| | | |
− | Il existe une nouvelle version de développement 3.3.1. | + | Il existe une nouvelle version : la 3.3.1. |
| + | Cependant, Affa est un objet très compliqué avec un grand nombre d'options et beaucoup n'ont probablement pas été suffisamment testées malgré les demandes de tests et de retours. La plupart des principaux composants devraient fonctionner, mais il se peut qu'il y ait une pléthore de cas extrêmes qui échouent. |
| | | |
− | {{Warning box|type=Attention : | cette version cassera presque certainement à la fois vos anciennes sauvegardes et votre nouveau serveur. Utilisez-la UNIQUEMENT dans un scénario de test jusqu'à ce qu'elle soit complètement stable.}} | + | {{Warning box|type=Attention : | ne comptez pas sur Affa comme votre seule sauvegarde. Assurez-vous également d'avoir un autre type de sauvegarde.}} |
| | | |
| {{Warning box|type=Attention : | n'utilisez AUCUNE version affa de Koozali SME v9 avec la v10. Cela cassera probablement à la fois vos sauvegardes et votre nouveau serveur.}} | | {{Warning box|type=Attention : | n'utilisez AUCUNE version affa de Koozali SME v9 avec la v10. Cela cassera probablement à la fois vos sauvegardes et votre nouveau serveur.}} |
− |
| |
− | Notez que nous SAVONS qu'il s'agit d'un code Alpha en cours de développement (bien qu'il soit proche de la version bêta au moment de cette mise à jour) et qu'il ne fonctionnera presque certainement pas correctement et nécessite encore de nombreux tests et correctifs. Voir les bogues ci-dessous.
| |
| | | |
| Nous avons effectué des tests très minimes sur la migration de la v9 vers la v10. | | Nous avons effectué des tests très minimes sur la migration de la v9 vers la v10. |
Line 137: |
Line 152: |
| signal-event yum-modify | | signal-event yum-modify |
| | | |
− | config set UnsavedChanges non | + | config set UnsavedChanges no |
| | | |
− | yum install --enablerepo=smecontribs,epel,openfusion,smedev smeserver-affa | + | yum install --enablerepo=smecontribs,epel,openfusion smeserver-affa |
| + | |
| + | Durant le développement, l'installation peut être effectuuée par : |
| + | yum install --enablerepo=smedev,epel,openfusion,smedev smeserver-affa |
| | | |
| Veuillez publier des rapports de bogues dans le [http://bugs.contribs.org bug tracker] | | Veuillez publier des rapports de bogues dans le [http://bugs.contribs.org bug tracker] |
Line 150: |
Line 168: |
| Le serveur redémarrera. Ensuite, Affa 3 est prêt à être utilisé. | | Le serveur redémarrera. Ensuite, Affa 3 est prêt à être utilisé. |
| | | |
− | Créer maintenant manuellement un répertoire pour les fichiers d'archives (à solutionner) :
| + | {{Warning box|type=Attention : |notez que sur SME10, une fonctionnalité SSH [https://wiki.contribs.org/AutoBlock AutoBlock] interfère avec l'exigence d'Affa de connexions SSH normales ! Vous devrez peut-être désactiver cette fonctionnalité ou augmenter notablement le paramètre « MaxAuthtries » pour permettre à Affa de fonctionner correctement.}} |
| | | |
− | mkdir /var/affa
| + | {{Note box|type=Note :| noter qu'AutoBlock est activé par défaut dans le Serveur SME 10. Utiliser de préférence [https://wiki.contribs.org/Fail2ban Fail2ban.] |
− | | |
− | {{Note box|type=Note :|Affa est incompatible avec AutoBlock. Noter qu'AutoBlock est activé par défaut dans le Serveur SME 9. Utiliser de préférence [https://wiki.contribs.org/Fail2ban Fail2ban.] | |
| Pour vérifier qu'AutoBlock est bien désactivé : | | Pour vérifier qu'AutoBlock est bien désactivé : |
| db configuration show sshd | | db configuration show sshd |
Line 899: |
Line 915: |
| ===Options d'utilisation et de lignes de commande spécifiques à SME=== | | ===Options d'utilisation et de lignes de commande spécifiques à SME=== |
| | | |
− | {{Note box|type=Note :| les commandes ci-dessous sont implémentées dans le programme dérivé «smeserver-affa» du projet Affa 3 pour une utilisation avec le Serveur SME. Elles ne font pas partie du projet Affa 3 pour CentOS.}} | + | {{Note box|type=Note :| les commandes ci-dessous sont implémentées dans le programme dérivé «smeserver-affa» du projet Affa 3 pour une utilisation avec le Serveur SME. '''Elles ne font pas partie du projet Affa 3 pour CentOS'''.}} |
− | | + | ====La fonction 'rise' pour le serveur SME ==== |
| '''affa --rise [--all] JOB [ARCHIVE]''' | | '''affa --rise [--all] JOB [ARCHIVE]''' |
| | | |
− | Lance une restauration totale depuis l'archive de sauvegarde [ARCHIVE] sur le serveur Affa <b>(!)</b> comme défini dans l'enregistrement JOB. Autrement dit, une fois terminée, le serveur de sauvegarde reboote comme un clone du serveur source. Assurez-vous d'avoir arrêté le serveur source avant de rebooter le serveur de sauvegardes, sinon l'interface réseau ne sera pas activée. Cela est important, lorsque vous lancez --rise à distance. La fonction --rise ne fonctionne qu'avec les serveurs SME et ne devrait être utilisée que sur les serveurs de sauvegardes dédiés. | + | Lance une restauration totale depuis l'archive de sauvegarde [ARCHIVE] sur le serveur Affa <b>(!)</b> comme défini dans l'enregistrement JOB. Autrement dit, une fois terminée, le serveur de sauvegarde redémarre comme un clone du serveur source. Assurez-vous d'avoir arrêté le serveur source avant de rebooter le serveur de sauvegardes, sinon l'interface réseau ne sera pas activée. Cela est important, lorsque vous lancez --rise à distance. La fonction --rise ne fonctionne qu'avec les serveurs SME et ne devrait être utilisée que sur les serveurs de sauvegardes dédiés. |
| | | |
| Avec l'option --all, tous les fichiers et répertoires de l'archive tels que définis par les propriétés include[] sont restaurés. Les fichiers et répertoires avec le même nom sur le serveur Affa seront écrasés et ne peuvent pas être restaurés par un undo-rise. Cela ne devrait pas poser de problème sur un serveur Affa dédié qui ne contient aucune autre donnée. Après un éventuel undo-rise, ces données additionnelles restaurées doivent être supprimées manuellement. | | Avec l'option --all, tous les fichiers et répertoires de l'archive tels que définis par les propriétés include[] sont restaurés. Les fichiers et répertoires avec le même nom sur le serveur Affa seront écrasés et ne peuvent pas être restaurés par un undo-rise. Cela ne devrait pas poser de problème sur un serveur Affa dédié qui ne contient aucune autre donnée. Après un éventuel undo-rise, ces données additionnelles restaurées doivent être supprimées manuellement. |
| | | |
− | Remarquez que le processus rise sauvegarde le serveur Affa lui-même avant d'effectuer la restauration de l'archive. Cette sauvegarde est utilisée par un éventuel undo-rise pour restaurer le serveur Affa. Seulement les fichiers et répertoires standards sont sauvegardés. Les données dans des endroits non normalisés (comme /opt) ne sont pas touchées et existeront encore après le rise '''si elles n'ont pas été écrasées par les données de la sauvegarde''' (c-a-dire si la sauvegarde contient aussi le répertoire /opt, par exemple). Voir aussi : [[Backup_server_config#Standard_backup_.26_restore_inclusions]] | + | Remarquez que le processus rise sauvegarde le serveur Affa lui-même avant d'effectuer la restauration de l'archive. Cette sauvegarde est utilisée par un éventuel undo-rise pour restaurer le serveur Affa. Seuls les fichiers et répertoires standards sont sauvegardés. Les données dans des endroits non normalisés (comme /opt) ne sont pas touchées et existeront encore après le rise '''si elles n'ont pas été écrasées par les données de la sauvegarde''' (c'est-à-dire si la sauvegarde contient aussi le répertoire /opt, par exemple). Voir aussi : [[Backup_server_config#Standard_backup_.26_restore_inclusions]] |
| | | |
| | | |
Line 948: |
Line 964: |
| Avec --cxv, le tableau est généré selon un format séparé par des deux-points (:) lisible par les programmes. | | Avec --cxv, le tableau est généré selon un format séparé par des deux-points (:) lisible par les programmes. |
| | | |
− | ==== Copier une archive Affa d'un disque dur USB sur un nouveau disque ====
| + | === Exemples de configuration === |
− | Affa utilise un grand nombre de liens matériels (hard links) pour compresser et préserver de la place sur le disque pour les sauvegardes. Dans la situation où l'on voudrait copier un disque contenant une archive Affa sur un autre disque (de taille plus importante), il est nécessaire de s'assurer que les liens matériels ont été copiés correctement au risque que la copie devienne considérablement plus volumineuse que l'archive source.
| |
− | | |
− | Une méthode pour copier à travers des systèmes de fichiers distincts (par ex. entre 2 disques usb différents) et préserver les liens matériels est la suivante:
| |
− | * monter les deux disques usb avec des points de montage différents, par exemple /media/backup1 et /media/backup2 et effectuer alors :
| |
− | mkdir /media/backup2/archive
| |
− | cd /media/backup1/archive
| |
− | tar cpf - . | ( cd /media/backup2/archive && tar xpf - )
| |
− | en remplaçant '''archive''' par le véritable nom de l'archive (job) Affa que l'on souhaite placer sur l'autre disque.
| |
− | | |
− | ===Installation et utilisation d'Affa v.2 - Obsolète===
| |
− | Version obsolète.
| |
− | | |
− | ====Méthode pour SME8====
| |
− | SME8 est basé sur CentOS5, c'est pourquoi perl-Compress-Bzip2 el5 rpm doit être utilisé.
| |
− | | |
− | Pour SME8 32 bits :
| |
− |
| |
− | wget <nowiki>http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/perl-Compress-Bzip2-2.09-1.2.el5.rf.i386.rpm</nowiki>
| |
− | /usr/bin/yum --enablerepo=smecontribs localinstall \
| |
− | smeserver-affa-2.0.0-rc4.noarch.rpm \
| |
− | perl-Compress-Bzip2-2.09-1.2.el5.rf.i386.rpm
| |
− | | |
− | Pour SME8 64 bits :
| |
− |
| |
− | wget http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/perl-Compress-Bzip2-2.09-1.2.el5.rf.x86_64.rpm
| |
− | /usr/bin/yum --enablerepo=smecontribs localinstall \
| |
− | smeserver-affa-2.0.0-rc4.noarch.rpm \
| |
− | perl-Compress-Bzip2-2.09-1.2.el5.rf.x86_64.rpm
| |
− | | |
− | Après la première installation d'Affa, lancez la commande suivante pour initialiser la base de données Affa.
| |
− |
| |
− | affa --make-cronjobs
| |
− | | |
− | et déconnectez-vous puis reconnectez-vous à la console pour que le complément automatique de bash (touche TAB) prenne effet
| |
− | | |
− | ==== Méthode pour SME7 ====
| |
− | {{Note box|SME7 est maintenant en fin de vie et a été transféré dans le répertoire obsolète}}
| |
− | Version SME7: '''smeserver-affa-2.0.0-rc4.noarch.rpm'''
| |
− |
| |
− | wget <nowiki>http://mirror.contribs.org/smeserver/contribs/michaelw/sme7/Affa2/smeserver-affa-2.0.0-rc4.noarch.rpm</nowiki>
| |
− | wget <nowiki>http://mirror.contribs.org/smeserver/contribs/michaelw/sme7/Affa2/perl-Compress-Bzip2-2.09-1.2.el4.rf.i386.rpm</nowiki>
| |
− | /usr/bin/yum --enablerepo=smecontribs localinstall \
| |
− | smeserver-affa-2.0.0-rc4.noarch.rpm \
| |
− | perl-Compress-Bzip2-2.09-1.2.el4.rf.i386.rpm
| |
− | ==== Exemple de démarrage rapide ====
| |
− | | |
− | Vous avez un serveur de production SME 7 dont le nom est 'prodbox' et l'IP 10.200.48.1. Installez un second SME 7 comme serveur de sauvegardes avec le nom 'affabox' et l'IP 10.200.48.2.
| |
− | | |
− | <ol><li>loggez-vous dans 'affabox' et installez les paquetages mentionnés ci-dessus.
| |
− | </li><li>copiez le script d'exemple de configuration
| |
− | cp /usr/lib/affa/jobconfig-sample.pl /root/prodbox-job.pl
| |
− | </li><li>editez /root/prodbox-job.pl et mettez
| |
− | my $jobname='prodbox';
| |
− | et
| |
− |
| |
− | 'remoteHostName‘=>'10.200.48.1',
| |
− | | |
− | Eventuellement, si le port du serveur distant est configuré, par exemple, en 2222, mettez
| |
− |
| |
− | 'sshPort'=>2222,
| |
− | </li><li>sauvegardez et lancez le fichier 'prodbox-job.pl'. Cela enregistrera la configuration (et crée les entrées de base de données et les tâches cron)
| |
− | /root/prodbox-job.pl
| |
− | </li><li>Générez les clés RSA et envoyez la clé publique à la 'prodbox'
| |
− | {{Note box|Initialement, lorsque vous faites cette étape, vous devez temporairement mettre oui à "Autoriser l'authentification par SSH à l'aide de mots de passe standards" dans l'accès à distance sur le serveur de production}}
| |
− | affa --send-key prodbox
| |
− | </li><li>Lancez la tâche à la main
| |
− | | |
− | affa --run prodbox
| |
− | </li></ol>
| |
− | | |
− | ==== Configuration ====
| |
− | La configuration est stockée dans une base de données style e-smith. Utilisez la commande db pour configurer Affa.
| |
− | Le nom de tâche est la clé d'enregistrement de type 'job'.<br>Pour configurer un nouveau travail avec le nom 'prodbox', entrez :
| |
− | | |
− | db affa set prodbox job
| |
− | | |
− | Puis positionnez les propriétés
| |
− | | |
− | db affa setprop prodbox remoteHostName 192.168.1.1
| |
− | db affa setprop prodbox TimeSchedule '0030,0730,1130,1330,1730,2030'
| |
− | db affa setprop prodbox Description 'My Production Server'
| |
− | db affa setprop prodbox status enabled
| |
− | | |
− | et ainsi de suite...
| |
− | | |
− | Alternativement, vous pouvez utiliser un script comme décrit ci-dessus dans le chapitre 'Démarrage rapide'.
| |
− | | |
− | Pour vérifier votre travail, tapez :
| |
− | | |
− | db affa show prodbox
| |
− | | |
− | Pour finir, mettez en place les tâches cron :
| |
− |
| |
− | affa --make-cronjobs
| |
− | | |
− | ==== Propriétés de configuration de tâches ====
| |
− | '''Note:''' Les valeurs par défaut données dans ce tableau sont celles du programme Affa et ne doivent pas être confondues avec les valeurs prépositionnées dans les scripts d'aide, par exemple jobconfig-sample.pl.
| |
− | {| border="1" cellspacing="0" cellpadding="3"
| |
− | |-
| |
− | | '''Propriété''' || '''Valeur''' || '''Defaut''' || '''Description'''
| |
− | |-
| |
− | | remoteHostName
| |
− | | FQHN ou IP || || FQHN ou IP de l'hôte source (obligatoire)
| |
− | |-
| |
− | | TimeSchedule
| |
− | | HHMM,HHMM,... || || N'a pas besoin d'être ordonné. Au moins une heure est obligatoire. '''Important:''' Utiliser le bon format HHMM est essentiel. Affa ne le vérifie pas. Un TimeSchedule mal formatté provoquera d'étranges erreurs Perl.
| |
− | |-
| |
− | | Description
| |
− | | texte || ||
| |
− | |-
| |
− | | scheduledKeep
| |
− | | entier >= 1 || 1|| Combien de sauvegardes programmées doivent être conservées
| |
− | |-
| |
− | | dailyKeep<br>weeklyKeep<br>monthlyKeep<br>yearlyKeep
| |
− | | entier >= 0 || 7<br>4<br>12<br>2<br>|| Combien de sauvegardes quotidiennes, hebdomadaires, mensuelles ou annuelles doivent être conservées
| |
− | |-
| |
− | | SMEServer
| |
− | | yes ''ou'' no || yes || Positionné à 'yes', les répertoires e-smith par défaut sont automatiquement inclus et la propriété RPMCheck=yes peut être utilisée
| |
− | | |
− | |-
| |
− | | Include[0]<br>Include[1]<br>...
| |
− | | full path || || Fichiers ou répertoires supplémentaires à inclure à la sauvegarde
| |
− | |-
| |
− | | Exclude[0]<br>Exclude[1]<br>...
| |
− | | full path || || Fichiers ou répertoires supplémentaires à exclure de la sauvegarde
| |
− | |-
| |
− | | RPMCheck
| |
− | | yes ''ou'' no || no || Seulement applicable aux tâches qui sauvegardent un serveur SME 7.<br>Compares les RPM de l'hôte source avec ceux de l'hôte de sauvegarde affa. Envoie un message avec une liste de différences s'il n'y a pas correspondance. Cette vérification est utile, si vous voulez avoir la possibilité de convertir le serveur de sauvegarde en serveur de production.
| |
− | |-
| |
− | | DiskSpaceWarn
| |
− | | strict ''ou'' normal ''ou'' risky ''ou'' none || strict || lance une vérification de l'espace disque après qu'une tâche soit terminée. Avec le niveau 'strict' un message d'avertissement sera envoyé si l'espace disponible est moins que la taille de la sauvegarde qui vient de s'achever. Avec les niveaux 'normal'/'risky' le message est envoyé si moins de 50%/10% de la taille de la sauvegarde reste disponible.
| |
− | '''Note:''' Lorsque RootDir est un lien symbolique vers un autre système de fichiers, l'espace disque utilisé du système de fichiers local est vérifié à la place de celui du système de fichiers lié. Positionnez le point de montage comme RootDir pour avoir une vérification correcte.
| |
− | |-
| |
− | | localNice
| |
− | | -19...+19 || 0 || lance le process local rsync par nice.
| |
− | |-
| |
− | | remoteNice
| |
− | | -19...+19 || 0 || lance le process rsync de la source par nice.
| |
− | |-
| |
− | | Watchdog
| |
− | | yes ''ou'' no || yes || Seulement applicable aux tâches qui sauvegardent un serveur SME 7.<br>Quand une tâche est lancée, affa installe un script chien de garde sur la source dans /etc/cron.d/, qui envoie un message d'avertissement si la prochaine tâche programmée (prise dans la propriété TimeSchedule + 10 minutes) n'a pas été lancée. Cela garantit que vous serez prévenu même en cas de panne du serveur affa. Le script chien de garde envoie un message de rappel quotidien si l'erreur persiste. La tâche lancée suivante remplace le script chien de garde avec un nouveau temps de déclenchement.
| |
− | |-
| |
− | | sshPort
| |
− | | port du service || 22 || Lorsque sshd sur le serveur source ou votre firewall écoute sur un port non standard, précisez le port ici.
| |
− | |-
| |
− | | ConnectionCheckTimeout
| |
− | | secondes || 120 || Avant que le process rsync démarre sur l'hôte source distant, affa vérifie la connexion ssh et se termine avec une erreur après le temps configuré, si l'hôte ne répond pas.
| |
− | |-
| |
− | | rsyncTimeout
| |
− | | secondes || 900 || Rsync se termine si aucune donnée n'est transférée pendant le temps configuré. Cela évite un gelage permanent dans le cas d'une erreur sur le réseau.
| |
− | |-
| |
− | | BandwidthLimit
| |
− | | entier>=0 Ko/s || 0 || Limite la vitesse de transfert des données. A valeur à zero specifie qu'il n'y a pas de limite.
| |
− | |-
| |
− | | rsyncCompress
| |
− | | yes ''ou'' no || no || Compresse les données transférées. Peut être utile avec les connexions internet lentes. Cela augmente la charge CPU sur les hôtes source et de sauvegarde.
| |
− | |-
| |
− | | EmailAddresses
| |
− | | name@domain.com,name@domain.com,... || admin|| Liste séparée par des virgules des adresses email où les messages seront envoyés.<br>'''Note:''' Par défaut, Affa n'envoie de messages que pour les erreurs, jamais en cas de succès (voir la propriété chattyOnSuccess).
| |
− | |-
| |
− | | RetryAttempts
| |
− | | entier >= 0 || 3 || Quand positionné à une valeur >0, Affa relance une tâche échouée RetryAttemps fois avec un délai de RetryAfter secondes.
| |
− | |-
| |
− | | RetryAfter
| |
− | | secondes >= 3 || 600 || Quand positionné à une valeur >0, attend RetryAfter secondes avant de relancer la tâche suite à une erreur. Utile seulement avec RetryAttempts>0
| |
− | |-
| |
− | | RetryNotification
| |
− | | yes ''ou'' no || yes || Quand positionné à no, Affa n'envoie pas de message d'erreur lorsqu'une tâche a échoué et que RetryAttemps est configuré. Un message d'erreur n'est envoyé que lorsque le dernier essai a échoué.
| |
− | |-
| |
− | | RetryAttempts
| |
− | | entier >= 0 || 0 || Quand positionné à une valeur >0, Affa envoie un message pour les tâches terminées avec succès et décrémente la valeur chattyOnSuccess. Lorsque la valeur atteint 0, Affa revient à son comportement par défaut et n'envoie plus de messages qu'en cas d'erreur.
| |
− | |-
| |
− | | AutomountDevice<br>AutomountPoint
| |
− | | full path || || Unité et point de montage de l'unité de sauvegarde (ex. disque USB). L'unité est montée automatiquement avant qu'une tâche soit lancées et démontée après la fin de la tâche. Les deux propriétés doivent être remplies pour que la fonction Automount soit active.
| |
− | |-
| |
− | | AutomountOptions
| |
− | | chaine de caractères || || Une chaine d'options passées à la commande de montage automatique
| |
− | |-
| |
− | | AutoUnmount
| |
− | | yes ''ou'' no || yes || Quand positionné à 'no' l'unité montée automatiquement reste montée après l'exécution d'Affa.
| |
− | |-
| |
− | | preJobCommand<br>postJobCommand
| |
− | | full path || || Programmes (locaux sur le serveur affa) à exécuter avant/après qu'une tâche soit lancée. Le nom de la tâche et le type (programmée, journalière etc.) sont passés en arguments au programme. Le code de sortie est de plus passé à la commande de programme post-tâche. Voir /usr/lib/affa/ pour des exemples de scripts perl.
| |
− | |-
| |
− | | RootDir
| |
− | | full path || /var/affa || Où stocker les archives de sauvegarde. N'utilisez pas /home/e-smith ou /root puisqu'ils sont inclus dans les répertoires à sauvegarder, ce qui empêcherait la fonction de conversion de fonctionner ! Répertoire conseillé : /var/affa
| |
− | |-
| |
− | | SambaShare
| |
− | | yes ''ou'' no|| yes || Accède aux archives de la tâche via SMB.
| |
− | |-
| |
− | | Debug
| |
− | | yes ''ou'' no || no || Positionné à 'yes', donne plus de détails dans le fichier de log.
| |
− | |-
| |
− | | status
| |
− | | enabled ''ou'' disabled || enabled || Positionné à 'disable', aucune entrée cron ne sera faite. Vous pouvez encore lancer les tâches à la main.
| |
− | |-
| |
− | | rsync--inplace
| |
− | | yes ''ou'' no || yes || Positionné à 'no', si la version rsync de la source ne supporte pas cette option (comme rsync sur SME6)
| |
− | |-
| |
− | | rsync--modify-window
| |
− | | entier >= 0 || 0 || En comparant deux horodatages, rsync les traite comme étant égaux s'ils ne diffèrent pas de plus de la valeur modify-window. C'est normalement 0 pour une correspondance exacte. Une valeur >= 0 est pratique si vous ne pouvez pas garder les horloges de la source et du serveur Affa synchonisées.
| |
− | |-
| |
− | | rsyncOptions
| |
− | | texte || || chaine d'options aditionnelles à passer à rsync.
| |
− | |-
| |
− | | rsyncdMode
| |
− | | yes ''ou'' no || no || Positionné à yes pour se connecter au démon rsync de l'hôte distant (au lieu de lancer rsync over ssh).
| |
− | |-
| |
− | | rsyncdModule
| |
− | | texte || AFFA || Le nom du module rsyncd (seulement applicable avec rsyncdMode=yes)
| |
− | |-
| |
− | | rsyncdUser
| |
− | | texte || affa || Le nom d'utilisateur pour authentification au démon rsync (seulement applicable avec rsyncdMode=yes)
| |
− | |-
| |
− | | rsyncdPassword
| |
− | | texte || || Le mot de passe pour authentification au démon rsync (seulement applicable avec rsyncdMode=yes)
| |
− | |-
| |
− | | remoteOS
| |
− | | cygwin || || avec remoteOS=cygwin les options --send-key et --revoke-key utilisent le compte 'Administrator' et le chemin correct pour la clé publique sur un hôte distant sous Windows/Cygwin.
| |
− | |-
| |
− | | ESXi
| |
− | | yes ''ou'' no || no || active le mode de sauvegarde VMware ESXi pour les machines virtuelles.<br>Voir [[Sauvegarde des machines virtuelles ESXi avec Affa]]
| |
− | |-
| |
− | | ESXiVMName
| |
− | | texte || || Le nom de la VM tel qu'affiché dans le client VI.
| |
− | |-
| |
− | | ESXiUsername
| |
− | | texte || || Le nom du client VI avec la permission de créer et détruire les instantanés (snapshots).
| |
− | |-
| |
− | | ESXiPassword
| |
− | | texte || || Le mot de passe de l'utilisateur ESXiUsername
| |
− | |-
| |
− | | chunkFiles
| |
− | | texte || || Noms de fichiers qu'Affa devrait découper et compresser. Plusieurs noms doivent être séparés par un slash (/), ex. 'mysql.dump/pgsql.dump' découpe les deux fichiers mysql.dump et pgsql.dump. Avec ESXi=yes c'est implicitement positionné à '*.vmdk'. Voir aussi les options de ligne de commande --chunk-archive et --unchunk-archive
| |
− | |}
| |
− | | |
− | ==== Propriétés de la configuration par défaut ====
| |
− | Toutes les propriétées peuvent être positionnées par défaut dans l'enregistrement DefaultAffaConfig. C'est pratique, lorsque vous configurez plusieurs tâches similaires.
| |
− | | |
− | Exemple : Vous voulez positionner la propriété 'localNice' à 19 pour toutes les tâches. Tapez
| |
− |
| |
− | db affa setprop DefaultAffaConfig localNice 19
| |
− | | |
− | et ne positionnez pas cette propriété pour les tâches.
| |
− | Les propriétés positionnées dans les tâches sont prioritaires sur les propriétés par défaut.
| |
− | | |
− | La propriété spéciale 'sendStatus' ne s'applique que dans l'enregistrement DefaultAffaConfig. Elle contrôle le rapport d'état (status) envoyé par mail et peut prendre les valeurs 'none', 'daily', 'weekly' ou 'monthly'.
| |
− | | |
− | Pour configurer un rapport hebdomadaire, tapez :
| |
− |
| |
− | db affa setprop DefaultAffaConfig sendStatus weekly
| |
− | | |
− | puis configurez cronjob :
| |
− |
| |
− | affa --make-cronjobs
| |
− | | |
− | ==== Désactivation globale ====
| |
− | Toutes les tâches peuvent être désactivées en positionnant l'enregistrement AffaGlobalDisable sur 'yes'.
| |
− |
| |
− | db affa set AffaGlobalDisable yes
| |
− | affa --make-cronjobs
| |
− | | |
− | Pour réactiver :
| |
− |
| |
− | db affa set AffaGlobalDisable no
| |
− | affa --make-cronjobs
| |
− | | |
− | ==== Exemples de configuration ====
| |
| ===== Serveur de sauvegarde dédié ===== | | ===== Serveur de sauvegarde dédié ===== |
| * Configurez une tâche pour chaque serveur que vous voulez sauvegarder | | * Configurez une tâche pour chaque serveur que vous voulez sauvegarder |
Line 1,263: |
Line 1,011: |
| | | |
| Attention de ne pas sauvegarder à nouveau les archives de l'autre site. Configurez la propriété RootDir vers un chemin qui n'est pas inclu dans la liste de sauvegarde par défaut de SME. En laissant la propriété RootDir par défaut sur '/var/affa', cela est garanti. | | Attention de ne pas sauvegarder à nouveau les archives de l'autre site. Configurez la propriété RootDir vers un chemin qui n'est pas inclu dans la liste de sauvegarde par défaut de SME. En laissant la propriété RootDir par défaut sur '/var/affa', cela est garanti. |
− |
| |
− | ===== Sauvegarde d'un ordinateur Windows =====
| |
− | Sauvegarder les données d'un système Windows nécessite que le démon Rsyncd Cygwin soit installé et configuré sous Windows. La procédure "rsync over ssh" ne fonctionne pas, puisque le processus rsync Cigwin se plante systématiquement après le transfert de quelques fichiers.
| |
− |
| |
− | ====== Configuration de Rsyncd sur l'ordinateur Windows ======
| |
− | Installez la base Cygwin, le paquetage rsync puis configurez le service Rsyncd comme décrit dans ce document : [[Rsyncd setup on a windows computer for use with Affa backup]]'.
| |
− | L'installation du service sshd est optionnelle et n'est pas nécessaire pour la sauvegarde elle-même, mais avoir une connexion ssh peut être très utile pour l'administration et pour exécuter des scripts sur le système Windows. Affa supporte l'envoi de la clé publique vers un ordinateur Windows Cygwin pour une connexion sans mot de passe.
| |
− |
| |
− | Note: Affa ne sauvegarde pas l'information Windows Access Control List (ACL). Vous pourriez avoir à corriger les ACLs après une restauration.
| |
− |
| |
− | ====== Configuration du mode Affa Rsyncd (exemple de démarrage rapide) ======
| |
− | Vous voulez sauvegarder les répertoires ''Mes Documents''des utilisateurs ''ssorglos'' et ''bsimpson'' depuis l'ordinateur Windows 'ws001' avec l'IP 192.168.1.65 sur votre serveur Affa 'affabox' avec l'IP 192.168.1.3.
| |
− | * connectez-vous sur 'affabox' et copiez le script exemple de configuration Cygwin
| |
− | cp /usr/lib/affa/jobconfig-cygwin-sample.pl /root/ws001-mydocs-job.pl
| |
− | * editez /root/ws001-mydocs-job.pl et mettez
| |
− | my $jobname='ws001-mydocs';
| |
− |
| |
− | et
| |
− |
| |
− | 'remoteHostName‘=>'192.168.1.65',
| |
− | 'rsyncdPassword'=>'<i>secretword</i><nowiki/>',
| |
− | 'Include[0]'=>'/c/Documents and Settings/ssorglos/My Documents/', ''# N'utilisez pas les backslashes dans les chemins !''
| |
− | <nowiki>'Include[1]'=>'/c/Documents and Settings/bsimpson/My Documents/',</nowiki>
| |
− |
| |
− | où ''secretword'' doit être remplacé par le mot de passe que vous avez choisi dans rsyncd.secretsfile sur l'ordinateur Windows.
| |
− | * Enregistrez la configuration (cela crée les entrées de base de données et configure les tâches cron.
| |
− | /root/ws001-mydocs-job.pl
| |
− | * Lancez la tâche manuellement. Après l'achèvement, vérifiez l'archive /var/affa/ws001-mydocs/scheduled.0 et le journal /var/log/affa/ws001-mydocs.log.
| |
− | affa --run ws001-mydocs
| |
− |
| |
− | ====== Configuration manuelle d'Affa en mode Rsyncd ======
| |
− | Au cas où vous voudriez configurer manuellement en utilisant les commandes db, voici les paramètres obligatoires pour le mode Rsyncd Cygwin.
| |
− |
| |
− | db affa setprop JOB rsyncdMode yes
| |
− | db affa setprop JOB rsyncdModule AFFA
| |
− | db affa setprop JOB rsyncdUser affa
| |
− | db affa setprop JOB rsyncdPassword ''secretword''
| |
− | db affa setprop JOB SMEServer no
| |
− | db affa setprop JOB RPMCheck no
| |
− | db affa setprop JOB Watchdog no
| |
− |
| |
− | Optionel pour une connexion ssh.
| |
− |
| |
− | db affa setprop JOB remoteOS cygwin
| |
− |
| |
| | | |
| ===== Utiliser Affa pour sauvegarder un NAS monté par NFS ou un disque USB local ===== | | ===== Utiliser Affa pour sauvegarder un NAS monté par NFS ou un disque USB local ===== |
Line 1,407: |
Line 1,110: |
| Le point de montage sera automatiquement créé, s'il n'existe pas. <br> | | Le point de montage sera automatiquement créé, s'il n'existe pas. <br> |
| Pour accéder au répertoire de l'archive, vous devez le monter à la main. | | Pour accéder au répertoire de l'archive, vous devez le monter à la main. |
| + | ==== Copier une archive Affa d'un disque dur USB sur un nouveau disque ==== |
| + | Affa utilise un grand nombre de liens matériels (hard links) pour compresser et préserver de la place sur le disque pour les sauvegardes. Dans la situation où l'on voudrait copier un disque contenant une archive Affa sur un autre disque (de taille plus importante), il est nécessaire de s'assurer que les liens matériels ont été copiés correctement au risque que la copie devienne considérablement plus volumineuse que l'archive source. |
| + | |
| + | Une méthode pour copier à travers des systèmes de fichiers distincts (par ex. entre 2 disques usb différents) et préserver les liens matériels est la suivante: |
| + | * monter les deux disques usb avec des points de montage différents, par exemple /media/backup1 et /media/backup2 et effectuer alors : |
| + | mkdir /media/backup2/archive |
| + | cd /media/backup1/archive |
| + | tar cpf - . | ( cd /media/backup2/archive && tar xpf - ) |
| + | en remplaçant '''archive''' par le véritable nom de l'archive (job) Affa que l'on souhaite placer sur l'autre disque. |
| | | |
| === Restauration === | | === Restauration === |
Line 1,425: |
Line 1,137: |
| | | |
| export RDIR=/home/e-smith/files/users/briedlin/Maildir/.orders/ ''# cette variable est utilisée pour raccourcir la ligne de commande suivante'' | | export RDIR=/home/e-smith/files/users/briedlin/Maildir/.orders/ ''# cette variable est utilisée pour raccourcir la ligne de commande suivante'' |
− | rsync -av -e 'ssh -p 2222' /var/affa/primmail/daily.0/$RDIR 10.204.48.1:$RDIR | + | rsync -av -e 'ssh -i /root/.ssh/id_rsa_affa -p 2222' /var/affa/primmail/daily.0/$RDIR 10.204.48.1:$RDIR |
| | | |
| | | |
Line 1,439: |
Line 1,151: |
| | | |
| export RFILE=/home/e-smith/files/ibays/docs/files/orderform.pdf ''# cette variable est utilisée pour raccourcir la ligne de commande suivante'' | | export RFILE=/home/e-smith/files/ibays/docs/files/orderform.pdf ''# cette variable est utilisée pour raccourcir la ligne de commande suivante'' |
− | rsync -av -e 'ssh -p 2222' /var/affa/prodserv/weekly.1/$RFILE 10.204.48.1:$RFILE | + | rsync -av -e 'ssh -i /root/.ssh/id_rsa_affa -p 2222' /var/affa/prodserv/weekly.1/$RFILE 10.204.48.1:$RFILE |
| | | |
| | | |
Line 1,452: |
Line 1,164: |
| Si les serveurs sont configurés pour utiliser un port ssh différent, ex. 2222, à la place faites : | | Si les serveurs sont configurés pour utiliser un port ssh différent, ex. 2222, à la place faites : |
| | | |
− | rsync -av -e 'ssh -p 2222' "/var/affa/fileshare/daily.4/home/e-smith/files/ibays/mechfiles/files/Valve Control (Design Gr)/VALVE LIST FOR ISSUED.xls" "192.168.1.7:/home/e-smith/files/ibays/mechfiles/files/Valve\\ Control\\ \(Design\\ Gr\)/VALVE\\ LIST\\ FOR\\ ISSUED.xls" | + | rsync -av -e 'ssh -i /root/.ssh/id_rsa_affa -p 2222' "/var/affa/fileshare/daily.4/home/e-smith/files/ibays/mechfiles/files/Valve Control (Design Gr)/VALVE LIST FOR ISSUED.xls" "192.168.1.7:/home/e-smith/files/ibays/mechfiles/files/Valve\\ Control\\ \(Design\\ Gr\)/VALVE\\ LIST\\ FOR\\ ISSUED.xls" |
| | | |
| ==== Restauration complète ==== | | ==== Restauration complète ==== |
Line 1,459: |
Line 1,171: |
| affa --full-restore <JOB> [<ARCHIVE>] | | affa --full-restore <JOB> [<ARCHIVE>] |
| | | |
− | Cela synchroniste (par rsync) les données de la sauvegarde ARCHIVE vers l'ordinateur 'remoteHostname' défini dans la configuration de la tâche JOB. | + | Cela synchronise (par rsync) les données de la sauvegarde ARCHIVE vers l'ordinateur 'remoteHostname' défini dans la configuration de la tâche JOB. |
| | | |
| Exemple: | | Exemple: |
Line 1,509: |
Line 1,221: |
| | | |
| | | |
− | '''Comment puis-je déplacer une archive de sauvegarde de mon serveur de production dans une agence distante vers le serveur Affa en utilisant un disque USB ? Je veux éviter de télécharger la première sauvegarde complète depuis internet.''' | + | '''Comment puis-je déplacer une archive de sauvegarde de mon serveur de production vers une agence distante dans le serveur Affa en utilisant un disque USB ? Je veux éviter de télécharger la première sauvegarde complète depuis Internet.''' |
− | Installez Affa sur votre serveur de production, connectez et montez le disque USB.''' Configurez une tâche pour enregistrer la sauvegarde sur le disque USB. Une fois la tâche exécutée, connectez le disque USB à votre serveur Affa et configurez la tâche de la même manière. Utilisez le script de configuration du répertoire d'archive. Vous n'avez à mofier que la propriété "remoteHostName". Maintenant, utilisez l'option --move-archive pour transférer l'archive sur le disque local. Si ce n'est pas déjà fait, envoyez la clé publique à votre serveur de production. C'est fait.''' | + | |
| + | Installez Affa sur votre serveur de production, connectez et montez le disque USB. Configurez une tâche pour enregistrer la sauvegarde sur le disque USB. Une fois la tâche exécutée, connectez le disque USB à votre serveur Affa et configurez la tâche de la même manière. Utilisez le script de configuration du répertoire d'archive. Vous n'avez à mofier que la propriété "remoteHostName". Maintenant, utilisez l'option --move-archive pour transférer l'archive sur le disque local. Si ce n'est pas déjà fait, envoyez la clé publique à votre serveur de production. C'est fait. |
| | | |
| | | |
| '''Comment je sauvegarde deux serveurs SME derrière un pare-feu ?''' | | '''Comment je sauvegarde deux serveurs SME derrière un pare-feu ?''' |
| + | |
| D'abord, vous devez configurer les port forwardings pour le service ssh sur votre pare-feu. Utilisez un port non standard, par ex. 2200->22, pour votre second serveur. Configurez une tâche sur votre serveur de sauvegarde Affa pour chacun de vos serveurs de production. Configurez la propriété sshPort=2200 pour votre second serveur. | | D'abord, vous devez configurer les port forwardings pour le service ssh sur votre pare-feu. Utilisez un port non standard, par ex. 2200->22, pour votre second serveur. Configurez une tâche sur votre serveur de sauvegarde Affa pour chacun de vos serveurs de production. Configurez la propriété sshPort=2200 pour votre second serveur. |
| | | |