Cette documentation décrit la façon de changer la distribution sur laquelle fonctionne BlueMind. Elle peut-être utilisée pour mettre à jour la distribution (Ubuntu 14.04 vers Ubuntu 16.04 par exemple).
Cette procédure est basée sur l'installation d'un système cible sur lequel les données seront migrées. Ce nouveau système prendra ensuite la place, au niveau réseau, du premier.
La migration des données se passe en 3 temps afin de minimiser l'indisponibilité du service:
Permet de faire la copie initiale des données sans coupure du service:
stopper les services sur les serveurs cible:
# bmctl stop # service postfix stop |
synchroniser les données de BlueMind via l'utilitaire rsync:
# rsync -avH --delete root@origsrv.domain.tld:/var/spool/cyrus/ /var/spool/cyrus/ # rsync -avH --delete root@origsrv.domain.tld:/var/lib/cyrus/ /var/lib/cyrus/ # rsync -avH --delete root@origsrv.domain.tld:/var/spool/bm-hsm/ /var/spool/bm-hsm/ # rsync -avH --delete root@origsrv.domain.tld:/var/spool/sieve/ /var/spool/sieve/ # rsync -avH --delete root@origsrv.domain.tld:/var/spool/bm-elasticsearch/ /var/spool/bm-elasticsearch/ # rsync -avH --delete root@origsrv.domain.tld:/var/spool/bm-docs/ /var/spool/bm-docs/ # rsync -avH --delete root@origsrv.domain.tld:/var/spool/bm-filehosting/ /var/spool/bm-filehosting/ |
Ces opérations peuvent-être interrompues et/ou réalisées plusieurs fois.
Note: Plus le temps entre la synchronisation à chaud et la synchronisation à froid est court, plus la synchronisation à froid sera rapide.
stopper les services sur les serveurs (origine et cible):
# bmctl stop # service postfix stop |
depuis le serveur cible, refaire une synchronisation des données:
# rsync -avH --delete root@origsrv.domain.tld:/var/spool/cyrus/ /var/spool/cyrus/ # rsync -avH --delete root@origsrv.domain.tld:/var/lib/cyrus/ /var/lib/cyrus/ # rsync -avH --delete root@origsrv.domain.tld:/var/spool/bm-hsm/ /var/spool/bm-hsm/ # rsync -avH --delete root@origsrv.domain.tld:/var/spool/sieve/ /var/spool/sieve/ # rsync -avH --delete root@origsrv.domain.tld:/var/spool/bm-elasticsearch/ /var/spool/bm-elasticsearch/ # rsync -avH --delete root@origsrv.domain.tld:/var/spool/bm-docs/ /var/spool/bm-docs/ # rsync -avH --delete root@origsrv.domain.tld:/var/spool/bm-filehosting/ /var/spool/bm-filehosting/ |
depuis le serveur cible, réaliser un dump de la base de données du serveur d'origine:
# ssh root@origsrv.domain.tld "PGPASSWORD=bj pg_dump -U bj -h localhost bj" > /tmp/db.sql |
depuis le serveur cible, copier les fichiers du serveur origine vers le serveur cible:
# scp -r root@origsrv.domain.tld:/etc/bm/* /etc/bm # scp root@origsrv.domain.tld:/etc/bm/bm.ini /etc/bm/bm.ini # scp -r root@origsrv.domain.tld:/etc/bm-hps/* /etc/bm-hps # scp root@origsrv.domain.tld:/etc/ssl/certs/bm_cert.pem /etc/ssl/certs/bm_cert.pem # scp -r root@origsrv.domain.tld:/var/lib/bm-ca/* /var/lib/bm-ca # scp root@origsrv.domain.tld:/usr/share/bm-elasticsearch/config/elasticsearch.yml /usr/share/bm-elasticsearch/config/elasticsearch.yml # scp root@origsrv.domain.tld:/etc/imapd* /etc/ # scp root@origsrv.domain.tld:/etc/cyrus* /etc/ # scp root@origsrv.domain.tld:/etc/postfix/main.cf /etc/postfix/main.cf # scp root@origsrv.domain.tld:/etc/postfix/master.cf /etc/postfix/master.cf # scp root@origsrv.domain.tld:/etc/postfix/master_relay_transport-flat /etc/postfix/master_relay_transport-flat # scp root@origsrv.domain.tld:/etc/postfix/master_relay_transport.db /etc/postfix/master_relay_transport.db # scp root@origsrv.domain.tld:/etc/postfix/transport-flat /etc/postfix/transport-flat # scp root@origsrv.domain.tld:/etc/postfix/transport.db /etc/postfix/transport.db # scp root@origsrv.domain.tld:/etc/postfix/virtual_alias-flat /etc/postfix/virtual_alias-flat # scp root@origsrv.domain.tld:/etc/postfix/virtual_alias.db /etc/postfix/virtual_alias.db # scp root@origsrv.domain.tld:/etc/postfix/virtual_domains-flat /etc/postfix/virtual_domains-flat # scp root@origsrv.domain.tld:/etc/postfix/virtual_domains.db /etc/postfix/virtual_domains.db # scp root@origsrv.domain.tld:/etc/postfix/virtual_mailbox-flat /etc/postfix/virtual_mailbox-flat # scp root@origsrv.domain.tld:/etc/postfix/virtual_mailbox.db /etc/postfix/virtual_mailbox.db # scp root@origsrv.domain.tld:/etc/bm-webmail/* /etc/bm-webmail/ |
re-monter la base de données sur le serveur cible:
# su - postgres $ dropdb bj $ createdb bj $ exit # export PGPASSWORD=bj # cat /tmp/db.sql | psql -U bj -h localhost bj |
Se connecter à la console d'administration de BlueMind en tant qu'utilisateur admin0@global.virt puis: