Aller au contenu


Migration de ZCS entre deux serveurs


  • Veuillez vous connecter pour répondre
6 réponses à ce sujet

#1 le_gache

le_gache

    Membre actif

  • Membres
  • PipPip
  • 142 messages
  • LocalisationAuray - Morbihan

Posté 20 juin 2012 - 11:08

Bonjour,

Je vais essayé de détailler ici la migration que je viens de réaliser suite à l'acquisition de nouveau matériel.
Le serveur de départ est un ZCS OSE 7.2.0 sous debian 5 x64.
Le serveur d'arrivée est un ZCS OSE 7.2.0 sous CentOS 6.2 x64.
Les certificats ne sont pas autogénérés mais sont des certificats issus d'une autorité de certification et importés.
Le serveur ZCS est unique.
Les deux machines avant la migration :
Debian 5 : zimbra.domaine.fr - 192.168.1.250
CentOS : zimbra01.domaine.fr - 192.168.1.236
1. Sur le serveur de départ, j'ai créé un dossier backup propriété de zimbra :
mkdir /backup
chown zimbra:zimbra /backup

2. A chaud, sur le serveur de départ, faire un rsync de tout ce qu'on veut récupérer sur la machine depuis /opt/zimbra vers /backup :
 cd /backup/
rsync -avHS --delete /opt/zimbra/conf/ /backup/zimbra/conf/
rsync -avHS --delete /opt/zimbra/data/ /backup/zimbra/data/
rsync -avHS --delete /opt/zimbra/db/ /backup/zimbra/db/
rsync -avHS --delete /opt/zimbra/index/ /backup/zimbra/index/
rsync -avHS --delete /opt/zimbra/postfix-2.7.8.3z/conf /backup/zimbra/postfix-2.7.8.3z/conf/
rsync -avHS --delete /opt/zimbra/redolog/ /backup/zimbra/redolog/
rsync -avHS --delete /opt/zimbra/.ssh/ /backup/zimbra/.ssh/
rsync -avHS --delete /opt/zimbra/ssl/ /backup/zimbra/ssl/
rsync -avHS --delete /opt/zimbra/store/ /backup/zimbra/store/
rsync -avHS --delete /opt/zimbra/jdk1.6.0_31/jre/lib/security/ /backup/zimbra/jdk1.6.0_31/jre/lib/security/
rsync -avHS --delete /opt/zimbra/jetty-6.1.22.z6/etc/ /backup/zimbra/jetty-6.1.22.z6/etc/
La première fois, c'est assez long (plusieurs heures), d'où l'intérêt de le faire à chaud avant la migration !


3. Sur le serveur d'arrivée, désactiver les services qui ne servent à rien, et attention en particulier à selinux qu'il faut mettre à disabled dans /etc/selinux/config. Installer les pré-requis.
Par exemple sur ma machine, voici les services qui tournent :
 auditd 
crond
fcoe
hv_kvp_daemon
ip6tables
iptables
iscsi
iscsid
lldpad
lvm2-monitor
network
rpcbind
rsyslog
sshd
sysstat
udev-post
Tant qu'on y est, il faut télécharger le paquet d'installation et installer aussi le paquet file : s'il n'est pas présent, le serveur ne pourra pas envoyer de mail ! C'est un prérequis caché...
yum install file
Il faut aussi créer un répertoire pour stocker les backups et faire une première synchronisation (ça peut être assez long en fonction du volume de données) des deux serveurs :
cd /opt/
mkdir backup
rsync -avHS -- delete root@192.168.100.250:/backup/ /opt/backup/

