Changes

From SME Server
Jump to navigationJump to search
Line 1: Line 1:  
{{Languages|Moving_SME_to_new_Hardware}}
 
{{Languages|Moving_SME_to_new_Hardware}}
 
{{Level|Advanced}}
 
{{Level|Advanced}}
{{usefulnote}}
+
{{usefulnote/fr}}
    
<big><big><big>'''Déplacer un serveur SME sur une nouvelle machine'''</big></big></big>
 
<big><big><big>'''Déplacer un serveur SME sur une nouvelle machine'''</big></big></big>
Line 10: Line 10:  
{{Warning box|type=Attention :|il faut utiliser la contribution '''smeserver-affa''' et non [http://wiki.nikoforge.org/Category:Affa Affa] ; le développeur d'Affa a abandonné SME pour la version 3 qui ne fonctionne que pour CentOS ; les mainteneurs de smeserver-affa ont implémenté dans smeserver-affa v3 les fonctions nécessaires pour le Serveur SME. Dans la suite de ce document, lorsqu'on parle d'Affa, il s'agit de la contribution smeserver-affa.}}
 
{{Warning box|type=Attention :|il faut utiliser la contribution '''smeserver-affa''' et non [http://wiki.nikoforge.org/Category:Affa Affa] ; le développeur d'Affa a abandonné SME pour la version 3 qui ne fonctionne que pour CentOS ; les mainteneurs de smeserver-affa ont implémenté dans smeserver-affa v3 les fonctions nécessaires pour le Serveur SME. Dans la suite de ce document, lorsqu'on parle d'Affa, il s'agit de la contribution smeserver-affa.}}
   −
Affa donne 3 possibilités pour changer de matériel, qui dépendent du matériel disponible (1, 2 ou 3 serveurs, un disque USB) et la durée acceptable d’interruption du service :
+
Affa donne 3 possibilités pour changer de matériel, qui dépendent du matériel disponible (1, 2 ou 3 serveurs, un disque USB) et de la durée acceptable d’interruption du service :
* En utilisant la fonction «rise», le serveur de sauvegarde sera converti en nouveau serveur de production => 2 machines sont nécessaire - la durée de l'interruption est courte.
+
* En utilisant la fonction «rise», le serveur de sauvegarde sera converti en nouveau serveur de production => 2 machines sont nécessaires - la durée de l'interruption est courte.
 
* En utilisant les fonctions de sauvegarde normale et de restauration :
 
* En utilisant les fonctions de sauvegarde normale et de restauration :
 
:* avec 2 machines (serveur de production et serveur de sauvegarde - durée d'interruption longue) ou 3 machines (ancien serveur de production, serveur de sauvegarde et nouveau serveur de production - interruption courte) ;
 
:* avec 2 machines (serveur de production et serveur de sauvegarde - durée d'interruption longue) ou 3 machines (ancien serveur de production, serveur de sauvegarde et nouveau serveur de production - interruption courte) ;
Line 49: Line 49:     
Installer la contribution Affa.
 
Installer la contribution Affa.
Suivez les dernières instructions d''''[[Affa#Installation_of_Affa_3|installation d'Affa]]''' ici, en anglais pour l'instant.
+
Suivez les dernières instructions d''''[[Affa/fr#Installation_d.27Affa_v.3|installation d'Affa]]''' ici.
    
Se souvenir, s.v.p., de créer en ligne de commande le répertoire pour les fichiers d'archives :
 
Se souvenir, s.v.p., de créer en ligne de commande le répertoire pour les fichiers d'archives :
Line 127: Line 127:  
Se connecter à la machine d'<code>IP_prod</code> et arrêter tous les services qui peuvent modifier des données :
 
Se connecter à la machine d'<code>IP_prod</code> et arrêter tous les services qui peuvent modifier des données :
   −
  SVC='qpsmtpd sqpsmtpd crond pop3 dovecot pop3s ftp httpd-e-smith atalk smb qmail'  
+
Pour SME9
 +
 
 +
  SVC='qpsmtpd sqpsmtpd crond pop3 dovecot pop3s ftp httpd-e-smith smb qmail'
 +
for s in $SVC; do service $s stop; done
 +
 
 +
Pour SME8 et SME7
 +
 
 +
SVC='qpsmtpd sqpsmtpd crond pop3 imap imaps pop3s ftp httpd-e-smith atalk smb qmail'  
 
  for s in $SVC; do service $s stop; done
 
  for s in $SVC; do service $s stop; done
   Line 150: Line 157:  
Cette action s'exécutera très rapidement car seuls des liens durs sont utilisés et aucune donnée n'est déplacée physiquement.<br>
 
Cette action s'exécutera très rapidement car seuls des liens durs sont utilisés et aucune donnée n'est déplacée physiquement.<br>
   −
'''''Note:''' ne pas s'effrayer si votre invite de commande a une apparence différente !<br><br>
+
'''''Note:''' ne pas s'effrayer si votre invite de commande a une apparence différente !<br><br>''
    
Effectuer maintenant un redémarrage :
 
Effectuer maintenant un redémarrage :
Line 176: Line 183:  
===== Performance =====
 
===== Performance =====
 
Avec cette méthode, vous devriez être en mesure de déplacer un serveur d'une taille typique de 500 Gb sur un nouveau matériel avec une interruption de service de moins de 20 minutes. La durée de la synchronisation finale et de l'«élévation» ne dépendent pas tant de la taille totale des fichiers que du nombre de fichiers et de répertoires.
 
Avec cette méthode, vous devriez être en mesure de déplacer un serveur d'une taille typique de 500 Gb sur un nouveau matériel avec une interruption de service de moins de 20 minutes. La durée de la synchronisation finale et de l'«élévation» ne dépendent pas tant de la taille totale des fichiers que du nombre de fichiers et de répertoires.
=== Using the backup and restore fonctions ===
+
=== En utilisant les fonctions de sauvegarde et de restauration ===
The general working way is to make a backup of the old SME and to restore it on the new SME (upgraded or not).
+
La manière générale de travailler est de faire une sauvegarde de l'ancien serveur Koozali et de la restaurer sur le nouveau serveur Koozali (mise à jour ou non).
The fonction "RPMCheck" can be used indirectly with the backup server (compare the list with the old and with the new hardware) to get the list of rpm's that are missing on the new hardware but it is not available for a backup on the external usb disk.  
+
La fonction «RPMCheck» peut être utilisée indirectement avec le serveur de sauvegarde (compare la liste entre l'ancien et le nouveau matériel) pour obtenir la liste des paquets rpm manquants sur le nouveau matériel mais elle n'est pas disponible pour une sauvegarde sur le disque USB externe.
 +
 
 +
==== Préparation ====
 +
 
 +
Prenez une sauvegarde de l'ancien serveur de 'production' en service (voir le fichier de configuration /etc/affa/ServProd.conf ci-dessus).
 +
{{Note box|type=Note : en utilisant la méthode fondée sur «rise», vous pouvez exécuter la première sauvegarde (qui prend beaucoup de temps) sans arrêter les services et la dernière (rapide) après la déconnexion des utilisateurs et l'arrêt des services.|}}
   −
==== Preparation ====
+
Après la sauvegarde, définissez une IP temporaire dans le fichier de configuration de la tâche de sauvegarde :
Take a backup of the running old 'prod server' (see the above conf file ''/etc/affa/prodserv.conf'' ).
  −
{{Note box| Like using the way based on "rise", your can take the first backup (takes long time) without stopping the services and the last one (is quick) after the logout of the users and the stop of the services }}
  −
After the backup, set a temporary IP into the conf file of the backup job:
  −
remoteHostName=tem.po.ra.ry.IP
     −
For a backup on an external usb disk, set:
+
  RemoteHostName = tem.po.ra.ry.IP
  remoteHostName=localhost
  −
RootDir=/the/mount/point/of/the/disk
  −
and mount the disk. You should make a list of the installed rpm's too.
     −
==== Install SME on the new hardware ====
+
Pour une sauvegarde sur un disque USB externe, définissez :
Install at least the same version of SME you were running on the old hardware or a more recent one (e.g. from SME8 to SME9).
     −
===== For the method based on a backup server: =====
+
RemoteHostName=localhost
* Set the '''temporary IP''' as internal address of the new hardware
+
RootDir=/le/point/de/montage/du/disque
* From the backup server create the ssh connection between the backup server and the new hardware by sending the ssh key:
  −
  affa --send-key prodserv
     −
The answer from Prod-temp-IP server will be<br>
+
Et montez le disque. Vous devriez également faire une liste des rpm (paquets) installés.
Job prodserv: root@Prod-temp-IP's password:
  −
enter the root Prod-temp-IP password. The answer will be:<br>
  −
Public key sent to prod-temp-IP
     −
===== External usb disk: =====
+
==== Installer SME sur le nouveau matériel ====
* Install "smeserver-affa" on the new hardware
+
Installez au moins la même version de SME que celle utilisée sur l'ancien matériel ou une plus récente (par exemple, passage de SME8 à SME9).
* mount the usb disk on the same mountpoint than for the backup
  −
* go into the archive and copy the .ini file into /etc/affa as conf file:
  −
cd /mount/point/prodserv/scheduled.0
  −
ls -a  ### to see the ini file
  −
cp .prodserv.ini /etc/affa/
  −
mv /etc/affa/.prodserv.ini /etc/affa/prodserv.conf
     −
===== In case of upgrade SME8 to SME9 =====
+
===== Pour la méthode fondée sur un serveur de sauvegarde : =====
The restoration of the default data (parameter "SMEServer=yes" into the conf file of the job) will configure yum repos for SME8 on the new server SME9!
+
* définir l' '''adresse IP temporaire''' comme adresse interne du nouveau matériel ;
 +
* à partir du serveur de sauvegarde, créez la connexion ssh entre le serveur de sauvegarde et le nouveau matériel en envoyant la clé ssh :
 +
  affa --send-key ServProd
   −
In order to avoid this there are 2 possibilities:
+
{{Warning box|type=Attention : '''avant d'envoyer la clé publique''', il faut impérativement modifier provisoirement le serveur d'IP_prod en mettant l'accès ssh à distance à «Oui» à l'aide de mots de passe standards.
* make a copy of both folders ''/etc/yum.repos.d'' and ''/etc/yum.smerepos.d'' before the restore. It will be helpful for reconfiguring by hand the repos for SME9 after the restore.
+
Ne pas oublier de remettre cette possibilité à «Non» dès la réponse du serveur après l'entrée du mot de passe.|}}
* add following into the conf file of the backup job:
+
{{Note box|type=Note : si vous ne vous êtes jamais connecté(e) à <code>IP_prod</code> depuis <code>IP_nouvelle</code>, le serveur va vous demander si vous êtes sûr(e) de l’authenticité du serveur qui répond en vous présentant sa clé RSA qu'il faut alors accepter par «yes».|}}
Exclude=/etc/yum.repos.d
+
 
Exclude=/etc/yum.smerepos.d
+
La réponse du serveur Prod-temp-IP sera <br>
before the last backup (of course if you will restore from the last backup - scheduled.0 - and not from an older one like weekly.2!)
+
  Job prodserv: root @ Prod-temp-IP's password:
 +
Entrez le mot de passe root de Prod-temp-IP. La réponse sera : <br>
 +
  Public key sent to prod-temp-IP
   −
==== Restore the data ====
+
===== Disque USB externe : =====
 +
* installez «smeserver-affa» sur le nouveau matériel ;
 +
* montez le disque USB sur le même point de montage que pour la sauvegarde ;
 +
* allez dans l'archive scheduled.0 et copiez le fichier .ini dans /etc/affa comme fichier de configuration :
 +
cd /point-de-montage/ServProd/scheduled.0
 +
ls -a ### pour voir le fichier ini
 +
cp .ServProd.ini /etc/affa/
 +
mv /etc/affa/.ServProd.ini /etc/affa/ServProd.conf
   −
From the backup server (or from the new production server in case of restoring from external usb disk) run:
+
===== En cas de mise à niveau de SME8 vers SME9 =====
affa --full-restore [--preserve-newer=no] [--delete=yes]  prodserv
+
La restauration des données par défaut (paramètre «SMEServer=yes» dans le fichier de configuration de la tâche) configurera les dépôts de yum pour SME8 sur le nouveau serveur SME9 !
To get 1:1 the state of the backup.
     −
'''Keep in mind that:'''
+
Pour éviter cela, il existe 2 possibilités :
:[--preserve-newer=no]: files on the remote server with modification time newer than on the backup are overwritten through the older ones of the backup.
+
* faire une copie des deux répertoires ''/etc/yum.repos.d'' et ''/etc/yum.smerepos.d'' 'avant la restauration. Ce sera utile pour reconfigurer à la main les dépôts pour SME9 après la restauration.
:[--delete=yes]: all files on the remote server, which are not in the backup, are deleted.  
+
* ajouter dans le fichier de configuration de la tâche de sauvegarde :
 +
Exclude=/etc/yum.repos.d
 +
Exclude=/etc/yum.smerepos.d
 +
avant la dernière sauvegarde (bien sûr, si vous restaurerez à partir de la dernière sauvegarde - scheduled.0 - et pas d'une plus ancienne comme weekly.2 !)
   −
{{Warning box|A full restore with --preserve-newer no and --delete yes reconstructs the server as it was at the time of the backup. That means, that all files created or server configuration changes made before the restore will be lost! }}
+
==== Restaurer les données ====
 +
À partir du serveur de sauvegarde (ou du nouveau serveur de production, en cas de restauration à partir d'un disque USB externe), exécutez :
 +
  affa --full-restore [--preserve-new=no] [--delete=yes] ServProd
 +
pour obtenir une copie conforme de la sauvegarde.
   −
After the restore, the new prodserver will reboot.
+
'''Garder en tête que :'''
 +
: [--preserve-new=no] : les fichiers du serveur distant avec une heure de modification plus récente que sur la sauvegarde sont écrasés par ceux plus anciens de la sauvegarde ;
 +
: [--delete=yes] : tous les fichiers du serveur distant, qui ne sont pas dans la sauvegarde, sont supprimés.
   −
'''Note for the case of 3 machines:''' Make sure that the old hardware is switched off or no more connect to the network before the new hardware reboots because the new hardware will take its IP after the reconfiguration.
+
{{Warning box|type=Attention : une restauration complète avec --préserve-newer no et --delete=yes, reconstruit le serveur tel qu'il était au moment de la sauvegarde. Cela signifie que tous les fichiers créés ou les modifications de configuration du serveur effectuées avant la restauration seront perdues !|}}
   −
==== Tasks post restore ====
+
Après la restauration, le nouveau serveur de production redémarrera.
   −
* If the backup job should be used for further backups of the new hardware, don't forget to replace the temporary IP of "Remotehost" through the previus set IP of the old server into the conf file of the affa job.
+
'''Remarque pour le cas de 3 machines :''' assurez-vous que l'ancien matériel soit éteint ou déconnecté du réseau avant le redémarrage du nouveau matériel car le nouveau matériel prend son adresse IP après la reconfiguration.
* In case of an OS upgrade, check and if necessary reconfigure the repositories of yum for the new version.
      +
==== Tâches après la restauration ====
 +
* Si la tâche de sauvegarde doit être utilisée pour les sauvegardes futures du nouveau matériel, n'oubliez pas de remplacer l'adresse IP temporaire de «Remotehost» par l'adresse IP précédemment configurée de l'ancien serveur dans le fichier de configuration de la tâche affa.
 +
* Dans le cas d'une mise à jour du système d'exploitation, vérifiez et, si nécessaire, reconfigurez les dépôts de yum pour la nouvelle version.
    
[[Category: Howto/fr]]
 
[[Category: Howto/fr]]
 
[[Category: Backup/fr]]
 
[[Category: Backup/fr]]
 
----
 
----
3,054

edits

Navigation menu