Document toolboxDocument toolbox

Migrace SOFiE na nový server

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:

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:

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:

  • 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:

  • Pokud používáme vlastní certifikát, zkopírujeme ho i s konfigurací z původního serveru.

  • (volitelně - pro nestandardní 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ř.: