Distribution ändern
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.tld_konfiguriert 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:
- Hot-Synchronisation der Daten vom Quellserver auf den Zielserver – langwieriger Vorgang, der aber keine Ausfallzeit verursacht
- Cold-Synchronisation – schneller Vorgang, aber mit Ausfallzeit
- Serveraustausch
Hot-Synchronisation
Ermöglicht die Erstkopie von Daten, ohne den Betrieb zu unterbrechen:
Melden Sie sich als root auf dem Zielserver an
Dienste auf den Zielservern stoppen:
bmctl stop
systemctl stop postfix.serviceBlueMind-Daten über das Dienstprogramm rsync synchronisieren:
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
Dienste auf den Servern (Ursprung und Ziel) stoppen:
bmctl stop
systemctl stop postfix.serviceVom Zielserver aus die Daten erneut synchronisieren:
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/Ab dem Zielserver einen PostgreSQL-Start des ursprünglichen Servers durchführen:
ssh root@origsrv.domain.tld "systemctl start postgresql.service"
Vom Zielserver aus einen Dump der Datenbank des Ursprungs-Servers durchführen:
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.sqlVom Zielserver aus die Dateien vom Ursprungsserver auf den Zielserver kopieren:
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 -r root@origsrv.domain.tld:/etc/bm-hps/\* /etc/bm-hps
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/imapd\* /etc/
rsync -av root@origsrv.domain.tld:/etc/cyrus\* /etc/
rsync -av root@origsrv.domain.tld:/etc/bm-webmail/\* /etc/bm-webmail/
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.dbAb dem Zielserver einen Start von PostgreSQL durchführen:
systemctl start postgresql.service
Die Datenbank auf dem Zielserver wieder aufbauen:
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
Server-Austausch
- Den Ursprungsserver anhalten
- Den Zielserver neu konfigurieren, um ihm die IP-Adresse des Ursprungsservers zu geben
- 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:
- Gehen Sie in den Bereich Sicherheit > Firewall-Verwaltung und klicken Sie sofort auf die Schaltfläche "Speichern", um die Neu-Generierung der BlueMind-Firewall-Regeln zu erzwingen
- Gehen Sie zu Systemadministration > Mail-Wartung und klicken Sie auf die Schaltfläche "Ausführen", um die Postfix-Mail-Routing-Tabellen neu zu generieren
- 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