Skip to content

Commit e113e4f

Browse files
roberson-iogithub-actions[bot]wiersgallakclaudesvelle
authored
Re-organize high availability cluster-based deployment docs (#8812)
* Re-organize high availability cluster-based deployment docs Restructure the HA deployment documentation to match admin workflow: - Add Preparation section with pre-deployment guidance - Add Deployment guide section with step-by-step instructions - Add Next steps section for scaling optimizations - Preserve Operations and maintenance section for advanced topics - Emphasize PostgreSQL hot_standby and hot_standby_feedback settings - Guide admins toward database configuration over config.json Closes #8811 Co-authored-by: Michael Roberson <roberson-io@users.noreply.github.com> * Address CodeRabbit and Copilot review feedback - NFS mounts: switch shared data directory examples from rw,soft,intr to rw,hard to prevent partial writes / file corruption during transient NFS outages. Drop deprecated intr option (no-op since kernel 2.6.25). Invert the note to frame hard as the safe default and soft as a documented availability tradeoff. - NGINX health checks: rewrite item 6 to accurately describe what max_fails=0 does (disables passive quarantining), note that per-request failover via proxy_next_upstream still works, and direct admins to external active health checks against /api/v4/system/ping. - Fix broken :doc: target deploy-mattermost-on-linux -> deploy-linux. - Section rename anchor fixes: update the URL fragment in enterprise-roll-out-checklist.rst (#proxy-server-configuration -> #proxy-server) and the :ref: targets in backing-storage-benchmarks.rst, environment-configuration-settings.rst, and manage/statistics.rst to match the new "File storage" and "Database" headings. - PostgreSQL replica/promote commands: replace the hardcoded /var/lib/postgresql/data with a DATA_DIR placeholder plus inline platform-specific paths (Ubuntu/Debian: /var/lib/postgresql/{version}/main, RHEL/CentOS: /var/lib/pgsql/{version}/data). Note that pg_basebackup requires the target data directory to be empty. - Fix UseIpAddress -> UseIPAddress casing for consistency with the canonical ClusterSettings.UseIPAddress key used elsewhere in the doc. - Correct the Amazon RDS / Aurora PostgreSQL configuration claim: both expose configuration through DB parameter groups (RDS) and DB cluster parameter groups (Aurora). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Fix repeated "availablility" typo in HA database ref labels Pre-existing typo flagged by CodeRabbit while reviewing the heading-rename ref-target updates from the previous commit. Three occurrences in the visible link label of cross-references to the HA deployment docs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Add replica sync check before manual failover promotion Promoting a replica that hasn't caught up with the primary loses any unreplayed WAL, so the procedure now verifies replication status first. --------- Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: Michael Roberson <roberson-io@users.noreply.github.com> Co-authored-by: Katie Wiersgalla <39744472+wiersgallak@users.noreply.github.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Co-authored-by: Sven Hüster <sven@mattermost.com>
1 parent 6b23cdf commit e113e4f

5 files changed

Lines changed: 996 additions & 324 deletions

File tree

source/administration-guide/configure/environment-configuration-settings.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -786,7 +786,7 @@ AWS High Availablity RDS cluster deployments
786786

787787
For an AWS High Availability RDS cluster deployment, point this configuration setting to the write/read endpoint at the **cluster**
788788
level to benefit from the AWS failover handling. AWS takes care of promoting different database nodes to be the writer node.
789-
Mattermost doesn't need to manage this. See the :ref:`high availablility database configuration <administration-guide/scale/high-availability-cluster-based-deployment:database configuration>` documentation for details.
789+
Mattermost doesn't need to manage this. See the :ref:`high availability database configuration <administration-guide/scale/high-availability-cluster-based-deployment:database>` documentation for details.
790790

791791
.. config:setting:: maximum-open-connections
792792
:displayname: Maximum open connections (Database)
@@ -1042,7 +1042,7 @@ Read replicas
10421042
AWS High Availability RDS cluster deployments
10431043
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
10441044

1045-
For an AWS High Availability RDS cluster deployment, point this configuration setting directly to the underlying read-only node endpoint within the RDS cluster to circumvent the failover/load balancing that AWS/RDS takes care of (except for the write traffic). Mattermost has its own method of balancing the read-only connections and can also balance those queries to the data source/write+read connection should those nodes fail. See the :ref:`high availablility database configuration <administration-guide/scale/high-availability-cluster-based-deployment:database configuration>` documentation for details.
1045+
For an AWS High Availability RDS cluster deployment, point this configuration setting directly to the underlying read-only node endpoint within the RDS cluster to circumvent the failover/load balancing that AWS/RDS takes care of (except for the write traffic). Mattermost has its own method of balancing the read-only connections and can also balance those queries to the data source/write+read connection should those nodes fail. See the :ref:`high availability database configuration <administration-guide/scale/high-availability-cluster-based-deployment:database>` documentation for details.
10461046

10471047
.. config:setting:: search-replicas
10481048
:displayname: Search replicas (Database)
@@ -1070,7 +1070,7 @@ Search replicas
10701070
AWS High Availability RDS cluster deployments
10711071
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
10721072

1073-
For an AWS High Availability RDS cluster deployment, point this configuration setting directly to the underlying read-only node endpoint within the RDS cluster to circumvent the failover/load balancing that AWS/RDS takes care of (except for the write traffic). Mattermost has its own method of balancing the read-only connections and can also balance those queries to the data source/write+read connection should those nodes fail. See the :ref:`high availablility database configuration <administration-guide/scale/high-availability-cluster-based-deployment:database configuration>` documentation for details.
1073+
For an AWS High Availability RDS cluster deployment, point this configuration setting directly to the underlying read-only node endpoint within the RDS cluster to circumvent the failover/load balancing that AWS/RDS takes care of (except for the write traffic). Mattermost has its own method of balancing the read-only connections and can also balance those queries to the data source/write+read connection should those nodes fail. See the :ref:`high availability database configuration <administration-guide/scale/high-availability-cluster-based-deployment:database>` documentation for details.
10741074

10751075
.. config:setting:: replica-lag-settings
10761076
:displayname: Replica lag settings (Database)

source/administration-guide/manage/statistics.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ Master DB Conns
7474
The number of active connections currently on your master database.
7575

7676
Replica DB Conns
77-
The number of active connections currently on one or more of :ref:`your read replica databases <administration-guide/scale/high-availability-cluster-based-deployment:database configuration>`.
77+
The number of active connections currently on one or more of :ref:`your read replica databases <administration-guide/scale/high-availability-cluster-based-deployment:database>`.
7878

7979
Total Playbooks
8080
The total number of collaborative playbooks on this server.

source/administration-guide/scale/backing-storage-benchmarks.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ Testing notes
7373

7474
- For S3 tests, :ref:`Amazon S3 exported upload part size <administration-guide/configure/environment-configuration-settings:amazon s3 upload part size>` was set to the default value (100MB).
7575
- Local EBS storage is the stock gp3 (3000 IOPS) provided by EC2 instances.
76-
- Both EBS and EFS solutions tested are considered ``local`` storage options from the application's perspective, where the :ref:`file storage system <administration-guide/configure/environment-configuration-settings:file storage system>` is set to ``local`` in both cases. EFS is essentially AWS's managed NFS, which enables it to serve as a potential alternative to S3 by allowing multiple Mattermost nodes in a high-availability (HA) deployment to share a common file system. In such HA scenarios, the standard local file storage (e.g., an EBS volume attached to a single instance) :ref:`is not suitable, as it can't be shared across multiple nodes <administration-guide/scale/high-availability-cluster-based-deployment:file storage configuration>`. EFS is a good alternative in this case, but EFS is not a block storage solution like EBS.
76+
- Both EBS and EFS solutions tested are considered ``local`` storage options from the application's perspective, where the :ref:`file storage system <administration-guide/configure/environment-configuration-settings:file storage system>` is set to ``local`` in both cases. EFS is essentially AWS's managed NFS, which enables it to serve as a potential alternative to S3 by allowing multiple Mattermost nodes in a high-availability (HA) deployment to share a common file system. In such HA scenarios, the standard local file storage (e.g., an EBS volume attached to a single instance) :ref:`is not suitable, as it can't be shared across multiple nodes <administration-guide/scale/high-availability-cluster-based-deployment:file storage>`. EFS is a good alternative in this case, but EFS is not a block storage solution like EBS.
7777

7878

7979
Supported storage options

0 commit comments

Comments
 (0)