doc/book/admin/migration.rst
author Philippe Pepiot <ph@itsalwaysdns.eu>
Tue, 31 Mar 2020 18:22:05 +0200
changeset 12966 6cd938c29ca3
parent 10491 c67bcee93248
permissions -rw-r--r--
[server] Make connection pooler configurable and set better default values Drop the configuration connections-pool-size and add new configurations options: * connections-pool-min-size. Set to 0 by default so we open connections only when needed. This avoid opening min-size*processes connections at startup, which is, it think, a good default. * connections-pool-max-size. Set to 0 (unlimited) by default, so we move the bottleneck to postgresql. * connections-idle-timeout. Set to 10 minutes. I don't have arguments about this except that this is the default in pgbouncer.

.. -*- coding: utf-8 -*-

Migrating cubicweb instances - benefits from a distributed architecture
=======================================================================

Migrate apache & cubicweb
-------------------------

**Aim** : do the migration for N cubicweb instances hosted on a server to another with no downtime.

**Prerequisites** : have an explicit definition of the database host (not default or localhost). In our case, the database is hosted on another host.

**Steps** :

1. *on new machine* : install your environment (*pseudocode*) ::

     apt-get install cubicweb cubicweb-applications apache2

2. *on old machine* : copy your cubicweb and apache configuration to the new machine ::

    scp /etc/cubicweb.d/ newmachine:/etc/cubicweb.d/
    scp /etc/apache2/sites-available/ newmachine:/etc/apache2/sites-available/

3. *on new machine* : start your instances ::

     cubicweb start

4. *on new machine* : enable sites and modules for apache and start it, test it using by modifying your /etc/host file.

5. change dns entry from your oldmachine to newmachine

6. shutdown your *old machine* (if it doesn't host other services or your database)

7. That's it.

**Possible enhancements** : use right from the start a pound server behind your apache, that way you can add backends and smoothily migrate by shuting down backends that pound will take into account.