# Snapshot & Restore on Windows can not access directory

**URL:** <https://discuss.elastic.co/t/snapshot-restore-on-windows-can-not-access-directory/257472>\
**Category:** Elasticsearch\
**Created:** [December 3, 2020, 8:50am UTC](https://discuss.elastic.co/t/snapshot-restore-on-windows-can-not-access-directory/257472 "2020-12-03T08:50:09Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![azeiner](https://avatars.discourse-cdn.com/v4/letter/a/e19b73/32.png) [@azeiner](https://discuss.elastic.co/u/azeiner)\
**Post date:** [December 3, 2020, 8:50am UTC](https://discuss.elastic.co/t/snapshot-restore-on-windows-can-not-access-directory/257472/1 "2020-12-03T08:50:09Z")

</div>

We've got a 3 Node Elastic Cluster on Windows 10 (Customer Request) and i would like to configure the snapshot restore ability for the cluster.  
What i've done is to create a share on one of the Node (seperate Harddisk), made it available so "Everybody" has Full Access, mounted it on the Nodes as "X:" and tried to configure it in the elasticsearch.yml the following ways as described [here](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/snapshots-register-repository.html#snapshots-filesystem-repository) without any success. I always get the following Stacktrace

```auto
[2020-12-03T08:29:47,183][ERROR][o.e.b.Bootstrap] [Discovery] Exception
java.lang.IllegalStateException: Unable to access 'path.repo' (X:\Snapshots)
	at org.elasticsearch.bootstrap.FilePermissionUtils.addDirectoryPath(FilePermissionUtils.java:72) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Security.addFilePermissions(Security.java:322) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Security.createPermissions(Security.java:253) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Security.configure(Security.java:121) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:222) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:393) [elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:170) [elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:161) [elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) [elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:127) [elasticsearch-cli-7.10.0.jar:7.10.0]
	at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-cli-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:126) [elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) [elasticsearch-7.10.0.jar:7.10.0]
Caused by: java.nio.file.FileSystemException: X:\Snapshots: Unable to determine if root directory exists
	at java.nio.file.Files.createDirectories(Files.java:776) ~[?:?]
	at org.elasticsearch.bootstrap.Security.ensureDirectoryExists(Security.java:398) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.FilePermissionUtils.addDirectoryPath(FilePermissionUtils.java:70) ~[elasticsearch-7.10.0.jar:7.10.0]
	... 12 more
[2020-12-03T08:29:47,199][ERROR][o.e.b.ElasticsearchUncaughtExceptionHandler] [Discovery] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: Unable to access 'path.repo' (X:\Snapshots)
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:174) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:161) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:127) ~[elasticsearch-cli-7.10.0.jar:7.10.0]
	at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:126) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-7.10.0.jar:7.10.0]
Caused by: java.lang.IllegalStateException: Unable to access 'path.repo' (X:\Snapshots)
	at org.elasticsearch.bootstrap.FilePermissionUtils.addDirectoryPath(FilePermissionUtils.java:72) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Security.addFilePermissions(Security.java:322) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Security.createPermissions(Security.java:253) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Security.configure(Security.java:121) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:222) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:393) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:170) ~[elasticsearch-7.10.0.jar:7.10.0]
	... 6 more
Caused by: java.nio.file.FileSystemException: X:\Snapshots: Unable to determine if root directory exists
	at java.nio.file.Files.createDirectories(Files.java:776) ~[?:?]
	at org.elasticsearch.bootstrap.Security.ensureDirectoryExists(Security.java:398) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.FilePermissionUtils.addDirectoryPath(FilePermissionUtils.java:70) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Security.addFilePermissions(Security.java:322) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Security.createPermissions(Security.java:253) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Security.configure(Security.java:121) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:222) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:393) ~[elasticsearch-7.10.0.jar:7.10.0]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:170) ~[elasticsearch-7.10.0.jar:7.10.0]
	... 6 more

```

I've read pretty much everything in this forum but nothing really worked out ...

I tried:

```auto
path:
    data: "D:\\data"
    logs: "D:\\logs"
    repo: ["X:\\"]

```

```auto
path:
    data: "D:\\data"
    logs: "D:\\logs"
    repo: ["\\\\McCoy\\Repo"] // McCoy is the Node where the Drive is mounted and accessible via Explorer

```

```auto
path:
    data: "D:\\data"
    logs: "D:\\logs"
    repo: ["\\\\Scotty\\Repo"] // Scotty is the Node where the Drive is mounted and accessible via Explorer

```

```auto
path:
    data: "D:\\data"
    logs: "D:\\logs"
    repo: "\\\\Scotty\\Repo"

```

Everytime the same stacktrace - i'm starting Elasticsearch 7.10.0 as Service ...

When i mount the Drive on the "chekov" Node it works, very likely because it's a local drive ...

Has anybody a hint what i could try or change?

EDIT: Firewalls are all off, Sharing Data is enabled on every machine! The Share is accessible with the Systemuser, the same the Elastic Service is running

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [December 3, 2020, 9:45am UTC](https://discuss.elastic.co/t/snapshot-restore-on-windows-can-not-access-directory/257472/2 "2020-12-03T09:45:37Z")

</div>

I _think_ that on windows you can use something like:

```auto
path.repo: ["//X/"]

```

Not sure though.

---

<div class="post-metadata">

**Author:** ![azeiner](https://avatars.discourse-cdn.com/v4/letter/a/e19b73/32.png) [@azeiner](https://discuss.elastic.co/u/azeiner)\
**Post date:** [December 3, 2020, 10:07am UTC](https://discuss.elastic.co/t/snapshot-restore-on-windows-can-not-access-directory/257472/3 "2020-12-03T10:07:49Z")

</div>

Hi David, i found the problem, it's the SERVICE - starting Elasticsearch as elasticsearch.bat workes perfect ... so i will try to reinstall the Services and try again ...

My last settings are:

```auto
path:
  data: "D:\\Data"
  logs: "D:\\logs"
  repo: "Z:\\Backup"

```

Seems this is working, just for those who have the same problem ... windows ...

---

<div class="post-metadata">

**Author:** ![azeiner](https://avatars.discourse-cdn.com/v4/letter/a/e19b73/32.png) [@azeiner](https://discuss.elastic.co/u/azeiner)\
**Post date:** [December 17, 2020, 8:04am UTC](https://discuss.elastic.co/t/snapshot-restore-on-windows-can-not-access-directory/257472/4 "2020-12-17T08:04:23Z")

</div>

I've reinstalled the services without success - so the problem is when starting elasticsearch as service and having mounted whatever networkdrive there is always the same error:  
\>  
\> [2020-12-17T08:54:49,553][ERROR][o.e.b.Bootstrap] [Enterprise] Exception  
\> java.lang.IllegalStateException: Unable to access 'path.repo' (Z:\Backup)  
\> at org.elasticsearch.bootstrap.FilePermissionUtils.addDirectoryPath(FilePermissionUtils.java:72) ~[elasticsearch-7.10.0.jar:7.10.0]  
\> at org.elasticsearch.bootstrap.Security.addFilePermissions(Security.java:322) ~[elasticsearch-7.10.0.jar:7.10.0]  
\> at org.elasticsearch.bootstrap.Security.createPermissions(Security.java:253) ~[elasticsearch-7.10.0.jar:7.10.0]  
\> at org.elasticsearch.bootstrap.Security.configure(Security.java:121) ~[elasticsearch-7.10.0.jar:7.10.0]  
\> at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:222) ~[elasticsearch-7.10.0.jar:7.10.0]  
\> at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:393) [elasticsearch-7.10.0.jar:7.10.0]  
\> at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:170) [elasticsearch-7.10.0.jar:7.10.0]  
\> at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:161) [elasticsearch-7.10.0.jar:7.10.0]  
\> at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) [elasticsearch-7.10.0.jar:7.10.0]  
\> at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:127) [elasticsearch-cli-7.10.0.jar:7.10.0]  
\> at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-cli-7.10.0.jar:7.10.0]  
\> at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:126) [elasticsearch-7.10.0.jar:7.10.0]  
\> at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) [elasticsearch-7.10.0.jar:7.10.0]  
\> Caused by: java.nio.file.FileSystemException: Z:\Backup: Unable to determine if root directory exists  
\> at java.nio.file.Files.createDirectories(Files.java:776) ~[?:?]  
\> at org.elasticsearch.bootstrap.Security.ensureDirectoryExists(Security.java:398) ~[elasticsearch-7.10.0.jar:7.10.0]  
\> at org.elasticsearch.bootstrap.FilePermissionUtils.addDirectoryPath(FilePermissionUtils.java:70) ~[elasticsearch-7.10.0.jar:7.10.0]  
\> ... 12 more

Starting Elasticsearch as .bat file with the same user as the service would start works.

Has anybody an idea how to solve this problem? Of course we could put Elasticsearch into the autostart file but this is more a hack than a solution.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [January 14, 2021, 8:04am UTC](https://discuss.elastic.co/t/snapshot-restore-on-windows-can-not-access-directory/257472/5 "2021-01-14T08:04:48Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