4. Au moment de la migration, sur l'ancien serveur :
- faire une première synchro locale à chaud
- arrêter zimbra et faire une deuxième synchro locale à froid
- faire un backup du LDAP
- faire un zmlocalconfig -s > /backup/zmlocalconfig-old.txt pour récupérer la conf et en particulier tous les passwords (ça va servir)
- faire une synchro des deux serveurs
- changer l'IP et le nom d'hôte de la machine et l'arrêter
cd /backup/
rsync -avHS --delete /opt/zimbra/conf/ /backup/zimbra/conf/
rsync -avHS --delete /opt/zimbra/data/ /backup/zimbra/data/
rsync -avHS --delete /opt/zimbra/db/ /backup/zimbra/db/
rsync -avHS --delete /opt/zimbra/index/ /backup/zimbra/index/
rsync -avHS --delete /opt/zimbra/postfix-2.7.8.3z/conf /backup/zimbra/postfix-2.7.8.3z/conf/
rsync -avHS --delete /opt/zimbra/redolog/ /backup/zimbra/redolog/
rsync -avHS --delete /opt/zimbra/.ssh/ /backup/zimbra/.ssh/
rsync -avHS --delete /opt/zimbra/ssl/ /backup/zimbra/ssl/
rsync -avHS --delete /opt/zimbra/store/ /backup/zimbra/store/
rsync -avHS --delete /opt/zimbra/jdk1.6.0_31/jre/lib/security/ /backup/zimbra/jdk1.6.0_31/jre/lib/security/
rsync -avHS --delete /opt/zimbra/jetty-6.1.22.z6/etc/ /backup/zimbra/jetty-6.1.22.z6/etc/
su - zimbra
zmcontrol stop
/opt/zimbra/libexec/zmslapcat -c /backup
/opt/zimbra/libexec/zmslapcat /backup
zmlocalconfig -s > /backup/zmlocalconfig-old.txt
exit
rsync -avHS --delete /opt/zimbra/conf/ /backup/zimbra/conf/
rsync -avHS --delete /opt/zimbra/data/ /backup/zimbra/data/
rsync -avHS --delete /opt/zimbra/db/ /backup/zimbra/db/
rsync -avHS --delete /opt/zimbra/index/ /backup/zimbra/index/
rsync -avHS --delete /opt/zimbra/postfix-2.7.8.3z/conf /backup/zimbra/postfix-2.7.8.3z/conf/
rsync -avHS --delete /opt/zimbra/redolog/ /backup/zimbra/redolog/
rsync -avHS --delete /opt/zimbra/.ssh/ /backup/zimbra/.ssh/
rsync -avHS --delete /opt/zimbra/ssl/ /backup/zimbra/ssl/
rsync -avHS --delete /opt/zimbra/store/ /backup/zimbra/store/
rsync -avHS --delete /opt/zimbra/jdk1.6.0_31/jre/lib/security/ /backup/zimbra/jdk1.6.0_31/jre/lib/security/
rsync -avHS --delete /opt/zimbra/jetty-6.1.22.z6/etc/ /backup/zimbra/jetty-6.1.22.z6/etc/
rsync -avHS -- delete /backup/ root@192.168.100.236:/opt/backup/

5. Sur le nouveau serveur, changer son IP et son hostname pour ceux de l'ancienne machine, sous CentOS, voici les fichiers à modifier :
vi /etc/sysconfig/network-scripts/ifcfg-eth0
...
IPADDR=192.168.1.250
...

vi /etc/sysconfig/network
...
HOSTNAME=zimbra.domaine.fr
...

vi /etc/hosts
...
192.168.1.250 zimbra.domaine.fr   zimbra
...

6. Sur le nouveau serveur, faire une install propre (normale en fait) de zimbra avec le même nom de domaine que pour l'ancienne install : domaine.fr. Voici les points que j'ai configurés à la main identiques à ceux de l'ancienne conf :
./install.sh --platform-override (pour une instal CentOS)
1) Common Configuration
- LDAP Admin password
2) zimbra-ldap
- LDAP Root password

- LDAP Replication password
- LDAP Postfix password
- LDAP Amavis password
- LDAP Nginx password

3) zimbra-store
Admin Password

Spam Training User
Non-spam (HAM) Training User
Web server mode https (dans ma conf)
Virus quarantine user

Et la timezone dans la partie 1 je crois...


7. Une fois l'install terminée,  il faut arrêter zimbra et restaurer le ldap :
su - zimbra
zmcontrol stop
exit

