Moving SME to new Hardware/fr

From SME Server
Jump to navigation Jump to search


PythonIcon.png Skill level: Advanced
The instructions on this page may require deviations from standard procedures. A good understanding of linux and Koozali SME Server is recommended.


Is this article helpful to you?
Please consider donating or volunteering
Thank you!

Déplacer un serveur SME sur une nouvelle machine

Introduction

Il y a plusieurs façons de déplacer une installation du Serveur SME sur un nouveau matériel et également sur une nouvelle version logicielle du Serveur SME.

Ce document décrit une méthode utilisant la contribution smeserver-affa v3.

  Attention :
il faut utiliser la contribution smeserver-affa et non 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.


La fonction «rise» peut être également utilisée pour passer à une version logicielle supérieure. Cela est aussi valable pour passer de la version SME 8.2 à la version 9.x.

Affa rends cela possible avec une interruption de service minimale du serveur de production.

Dans la suite, il est convenu que IP_prod est l'adresse IP de votre serveur de production et IP_nouvelle est l’adresse IP du nouveau matériel serveur. Remplacer les espaces réservés par vos adresses IP réelles.

Préparation

  Attention :
avant d'envisager le passage de SME 8 à SME 9 qui va bientôt devenir urgent (31 décembre 2016), penser à vérifier l'état de boguage de chacune des contributions utilisées par le serveur SME. En effet, certaines contributions en version SME 9 ont des bogues qui n'existent pas en version SME 8 et qui peuvent, au mieux, engendrer des messages d'erreurs au redémarrage. Ces messages peuvent faire croire à un bogue de la fonction «rise» d'Affa. A ce jour (10 août 2016), il n'en est rien.


Serveur de production

Activer l'accès ssh à distance pour l'administrateur dans le gestionnaire du serveur de l'IP_prod. Cela inclut de configurer à la fois :

  • - l' 'accès Secure shell' à partir du réseau local ;
  • - 'autoriser l'administrateur à accéder à SSH en ligne de commande en configurant à «Oui» ;
  • - et «Autoriser l'administrateur à se connecter à l'aide de mots de passe standards» à «Oui».


Se connecter en tant qu'administrateur au serveur d'IP_prod et lancer une msie à jour logicielle :

yum update

Si des paquets sont mis à jour, il est nécessaire de lancer les commandes post mises à jour et de redémarrer :

signal-event post-upgrade; signal-event reboot

Nouveau matériel

Installer le Serveur SME à partir du dernier CDROM/ISO. Lui attribuer une adresse IP inutilisée (IP_nouvelle) et désactiver la fonction DHCP.
Activer l'accès ssh à distance dans le gestionnaire du serveur de la machine d'IP_nouvelle.


  Note :
à partir de maintenant, toutes les étapes suivantes peuvent être réalisées à distance par accès ssh.



Se connecter au serveur d'IP_nouvelle et lancer une mise à jour.

yum update

Effectuer les procédure post mises à jour et redémarrer si c'est demandé.

Installer la contribution Affa. Suivez les dernières instructions d'installation d'Affa ici, en anglais pour l'instant.

Se souvenir, s.v.p., de créer en ligne de commande le répertoire pour les fichiers d'archives :

mkdir /var/affa


  Note :
durant la transition entre SME8 et SME9, les paquets des contributions seront déplacés dans le dépôt des contributions de SME9. Si la contribution n'est pas encore dans le dépôt des contributions de SME9 et une entrée dans les questions/réponses suggère que ce sera installé proprement, il faudra installer la contribution à partir du dépôt de SME8. Voir : http://wiki.contribs.org/SME9.0_Contribs_QA#Setup.


Dans cet exemple, vous avez un Serveur SME de production (IP_prod) d'IP : 192.168.0.2.
Vous avez une seconde machine SME en tant que serveur de sauvegarde (IP_nouvelle) d'IP : 192.168.0.10.
La tâche Affa de sauvegarde s'appelle «ServProd».

Connectez-vous à votre IP_nouvelle en tant que root et éditer/créer le fichier /etc/affa/ServProd.conf. En utilisant, par exemple, l'éditeur nano, ajouter le texte de configuration de tâche de l'exemple suivant au nom de tâche ServProd :

