gitlab-org--gitlab-foss/doc/administration/high_availability
Douwe Maan c07311d486 Merge branch 'jej-pages-to-ce' into 'master'
Adding GitLab Pages to CE

Closes #14605, gitlab-com/infrastructure#1058, gitlab-ee#1333, and #323

See merge request !8463
2017-02-06 18:20:38 +00:00
..
README.md Swap HA setups 2016-11-15 14:07:38 +01:00
database.md Add `gitlab_rails['auto_migrate'] = false` to HA docs for Redis/PG [ci skip] 2016-12-15 10:41:09 -06:00
gitlab.md Fix secret names in HA docs 2016-10-13 09:58:06 +01:00
load_balancer.md Move Pages docs to new location 2017-02-01 23:49:58 +00:00
nfs.md Map configuration to directory locations and add defaults to NFS HA doc. 2017-02-06 11:04:11 +01:00
redis.md Add `gitlab_rails['auto_migrate'] = false` to HA docs for Redis/PG [ci skip] 2016-12-15 10:41:09 -06:00
redis_source.md Remove ToC since it's now supported in the docs portal itself 2016-11-17 13:03:29 +01:00

README.md

High Availability

GitLab supports several different types of clustering and high-availability. The solution you choose will be based on the level of scalability and availability you require. The easiest solutions are scalable, but not necessarily highly available.

Architecture

There are two kinds of setups:

  • active/active
  • active/passive

Active/Active

This architecture scales easily because all application servers handle user requests simultaneously. The database, Redis, and GitLab application are all deployed on separate servers. The configuration is only highly-available if the database, Redis and storage are also configured as such.

Follow the steps below to configure an active/active setup:

  1. Configure the database
  2. Configure Redis
  3. Configure NFS
  4. Configure the GitLab application servers
  5. Configure the load balancers

Active/Active HA Diagram

Active/Passive

For pure high-availability/failover with no scaling you can use an active/passive configuration. This utilizes DRBD (Distributed Replicated Block Device) to keep all data in sync. DRBD requires a low latency link to remain in sync. It is not advisable to attempt to run DRBD between data centers or in different cloud availability zones.

Components/Servers Required: 2 servers/virtual machines (one active/one passive)

Active/Passive HA Diagram