rm -rf /opt/zimbra/data/ldap/config/*
rm -rf /opt/zimbra/data/ldap/hdb/*
mkdir -p /opt/zimbra/data/ldap/hdb/db /opt/zimbra/data/ldap/hdb/logs
chown -R zimbra:zimbra /opt/zimbra/data/ldap
su - zimbra
/opt/zimbra/openldap/sbin/slapadd -q -n 0 -F /opt/zimbra/data/ldap/config -cv -l /opt/backup/ldap-config.bak
/opt/zimbra/openldap/sbin/slapadd -q -b "" -F /opt/zimbra/data/ldap/config -cv -l /opt/backup/ldap.bak
exit


8. Il faut à présent modifier le fichier /opt/zimbra/conf/localconfig.xml avec les anciennes valeurs pour les clés qui n'ont pas été modifiées à l'installation (on peut en profiter pour contrôler les autres) :
ldap_amavis_password
ldap_root_password
mailboxd_keystore_password
zimbra_mysql_password
mysql_root_password
ldap_postfix_password
ldap_replication_password
ldap_bes_searcher_password
ldap_nginx_password
zimbra_ldap_password
mailboxd_truststore_password
Il y aura peut-être aussi à corriger les valeurs des clés zimbra_uid et zimbra_gid qui doivent être identiques aux valeurs du fichier /etc/passwd et qui peuvent être différentes entre les deux systèmes (par exemple ici zimbra_uid passe de 1000 à 500 et zimbra_gid passe de 104 à 500).

9. Récupération des données et mise à jour des permissions :

rm -rf /opt/zimbra/db/data/*
rm -rf /opt/zimbra/store/*
rm -rf /opt/zimbra/index/*
rm -rf /opt/zimbra/postfix-2.7.8.3z/conf/*
rm -rf /opt/zimbra/.ssh/*
rm -rf /opt/zimbra/ssl/zimbra/commercial/*
rm -rf /opt/zimbra/jdk1.6.0_31/jre/lib/security/*
rm -rf /opt/zimbra/jetty-6.1.22.z6/etc/*
rm -rf /opt/backup/zimbra/conf/localconfig.xml (pour ne pas effacer la nouvelle config que l'on vient de faire)
mv /opt/zimbra/conf/localconfig.xml /opt/backup/zimbra/conf/
rm -rf /opt/zimbra/conf/*
rm -rf /opt/zimbra/redolog/*

mv /opt/backup/zimbra/db/data/* /opt/zimbra/db/data/
mv /opt/backup/zimbra/store/* /opt/zimbra/store/
mv /opt/backup/zimbra/index/* /opt/zimbra/index/
mv /opt/backup/zimbra/postfix-2.7.8.3z/conf/* /opt/zimbra/postfix-2.7.8.3z/conf/
mv /opt/backup/zimbra/.ssh/* /opt/zimbra/.ssh/
cp /opt/backup/zimbra/ssl/zimbra/commercial/* /opt/zimbra/ssl/zimbra/commercial/*
mv /opt/backup/zimbra/jdk1.6.0_31/jre/lib/security/* /opt/zimbra/jdk1.6.0_31/jre/lib/security/
mv /opt/backup/opt/zimbra/jetty-6.1.22.z6/etc/* /opt/zimbra/jetty-6.1.22.z6/etc/
mv /opt/backup/zimbra/conf/* /opt/zimbra/conf/

/opt/zimbra/libexec/zmfixperms -v

Il faut bien vérifier et les modifier si besoin les permissions sur les fichiers slapd.crt et slapd.key, sinon l'étape suivante ne fonctionnera pas :
 -rw-r-----  1 zimbra zimbra  5,3K 19 juin  23:47 slapd.crt
-rw-r-----  1 zimbra zimbra  1,7K 19 juin  23:47 slapd.key

10. La dernière étape avant le redémarrage de zimbra est la réimportation des certificats, il faut pour cela que le ldap soit démarré, puisque certains certificats sont stockés dedans :
su - zimbra
zmcontrol start
exit
/opt/zimbra/bin/zmcertmgr deploycrt comm /opt/backup/zimbra/ssl/zimbra/commercial/commercial.crt [/size][/font][font=sans-serif][size=2]/opt/backup/zimbra/ssl[/size][/font][font=sans-serif][size=2]/zimbra/commercial/commercial_ca.crt
su - zimbra
zmcontrol stop
exit
/opt/zimbra/libexec/zmfixperms -v

su - zimbra
zmcontrol start
exit

Et là, normalement,ça fonctionne...

En dernier point, voici ma "biblio" :
Et même si ça n'est pas le lieu, trois derniers liens pour la route pour les originaux qui comme moi veulent installer un linux dans hyper-v 2008 R2 SP1 64 bits :
La suite au prochain numéro (installation de z-push avec support du html sous centos 6.2 et hyper-v et même que si je suis vraiment taquin ce sera avec lighttpd...)

Bonne journée,

Jérémie.
c'est en ratant qu'on réussit...
----------------------------------------------------------------------------------------------------------
ZCS 8.0.7 OSE + Zextras Suite 1.8.15 sur CentOS 6.5 64 bits sur Hyper-V

#2 androme

androme

    Modérateur Grognon

  • Modérateurs
  • 1 795 messages
  • LocalisationArles

Posté 21 juin 2012 - 08:11

Merci pour ce retour, sujet épinglé.
7.1.3 NE   : IBM 3350 -> SAN FC (SLES 11 x64 sous vSphere) 750 Users (~ 1000 en fin de migration)
7.1.3 OSE : IBM 3350 -> SAN FC  (SLES 11 x64 sous vSphere)750 Users

#3 d.o.n.g.h.w.a.n

d.o.n.g.h.w.a.n

    Membre

  • Membres
  • 18 messages

Posté 07 décembre 2012 - 13:49

Alors sincèrement un grand merci pour ce tuto on ne peut plus clair et détaillé :)
J'ai ainsi pu correctement migrer notre ZCS 7.1.4 (RHEL5) d'un serveur physique en interne ( :wacko: ) vers une ZCS 7.1.4 sur une VM en Ubuntu 10.04LTS chez un hébergeur (mieux !). Ensuite parfaitement mis à jour en ZCS 8.0.1.
Encore merci :D  !
Damien Peignaux, responsable R&D et ressources internes Vienne Services
ZCS 8.0.8 / Ubuntu 10.04LTS 4GB 4 cœurs sur XenServer / 100 users

#4 elesouef

elesouef

    Membre avancé

  • Membres
  • 34 messages

Posté 26 avril 2013 - 10:23

Bonjour, et merci pour ce sujet.
Perso, j'essaye de suivre la page du wiki concernant la migration de 32bits vers 64bits (c'est ce que je dois réaliser).

Dans ce tutoriel, Zimbra est installé sur la nouvelle machine alors que l'ancienne est totalement arrétée et que le nouveau serveur est à sa place (avec le bon adressage IP, le bon hostname, etc.).

Est-il possible de procéder à l'install et aux rsync "préparatoires" autrement, à savoir via un adressage et un hostname "temporaire" ?
Emmanuel Lesouef
ZCS Release 7.2.3_GA_2872.UBUNTU8 UBUNTU8 FOSS edition
Ubuntu 8.04 LTS

#5 Klug

Klug

    Zimbra Jedi

  • Membres
  • PipPipPipPip
  • 10 302 messages
  • LocalisationBeaucaire - Gard

Posté 26 avril 2013 - 10:37

Pour le rsync, oui bien sûr, aucun soucis (heureusement 8)).

Pour le LDAP, il faut faire l'export depuis l'ancienne machine. Donc il faut qu'elle tourne et que le service LDAP soit lancé. Donc agir en conséquence...

#6 elesouef

elesouef

    Membre avancé

  • Membres
  • 34 messages

Posté 26 avril 2013 - 10:48

Voir le messageKlug, le 26 avril 2013 - 10:37, dit :

Pour le rsync, oui bien sûr, aucun soucis (heureusement 8)).

Pour le LDAP, il faut faire l'export depuis l'ancienne machine. Donc il faut qu'elle tourne et que le service LDAP soit lancé. Donc agir en conséquence...

Merci pour cette réponse. Mon souci est donc de procéder à l'install fraiche de Zimbra alors que la machine cible est en place (IP de prod et hostname de prod). Donc une interruption de service.

C'est donc la page du wiki (https://wiki.zimbra....o_64-bit_Server) qui n'indique probablement pas assez bien qu'il faut installer Zimbra avec le paramétrage final et correct (d'un point de vue production) de l'IP et du hostname. C'est bien ça ?

Pour être plus clair, j'ai un serveur de prod en 32bits (zimbra.mondomaine.fr) et je prépare en interne un serveur Zimbra en 64bits de remplacement. Du coup, si je fais l'install en interne, le install.sh crie car le hostname ne correspond pas au domaine, que l'IP temporaire ne correspond pas au PTR du nom du serveur cible, etc.

Merci encore pour votre aide.
Emmanuel Lesouef
ZCS Release 7.2.3_GA_2872.UBUNTU8 UBUNTU8 FOSS edition
Ubuntu 8.04 LTS

#7 Klug

Klug

    Zimbra Jedi

  • Membres
  • PipPipPipPip
  • 10 302 messages
  • LocalisationBeaucaire - Gard

Posté 26 avril 2013 - 11:20

Il suffit (une fois de plus) de monter un serveur DNS local au nouveau serveur, qui lui fait croire qu'il s'appelle bien comme le serveur existant (et même chose pour le PTR).
Faire un split DNS en fait...




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)