Zum Hauptinhalt gehen

Die Verteilung ändern

Diese Dokumentation beschreibt, wie Sie die Distribution, auf der BlueMind läuft, ändern können. Sie kann verwendet werden, um die Distribution zu aktualisieren (z.B. von Ubuntu 20.04 auf Ubuntu 22.04).

Dieses Verfahren basiert auf der Installation eines Zielsystems, auf das die Daten migriert werden. Dieses neue System wird dann auf der Netzwerkebene an die Stelle des ersten Systems treten.

Voraussetzungen

  • Installieren Sie auf dem Zielsystem ein BlueMind in der gleichen Version wie das ursprüngliche System: Wenn das ursprüngliche System BlueMind 5.0.x verwendet, muss das Zielsystem ein BlueMind 5.0.x haben.
  • Auf dem Zielserver alle Plugins installieren, die Auf dem Quellserver verwendet werden (LDAP-Import, Unternehmenssignaturen...)
  • Spielen Sie den Installationsassistenten (oder den Stup-Assistenten) auf dem Zielserver ab.
    • Wenn die ursprüngliche external-url bluemind.domain.tld ist, muss der BlueMind des Zielsystems mit bluemind.domain.tld als external-url konfiguriert werden.
    • eine gültige Abonnement für dieses Betriebssystem installieren In diesem Fall ist es möglich, das gleiche Abonnement wieder zu verwenden, wobei der neue Server den alten ersetzt.
  • Der Benutzer root auf dem Zielserver muss sich als root auf dem Ursprungsserver authentifizieren können, idealerweise mit Schlüsselauthentifizierung.
  • Das Dienstprogramm rsync muss auf beiden Systemen installiert sein.

Datenmigration

Die Datenmigration erfolgt in drei Schritten, um die Ausfallzeit des Dienstes zu minimieren :

  1. Hot-Sync der Daten vom Quell- zum Zielserver - zeitaufwendig, aber keine Unterbrechung des Dienstes.
  2. Kalte Synchronisation - schneller Vorgang, der jedoch zu einer Unterbrechung des Dienstes führt.
  3. Server ersetzen

Heiße Synchronisation

Diese Synchronisation ermöglicht es, die anfängliche Kopie der Daten ohne Unterbrechung des Dienstes zu erstellen.

Um dies zu tun :

  1. Sich als root auf dem Zielserver anmelden: su -.

  2. Stoppen Sie die Dienstleistungen auf diesem:

    bmctl stop
    systemctl stop postfix.service
  3. Synchronisieren Sie die Daten von BlueMind mit dem Dienstprogramm rsync:

    rsync -avH --delete root@origsrv.domain.tld:/var/spool/bm-hsm/ /var/spool/bm-hsm/
    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 Operationen können unterbrochen und/oder mehrmals durchgeführt werden.

Synchronisationsfrequenz

Um die Ausfallzeit bei der kalten Synchronisierung zu minimieren, wird empfohlen, die heiße Synchronisierung so oft wie möglich durchzuführen. Dies ermöglicht es, die Menge der Daten, die zwischen den beiden Rechnern übertragen werden müssen, zu begrenzen.

Je kürzer die Zeit zwischen der heißen und der kalten Synchronisation ist, desto schneller ist die kalte Synchronisation.

Kalte Synchronisation

  1. Stoppen Sie die Dienste auf den ursprünglichen und Zielservern:

    bmctl stop
    systemctl stop postfix.service
  2. **Führen Sie vom Zielserver aus eine erneute Datensynchronisation durch:

    rsync -avH --delete root@origsrv.domain.tld:/var/spool/cyrus/ /var/spool/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/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. **Führen Sie vom Zielserver aus einen Start von PostgreSQL auf dem ursprünglichen Server durch:

    ssh root@origsrv.domain.tld "systemctl start postgresql.service"
  4. **Führen Sie vom Zielserver aus einen Dump der Datenbank des ursprünglichen Servers durch:

    ssh root@origsrv.domain.tld "PGPASSWORD=bj pg_dump --format=c --username=bj --host localhost bj" > /tmp/dump-bj.sql
    ssh root@origsrv.domain.tld "PGPASSWORD=bj pg_dump --format=c --username=bj --host localhost bj-data" > /tmp/dump-bj-data.sql
  5. **Kopieren Sie vom Zielserver aus die Dateien des ursprünglichen Servers:

    rsync -av -r root@origsrv.domain.tld:/etc/bm/\* /etc/bm
    rsync -av root@origsrv.domain.tld:/etc/nginx/sw.htpasswd /etc/nginx/sw.htpasswd
    rsync -av root@origsrv.domain.tld:/etc/ssl/certs/bm_cert*.pem /etc/ssl/certs
    rsync -av -r root@origsrv.domain.tld:/var/lib/bm-ca/\* /var/lib/bm-ca
    rsync -av root@origsrv.domain.tld:/usr/share/bm-elasticsearch/config/elasticsearch.yml /usr/share/bm-elasticsearch/config/elasticsearch.yml
    rsync -av root@origsrv.domain.tld:/etc/postfix/main.cf /etc/postfix/main.cf
    rsync -av root@origsrv.domain.tld:/etc/postfix/master.cf /etc/postfix/master.cf
    rsync -av root@origsrv.domain.tld:/etc/postfix/master_relay_transport-flat /etc/postfix/master_relay_transport-flat
    rsync -av root@origsrv.domain.tld:/etc/postfix/master_relay_transport.db /etc/postfix/master_relay_transport.db
    rsync -av root@origsrv.domain.tld:/etc/postfix/transport-flat /etc/postfix/transport-flat
    rsync -av root@origsrv.domain.tld:/etc/postfix/transport.db /etc/postfix/transport.db
    rsync -av root@origsrv.domain.tld:/etc/postfix/virtual_alias-flat /etc/postfix/virtual_alias-flat
    rsync -av root@origsrv.domain.tld:/etc/postfix/virtual_alias.db /etc/postfix/virtual_alias.db
    rsync -av root@origsrv.domain.tld:/etc/postfix/virtual_domains-flat /etc/postfix/virtual_domains-flat
    rsync -av root@origsrv.domain.tld:/etc/postfix/virtual_domains.db /etc/postfix/virtual_domains.db
    rsync -av root@origsrv.domain.tld:/etc/postfix/virtual_mailbox-flat /etc/postfix/virtual_mailbox-flat
    rsync -av root@origsrv.domain.tld:/etc/postfix/virtual_mailbox.db /etc/postfix/virtual_mailbox.db
  6. **Starten Sie PostgreSQL vom Zielserver aus:

    systemctl start postgresql.service
  7. Mounten Sie die Datenbank auf dem Zielserver erneut:

    su - postgres
    dropdb bj
    dropdb bj-data
    createdb bj
    createdb bj-data
    export nb_cpu=$(cat /proc/cpuinfo |grep "processor"|wc -l)
    pg_restore -C --jobs=${nb_cpu} -d bj /tmp/dump-bj.sql
    pg_restore -C --jobs=${nb_cpu} -d bj /tmp/dump-bj-data.sql
    exit

Austausch der Server

  1. Stoppen Sie den ursprünglichen Server
  2. Konfigurieren Sie den Zielserver neu, um ihm die IP-Adresse des ursprünglichen Servers zuzuweisen
  3. Starten Sie den Zielserver neu und verbinden Sie ihn anstelle des ursprünglichen Servers mit dem Netzwerk, so dass er anstelle des ursprünglichen Servers erreichbar ist.

Post-Migration

Melden Sie sich an der BlueMind Verwaltungskonsole als Benutzer admin0@global.virt an, dann :

  1. Gehen Sie zu Sicherheit > Firewall-Management und klicken Sie sofort auf die Schaltfläche "Speichern", um die Erneuerung der BlueMind Firewall-Regeln zu erzwingen.
  2. Gehen Sie zu Systemverwaltung > Mailwartung, klicken Sie auf die Schaltfläche "Ausführen", um die Postfix-Mailrouting-Tabellen neu zu generieren.
  3. Gehen Sie zu Systemverwaltung > Systemkonfiguration und ersetzen Sie die alte IP-Adresse im Feld "Meine Netzwerke" durch die neue Adresse oder den Adressbereich, für den Sie geöffnet werden möchten, und klicken Sie auf die Schaltfläche "Speichern".
  4. Starten Sie die Neukonfiguration des bm-tick Monitoring-Tools :
    bm-cli tick reconfigure