Commit 358d982f authored by Ben Prescott's avatar Ben Prescott

Gitaly and NFS - consistency

- NFS page: make NFS/Gitaly depreciation consistent
- The reference archicture pages also have the old deprecation warning
- highlight lookupcache=positive
- start to document specific known misbehaviour
parent f8cc7849
...@@ -25,10 +25,9 @@ repository access for GitLab. Other types of GitLab data aren't accessed using G ...@@ -25,10 +25,9 @@ repository access for GitLab. Other types of GitLab data aren't accessed using G
<!-- vale gitlab.FutureTense = NO --> <!-- vale gitlab.FutureTense = NO -->
WARNING: WARNING:
From GitLab 13.0, Gitaly support for NFS is deprecated. As of GitLab 14.0, NFS-related issues From GitLab 14.0, enhancements and bug fixes for NFS for Git repositories will no longer be
with Gitaly will no longer be addressed. Upgrade to [Gitaly Cluster](praefect.md) as soon as considered and customer technical support will be considered out of scope.
possible. Tools to [enable bulk moves](https://gitlab.com/groups/gitlab-org/-/epics/4916) [Read more about Gitaly and NFS](#nfs-deprecation-notice).
of projects to Gitaly Cluster are planned.
<!-- vale gitlab.FutureTense = YES --> <!-- vale gitlab.FutureTense = YES -->
...@@ -1073,6 +1072,28 @@ There are two facets to our efforts to remove direct Git access in GitLab: ...@@ -1073,6 +1072,28 @@ There are two facets to our efforts to remove direct Git access in GitLab:
The second facet presents the only real solution. For this, we developed The second facet presents the only real solution. For this, we developed
[Gitaly Cluster](praefect.md). [Gitaly Cluster](praefect.md).
## NFS deprecation notice
<!-- vale gitlab.FutureTense = NO -->
From GitLab 14.0, enhancements and bug fixes for NFS for Git repositories will no longer be
considered and customer technical support will be considered out of scope.
Additional information:
- [Recommended NFS mount options and known issues with Gitaly and NFS](../nfs.md#upgrade-to-gitaly-cluster-or-disable-caching-if-experiencing-data-loss).
- [GitLab statement of support](https://about.gitlab.com/support/statement-of-support.html#gitaly-and-nfs).
<!-- vale gitlab.FutureTense = YES -->
GitLab recommends:
- Creating a [Gitaly Cluster](praefect.md) as soon as possible.
- [Moving your projects](praefect.md#migrate-existing-repositories-to-gitaly-cluster) from NFS-based
storage to the Gitaly Cluster.
We welcome your feedback on this process: raise a support ticket, or [comment on the epic](https://gitlab.com/groups/gitlab-org/-/epics/4916).
## Troubleshooting Gitaly ## Troubleshooting Gitaly
Check [Gitaly timeouts](../../user/admin_area/settings/gitaly_timeouts.md) when troubleshooting Check [Gitaly timeouts](../../user/admin_area/settings/gitaly_timeouts.md) when troubleshooting
......
...@@ -14,17 +14,19 @@ Pages](https://gitlab.com/gitlab-org/gitlab-pages/-/issues/196). ...@@ -14,17 +14,19 @@ Pages](https://gitlab.com/gitlab-org/gitlab-pages/-/issues/196).
For data objects such as LFS, Uploads, Artifacts, etc., an [Object Storage service](object_storage.md) For data objects such as LFS, Uploads, Artifacts, etc., an [Object Storage service](object_storage.md)
is recommended over NFS where possible, due to better performance. is recommended over NFS where possible, due to better performance.
WARNING:
From GitLab 13.0, using NFS for Git repositories is deprecated.
From GitLab 14.0, technical support for NFS for Git repositories
will no longer be provided. Upgrade to [Gitaly Cluster](gitaly/praefect.md)
as soon as possible.
File system performance can impact overall GitLab performance, especially for File system performance can impact overall GitLab performance, especially for
actions that read or write to Git repositories. For steps you can use to test actions that read or write to Git repositories. For steps you can use to test
file system performance, see file system performance, see
[File system Performance Benchmarking](operations/filesystem_benchmarking.md). [File system Performance Benchmarking](operations/filesystem_benchmarking.md).
## Gitaly and NFS deprecation
WARNING:
From GitLab 14.0, enhancements and bug fixes for NFS for Git repositories will no longer be
considered and customer technical support will be considered out of scope.
[Read more about Gitaly and NFS](gitaly/index.md#nfs-deprecation-notice) and
[the correct mount options to use](#upgrade-to-gitaly-cluster-or-disable-caching-if-experiencing-data-loss).
## Known kernel version incompatibilities ## Known kernel version incompatibilities
RedHat Enterprise Linux (RHEL) and CentOS v7.7 and v7.8 ship with kernel RedHat Enterprise Linux (RHEL) and CentOS v7.7 and v7.8 ship with kernel
...@@ -346,12 +348,18 @@ sudo ufw allow from <client_ip_address> to any port nfs ...@@ -346,12 +348,18 @@ sudo ufw allow from <client_ip_address> to any port nfs
### Upgrade to Gitaly Cluster or disable caching if experiencing data loss ### Upgrade to Gitaly Cluster or disable caching if experiencing data loss
WARNING: WARNING:
From GitLab 13.0, using NFS for Git repositories is deprecated. In GitLab 14.0, From GitLab 13.0, using NFS for Git repositories is deprecated.
support for NFS for Git repositories is scheduled to be removed. Upgrade to As of GitLab 14.0, NFS-related issues with Gitaly will no longer be addressed. Read
[Gitaly Cluster](gitaly/praefect.md) as soon as possible. more about [Gitaly and NFS deprecation](gitaly/index.md#nfs-deprecation-notice).
Customers and users have reported data loss on high-traffic repositories when using NFS for Git repositories. Customers and users have reported data loss on high-traffic repositories when using NFS for Git repositories.
For example, we have seen [inconsistent updates after a push](https://gitlab.com/gitlab-org/gitaly/-/issues/2589). The problem may be partially mitigated by adjusting caching using the following NFS client mount options: For example, we have seen:
- [Inconsistent updates after a push](https://gitlab.com/gitlab-org/gitaly/-/issues/2589).
- `git ls-remote` [returning the wrong (or no branches)](https://gitlab.com/gitlab-org/gitaly/-/issues/3083)
causing Jenkins to intermittently re-run all pipelines for a repository.
The problem may be partially mitigated by adjusting caching using the following NFS client mount options:
| Setting | Description | | Setting | Description |
| ------- | ----------- | | ------- | ----------- |
...@@ -362,7 +370,7 @@ For example, we have seen [inconsistent updates after a push](https://gitlab.com ...@@ -362,7 +370,7 @@ For example, we have seen [inconsistent updates after a push](https://gitlab.com
WARNING: WARNING:
The `actimeo=0` and `noac` options both result in a significant reduction in performance, possibly leading to timeouts. The `actimeo=0` and `noac` options both result in a significant reduction in performance, possibly leading to timeouts.
You may be able to avoid timeouts and data loss using `actimeo=0` and `lookupcache=positive` _without_ `noac`, however You may be able to avoid timeouts and data loss using `actimeo=0` and `lookupcache=positive` _without_ `noac`, however
we expect the performance reduction will still be significant. As noted above, we strongly recommend upgrading to we expect the performance reduction will still be significant. Upgrade to
[Gitaly Cluster](gitaly/praefect.md) as soon as possible. [Gitaly Cluster](gitaly/praefect.md) as soon as possible.
### Avoid using AWS's Elastic File System (EFS) ### Avoid using AWS's Elastic File System (EFS)
......
...@@ -2338,10 +2338,10 @@ to use GitLab Pages, this currently [requires NFS](troubleshooting.md#gitlab-pag ...@@ -2338,10 +2338,10 @@ to use GitLab Pages, this currently [requires NFS](troubleshooting.md#gitlab-pag
See how to [configure NFS](../nfs.md). See how to [configure NFS](../nfs.md).
WARNING: WARNING:
From GitLab 13.0, using NFS for Git repositories is deprecated. From GitLab 14.0, enhancements and bug fixes for NFS for Git repositories will no longer be
From GitLab 14.0, technical support for NFS for Git repositories considered and customer technical support will be considered out of scope.
will no longer be provided. Upgrade to [Gitaly Cluster](../gitaly/praefect.md) [Read more about Gitaly and NFS](../gitaly/index.md#nfs-deprecation-notice) and
as soon as possible. [the correct mount options to use](../nfs.md#upgrade-to-gitaly-cluster-or-disable-caching-if-experiencing-data-loss).
<div align="right"> <div align="right">
<a type="button" class="btn btn-default" href="#setup-components"> <a type="button" class="btn btn-default" href="#setup-components">
......
...@@ -2037,10 +2037,10 @@ to use GitLab Pages, this currently [requires NFS](troubleshooting.md#gitlab-pag ...@@ -2037,10 +2037,10 @@ to use GitLab Pages, this currently [requires NFS](troubleshooting.md#gitlab-pag
See how to [configure NFS](../nfs.md). See how to [configure NFS](../nfs.md).
WARNING: WARNING:
From GitLab 13.0, using NFS for Git repositories is deprecated. From GitLab 14.0, enhancements and bug fixes for NFS for Git repositories will no longer be
From GitLab 14.0, technical support for NFS for Git repositories considered and customer technical support will be considered out of scope.
will no longer be provided. Upgrade to [Gitaly Cluster](../gitaly/praefect.md) [Read more about Gitaly and NFS](../gitaly/index.md#nfs-deprecation-notice) and
as soon as possible. [the correct mount options to use](../nfs.md#upgrade-to-gitaly-cluster-or-disable-caching-if-experiencing-data-loss).
<div align="right"> <div align="right">
<a type="button" class="btn btn-default" href="#setup-components"> <a type="button" class="btn btn-default" href="#setup-components">
......
...@@ -956,10 +956,10 @@ possible. However, if you intend to use GitLab Pages, ...@@ -956,10 +956,10 @@ possible. However, if you intend to use GitLab Pages,
See how to [configure NFS](../nfs.md). See how to [configure NFS](../nfs.md).
WARNING: WARNING:
From GitLab 13.0, using NFS for Git repositories is deprecated. From GitLab 14.0, enhancements and bug fixes for NFS for Git repositories will no longer be
From GitLab 14.0, technical support for NFS for Git repositories considered and customer technical support will be considered out of scope.
will no longer be provided. Upgrade to [Gitaly Cluster](../gitaly/praefect.md) [Read more about Gitaly and NFS](../gitaly/index.md#nfs-deprecation-notice) and
as soon as possible. [the correct mount options to use](../nfs.md#upgrade-to-gitaly-cluster-or-disable-caching-if-experiencing-data-loss).
<div align="right"> <div align="right">
<a type="button" class="btn btn-default" href="#setup-components"> <a type="button" class="btn btn-default" href="#setup-components">
......
...@@ -1733,10 +1733,10 @@ to use GitLab Pages, this currently [requires NFS](troubleshooting.md#gitlab-pag ...@@ -1733,10 +1733,10 @@ to use GitLab Pages, this currently [requires NFS](troubleshooting.md#gitlab-pag
See how to [configure NFS](../nfs.md). See how to [configure NFS](../nfs.md).
WARNING: WARNING:
From GitLab 13.0, using NFS for Git repositories is deprecated. From GitLab 14.0, enhancements and bug fixes for NFS for Git repositories will no longer be
From GitLab 14.0, technical support for NFS for Git repositories considered and customer technical support will be considered out of scope.
will no longer be provided. Upgrade to [Gitaly Cluster](../gitaly/praefect.md) [Read more about Gitaly and NFS](../gitaly/index.md#nfs-deprecation-notice) and
as soon as possible. [the correct mount options to use](../nfs.md#upgrade-to-gitaly-cluster-or-disable-caching-if-experiencing-data-loss).
<div align="right"> <div align="right">
<a type="button" class="btn btn-default" href="#setup-components"> <a type="button" class="btn btn-default" href="#setup-components">
......
...@@ -2037,10 +2037,10 @@ to use GitLab Pages, this currently [requires NFS](troubleshooting.md#gitlab-pag ...@@ -2037,10 +2037,10 @@ to use GitLab Pages, this currently [requires NFS](troubleshooting.md#gitlab-pag
See how to [configure NFS](../nfs.md). See how to [configure NFS](../nfs.md).
WARNING: WARNING:
From GitLab 13.0, using NFS for Git repositories is deprecated. From GitLab 14.0, enhancements and bug fixes for NFS for Git repositories will no longer be
From GitLab 14.0, technical support for NFS for Git repositories considered and customer technical support will be considered out of scope.
will no longer be provided. Upgrade to [Gitaly Cluster](../gitaly/praefect.md) [Read more about Gitaly and NFS](../gitaly/index.md#nfs-deprecation-notice) and
as soon as possible. [the correct mount options to use](../nfs.md#upgrade-to-gitaly-cluster-or-disable-caching-if-experiencing-data-loss).
<div align="right"> <div align="right">
<a type="button" class="btn btn-default" href="#setup-components"> <a type="button" class="btn btn-default" href="#setup-components">
......
...@@ -1729,10 +1729,10 @@ to use GitLab Pages, this currently [requires NFS](troubleshooting.md#gitlab-pag ...@@ -1729,10 +1729,10 @@ to use GitLab Pages, this currently [requires NFS](troubleshooting.md#gitlab-pag
See how to [configure NFS](../nfs.md). See how to [configure NFS](../nfs.md).
WARNING: WARNING:
From GitLab 13.0, using NFS for Git repositories is deprecated. From GitLab 14.0, enhancements and bug fixes for NFS for Git repositories will no longer be
From GitLab 14.0, technical support for NFS for Git repositories considered and customer technical support will be considered out of scope.
will no longer be provided. Upgrade to [Gitaly Cluster](../gitaly/praefect.md) [Read more about Gitaly and NFS](../gitaly/index.md#nfs-deprecation-notice) and
as soon as possible. [the correct mount options to use](../nfs.md#upgrade-to-gitaly-cluster-or-disable-caching-if-experiencing-data-loss).
<div align="right"> <div align="right">
<a type="button" class="btn btn-default" href="#setup-components"> <a type="button" class="btn btn-default" href="#setup-components">
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment