[[snapshots-filesystem-repository]]
=== Shared file system repository

include::{es-repo-dir}/snapshot-restore/on-prem-repo-type.asciidoc[]

Use a shared file system repository to store snapshots on a
shared file system.

To register a shared file system repository, first mount the file system to the
same location on all master and data nodes. Then add the file system's
path or parent directory to the `path.repo` setting in `elasticsearch.yml` for
each master and data node. For running clusters, this requires a
<<restart-cluster-rolling,rolling restart>> of each node.

IMPORTANT: By default, a network file system (NFS) uses user IDs (UIDs) and
group IDs (GIDs) to match accounts across nodes. If your shared file system is
an NFS and your nodes don't use the same UIDs and GIDs, update your NFS
configuration to account for this.

Supported `path.repo` values vary by platform:

include::{es-repo-dir}/tab-widgets/register-fs-repo-widget.asciidoc[]

[[filesystem-repository-settings]]
==== Repository settings

`chunk_size`::
(Optional, <<byte-units,byte value>>)
Maximum size of files in snapshots. In snapshots, files larger than this are
broken down into chunks of this size or smaller. Defaults to `null` (unlimited
file size).

`compress`::
(Optional, Boolean)
If `true`, metadata files, such as index mappings and settings, are compressed
in snapshots. Data files are not compressed. Defaults to `true`.

`location`::
(Required, string)
Location of the shared filesystem used to store and retrieve snapshots. This
location must be registered in the `path.repo` setting on all master and data
nodes in the cluster.

`max_number_of_snapshots`::
(Optional, integer)
Maximum number of snapshots the repository can contain.
Defaults to `Integer.MAX_VALUE`, which is `2^31-1` or `2147483647`.

include::repository-shared-settings.asciidoc[]
