Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Sv translation
languageen
Remarque

This page is no longer being updated. From BlueMind 4.8, please refer to the new BlueMind documentation

This article describes how to change the distribution BlueMind works on. It can be used to update the distribution (Ubuntu 16.04 to Ubuntu 18.04 for instance).

This procedure is based on installing a target system to which the data is migrated. This new system will then replace the original one at the network level.

Prerequisites

  • install BlueMind on the target system in an identical version to the original system and configured with the same external-url. The Setup Wizard must have been run on the target server. E.g.:
    • if the original system uses BlueMind 4.0.5, the target system must have BlueMind 4.0.5 installed
    • if the original external-url is bluemind.domain.tld, the target system's BlueMind must be configured with the external-url bluemind.domain.tld
    • install a valid subscription for this OS
  • the target system's root user must be able to authenticate as root on the original server, ideally using key authentication.
  • the rsync utility must be installed on both systems.

Migration

Data migration is done in three steps to minimize service downtime:

  • hot synchronization of server data to the target server - this is a time-consuming operation but does not cause service interruption
  • cold synchronization - quick operation but causes service interruption
  • switching servers

Hot synchronization

Allows you to make an initial copy of data without interrupting the service:

  1. connect to the target server as root
  2. stop services on the target servers:

    Bloc de code
    languagebash
    # bmctl stop
    # service postfix stop
  3. synchronize BlueMind data using the rsync utility:

    Bloc de code
    languagebash
    # 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

These operations can be interrupted and/or performed several times.

Note: The shorter the time between hot synchronization and cold synchronization, the faster cold synchronization will be.

Cold synchronization

  1. Stop services on the servers (original and target):

    Bloc de code
    languagebash
    # bmctl stop
    # service postfix stop
  2. In the target server, synchronize the data again:

    Bloc de code
    languagebash
    # 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
  3. In the target server, do a database dump for the original server data:

    Bloc de code
    languagebash
    # ssh root@origsrv.domain.tld "PGPASSWORD=bj pg_dump -U bj -h localhost bj" > /tmp/db.sql
    # ssh root@origsrv.domain.tld "PGPASSWORD=bj pg_dump -U bj -h localhost bj-data" > /tmp/db-data.sql
  4. In the target server, copy the original server's files to the target server:

    Bloc de code
    languagebash
    # 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/
  5. Import the database into the target server:

    Bloc de code
    languagebash
    # su - postgres
    $ dropdb bj
    $ dropdb bj-data
    $ createdb bj
    $ createdb bj-data
    $ exit
    # export PGPASSWORD=bj
    # cat /tmp/db.sql | psql -U bj -h localhost bj
    # cat /tmp/db-data.sql | psql -U bj -h localhost bj-data

Switching servers

  1. Stop the original server
  2. Reconfigure the target server with the original server's IP address
  3. Restart the target server and connect to the network instead of the original server so that it can be reached instead of the original server

Post-migration

Connect to the BlueMind Administration console as admin0@global.virt and:

  • Go to the section Security > Firewall and immediately click "Save" to force the BlueMind firewall's rules regeneration
  • Go to System Management > Mail Maintenance, click "Run" to regenerate the mail postfix routing tables
  • Go to System Management > System Configuration and replace the old IP address in the "My Networks" field by the new address or the address range for which you want the relay open and click "Save"
Sv translation
languagede
Remarque

Diese Seite ist nicht mehr aktuell. Ab der Version BlueMind 4.8 finden Sie alle Infos in der neuen Dokumentation

In dieser Dokumentation wird erläutert, wie Sie die Distribution, auf der BlueMind läuft, ändern können. Sie kann zum Aktualisieren der Distribution verwendet werden (z. B. von Ubuntu 16.04 auf Ubuntu 18.04).

Dieses Verfahren basiert auf der Installation eines Zielsystems, auf das die Daten migriert werden sollen. Dieses neue System nimmt dadurch auf der Netzwerkebene den Platz des ersten Systems ein.

Voraussetzungen

  • Installieren Sie auf dem Zielsystem ein BlueMind in der gleichen Version wie auf dem ursprüngliche System, konfiguriert mit der gleichen external-url. Der Setup-Assistent (bzw. Setup Wizard muss auf den Zielserver aufgespielt worden sein. Beispiel:
    • Wenn das ursprüngliche System BlueMind 4.0.5 verwendet, muss das Zielsystem ein BlueMind 4.0.5 haben
    • Wenn die ursprüngliche external-url bluemind.domain.tld ist, muss das BlueMind des Zielsystems mit der external-url bluemind.domain.tldkonfiguriert werden
    • ein gültiges Abonnement für dieses OS installieren
  • der Root-Benutzer des Zielservers muss sich als Root auf dem Ursprungsserver authentifizieren können, idealerweise mit Schlüsselauthentifizierung.
  • das Dienstprogramm rsync muss auf beiden Systemen installiert sein.

Migration

Die Datenmigration wird in 3 Schritten durchgeführt, um die Ausfallzeiten des Dienstes zu minimieren:

  1. Hot-Synchronisation der Daten vom Quellserver auf den Zielserver – langwieriger Vorgang, der aber keine Ausfallzeit verursacht
  2. Cold-Synchronisation – schneller Vorgang, aber mit Ausfallzeit
  3. Serveraustausch

Hot-Synchronisation

Ermöglicht die Erstkopie von Daten, ohne den Betrieb zu unterbrechen:

  1. Melden Sie sich als root auf dem Zielserver an
  2. Dienste auf den Zielservern stoppen:

    Bloc de code
    languagebash
    # bmctl stop
    # service postfix stop
  3. BlueMind-Daten über das Dienstprogramm rsync synchronisieren:

    Bloc de code
    languagebash
    # 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/

Diese Vorgänge können unterbrochen und/oder mehrmals ausgeführt werden.

Hinweis: Je kürzer die Zeit zwischen Hot- und Cold-Synchronisation, desto schneller wird die Cold-Synchronisation verlaufen.

Cold-Synchronisation

  1. Dienste auf den Servern (Ursprung und Ziel) stoppen:

    Bloc de code
    languagebash
    # bmctl stop
    # service postfix stop
  2. Vom Zielserver aus die Daten erneut synchronisieren:

    Bloc de code
    languagebash
    # 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/
  3. Vom Zielserver aus einen Dump der Datenbank des Ursprungs-Servers durchführen:

    Bloc de code
    languagebash
    # ssh root@origsrv.domain.tld "PGPASSWORD=bj pg_dump -U bj -h localhost bj" > /tmp/db.sql
    # ssh root@origsrv.domain.tld "PGPASSWORD=bj pg_dump -U bj -h localhost bj-data" > /tmp/db-data.sql
  4. Vom Zielserver aus die Dateien vom Ursprungsserver auf den Zielserver kopieren:

    Bloc de code
    languagebash
    # 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/
  5. Die Datenbank auf dem Zielserver wieder aufbauen:

    Bloc de code
    languagebash
    # su - postgres
    $ dropdb bj
    $ dropdb bj-data
    $ createdb bj
    $ createdb bj-data
    $ exit
    # export PGPASSWORD=bj
    # cat /tmp/db.sql | psql -U bj -h localhost bj
    # cat /tmp/db-data.sql | psql -U bj -h localhost bj-data

Server-Austausch

  1. Den Ursprungsserver anhalten
  2. Den Zielserver neu konfigurieren, um ihm die IP-Adresse des Ursprungsservers zu geben
  3. Den Zielserver neu starten und ihn anstelle des Ursprungsservers mit dem Netzwerk verbinden, damit er anstelle des Ursprungsservers erreicht werden kann

Nach der Migration

Melden Sie sich als Benutzer an der BlueMind-Administrationskonsole als Benutzer admin0@global.virt an und:

  1. Gehen Sie in den Bereich Sicherheit > Firewall-Verwaltung und klicken Sie sofort auf die Schaltfläche "Speichern", um die Neugenerierung der BlueMind-Firewall-Regeln zu erzwingen
  2. Gehen Sie zu Systemadministration > Mail-Wartung und klicken Sie auf die Schaltfläche "Ausführen", um die Postfix-Mail-Routing-Tabellen neu zu generieren
  3. Gehen Sie in den Bereich Systemadministration > Systemkonfiguration und ersetzen Sie die alte IP-Adresse im Feld "Meine Netzwerke" durch die neue Adresse oder den Adressbereich, für den Sie ein Open-Relay haben möchten, bevor Sie auf die Schaltfläche "Speichern" klicken