[ServProd]
remoteHostName=192.168.0.2
SMEServer=yes
Watchdog=yes
RPMCheck=yes
ConnectionCheckTimeout=120
Debug=no
Description=sauvegarde de smeserveur.chezmoi.xx d'IP 192.168.0.2
DiskSpaceWarn=strict
RootDir=/var/affa
TimeSchedule=0630
localNice=15
remoteNice=15
rsync--inplace=yes
rsyncCompress=no
rsyncTimeout=900
scheduledKeep=1
dailyKeep=7
weeklyKeep=4
monthlyKeep=12
yearlyKeep=1
status=disabled

Puis sauvegarder votre fichier de configuration de tâche.

Maintenant, vérifier que votre configuration est correcte :

affa --configcheck

Cela ne devrait retourner aucune erreur.

Générer des clés DSA et envoyer la clé publique au serveur d'IP_prod.

affa --send-key ServProd

La réponse du serveur d'IP_prod doit être :

Job ServProd: root@IP_prod's password:

Entrer le mot de passe administrateur d'IP_prod. La réponse sera :

Public key sent to IP_prod
  Attention :
avant d'envoyer la clé publique, il faut impérativement modifier provisoirement le serveur d'IP_prod en mettant à «Oui» l'accès ssh à distance à l'aide de mots de passe standards.

Ne pas oublier de remettre cette possibilité à «Non» dès la réponse du serveur après l'entrée du mot de passe.


  Note :
si vous ne vous êtes jamais connecté à IP_prod depuis IP_nouvelle, le serveur va vous demander si vous êtes sûr de l’authenticité du serveur qui répond en vous présentant sa clé RSA qu'il faut alors accepter par «yes».


Copie des données

Exécuter la tâche Affa «ServProd» sur la machine d'IP_nouvelle.

affa --run prodserv

En fonction de la quantité de données et des performances du matériel et du réseau, cette première tâche peut être réellement longue.

Regarder maintenant le fichier /var/affa/ServProd/rpms-missing.txt.

less /var/affa/ServProd/rpms-missing.txt

Vous trouverez une liste de paquets qui sont installés sur le serveur d'IP_prod mais non sur ce serveur d'IP_nouvelle et aussi des paquets installés dans différentes versions. Installer ou mettre à jour les paquets listés. Pour vérifier, vous pouvez exécuter à nouveau les étapes de ce chapitre. A la fin, le fichier rpms-missing.txt ne devrait plus avoir aucun paquet.

Dans le cas où vous changez le système d'exploitation SME pour une version plus élevée, vous allez trouver dans cette liste, non seulement les contributions installées mais toutes les différences entre les 2 systèmes - dans ce cas, vous devez exécuter cette commande sur l'IP_prod

 /sbin/e-smith/audittools/newrpms

pour révéler quelles sont les contributions installées sur l'IP_prod.

Synchronisation finale des données

Demander à vos utilisateurs de se décoonecter.
Se connecter à la machine d'IP_prod 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' 
for s in $SVC; do service $s stop; done

Note : l'interruption de service du serveur de production commence ici.

Se connecter à la machine d'IP_nouvelle et lancer à nouveau la tâche Affa :

affa --run prodserv

Cette passe s'effectue très rapidement car seules les différences depuis la dernière exécution ont besoin d'être synchronisées.

Basculement sur le nouveau matériel

Se connecter à la machine d'IP_prod et l'arrêter :

poweroff


Se connecter à la machine d'IP_nouvelle et «élever» ce serveur comme votre serveur de production :

affa --rise --all prodserv

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.

Note: Ne soyez pas effrayé si votre invite de commande a une apparence différente !

Effectuer maintenant un redémarrage :

reboot

Note: Downtime of the production server ends here


You now have an identical copy of your old production server running on the new hardware. Your users can now log on.

Cleaning up

Remove the Affa archives

/bin/rm -rf /var/affa

Remove the Affa packages and all status and configuration data

yum remove smeserver-affa perl-Filesys-DiskFree
rm -f /etc/cron.d/affa-status /etc/cron.d/affa
rm -rf /home/e-smith/db/affa /home/e-smith/db/affa-report
rm -rf /var/log/affa 

Note: Don't forget to clean up /var/affa. Otherwise you will waste disk space and see strange quota reports. See this forum thread for details.

Additional information

Performance

With this method you should be able to move a typical 500 Gbyte sized server to new hardware with downtime less than 20 minutes. The final sync and the rise time does not really depend on the total files size, but on the number of files and directories.