Například z důvodu upgrade operačního systému (RHEL7→RHEL9) může být třeba migrovat aplikaci SOFiE ze starého serveru na nový a zachovat přitom data a konfiguraci aplikace. V takovém případě doporučujeme následující postup:
Nainstalujeme nový server s aktuálním podporovaným operačním systémem (např. RHEL9 a jeho kompatibilní klony).
Na novém serveru nainstalujeme novou aplikaci SOFiE. Je třeba mít stejnou verzi aplikace na starém i novém serveru.
Postup instalace viz https://wikisonpo.atlassian.net/wiki/spaces/SP/pages/887423004.
Nová instalace bude mít automaticky poslední vydanou verzi a starou instalaci tak může být třeba upgradovat či updatovat na tuto stejnou verzi. Postup viz https://wikisonpo.atlassian.net/wiki/spaces/SP/pages/2954100737.
Jako FQDN nové instalace zvolíme jiné, než u staré, aby nevznikl konflikt. Optimálně by mělo být ze sítě funkční, aby přes něj šlo vyzkoušet nový server. Po dokončení migrace se FQDN změní na staré a starou instalaci nahradí.
Při instalaci zvolíme lokální self-signed certifikát.
Na starém serveru nainstalujeme:
dnf install -y python-psycopg2 rsync
Na novém serveru nainstalujeme ansible a vygenerujeme SSH klíč pro připojení na starý server:
dnf install -y ansible rsync ssh-keygen -t rsa
Zkopírujeme vygenerovaný public SSH klíč /root/.ssh/id_rsa.pub z nového na starý server do /root/.ssh/authorized_keys.
Povolíme SSH spojení (22/tcp) z nového serveru na starý server.
Na novém serveru stáhneme ansible migrační playbooky:
wget https://install.sofie.cloud/latest/sofie_data_sync.yml wget https://install.sofie.cloud/latest/sofie_migrate.yml
Upravíme pro konkrétní instalaci proměnné v ansible playbookách. Zejména řádek “- hosts: source.server.address“ je třeba upravit tak, aby obsahoval skutečnou adresu starého serveru. Playbooky následně spustíme:
ansible-playbook -i <source.server.address>, sofie_data_sync.yml # nebo ansible-playbook -i <source.server.address>, sofie_migrate.yml
Parametr <source.server.address> musí být shodný, jako na řádku “- hosts: source.server.address“ v playbooku.
sofie_data_sync.yml - Synchronizuje pouze data v datastoru a je vhodný pro přípravu pro následnou migraci, aby se minimalizovala doba výpadku. Script lze pouštět opakovaně a vždy jsou přenesena jen data, která na novém serveru chybí. Pokud stará instalace obsahuje hodně dat, může tento krok (zejména při prvním spuštění) trvat delší dobu.
sofie_migrate.yml - Provede jak synchronizaci dat tak i databáze (a tím konfigurace) aplikace. Pokud byl předem spuštěn předchozí data sync, přenese jen chybějící data a bude tak rychlejší. Rovněž zastaví aplikaci na starém serveru a restartuje na novém.
Otestujeme novou instalaci na novém serveru, zda běží. Zatím na provizorním novém FQDN, takže nebude souhlasit licence a https bude mít lokální self-signed certifikát.
Následně upravíme FQDN nového serveru na původní staré FQDN:
sofie set-fqdn ftqd.domain.xy
Změníme v DNS záznam, aby odkazoval na nový server a nahradíme tak starý server.
Pokud používáme Let’s Encrypt certifikáty, obnovíme je na novém serveru:
sofie recreate-cert --le
Pokud používáme vlastní certifikát, zkopírujeme ho i s konfigurací z původního serveru.
(volitelně - pro nestandartní instalace) Upravíme nastavení antivirů v /etc/sofie/META-INF/microprofile-config.properties . Pokud je použito externí skenování spustíme ručně status těchto enginů a případně odsouhlasíme SSH spojení např.:
/opt/sofie-worker-scripts/scan_av.sh ESET status
Add Comment