# How to use shared drive location for path.repo between linux and Windows machines in cluster?

**URL:** <https://discuss.elastic.co/t/how-to-use-shared-drive-location-for-path-repo-between-linux-and-windows-machines-in-cluster/173584>\
**Category:** Elasticsearch\
**Created:** [March 23, 2019, 9:03am UTC](https://discuss.elastic.co/t/how-to-use-shared-drive-location-for-path-repo-between-linux-and-windows-machines-in-cluster/173584 "2019-03-23T09:03:04Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Prashant\_Rana](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/prashant_rana/32/42952_2.png) [@Prashant\_Rana](https://discuss.elastic.co/u/Prashant_Rana)\
**Post date:** [March 23, 2019, 9:03am UTC](https://discuss.elastic.co/t/how-to-use-shared-drive-location-for-path-repo-between-linux-and-windows-machines-in-cluster/173584/1 "2019-03-23T09:03:04Z")

</div>

I am using a cluster of about 3-4 nodes in which Master is always a Windows machine.  
How can I use linux node in this setup with the shared drive in Windows to take the snapshot?

Is there any documentation for this?

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [March 23, 2019, 6:38pm UTC](https://discuss.elastic.co/t/how-to-use-shared-drive-location-for-path-repo-between-linux-and-windows-machines-in-cluster/173584/2 "2019-03-23T18:38:39Z")

</div>

I don't think there's a way to do this with a shared-filesystem repository. The path to the repository has to be the same across all machines, and the syntax of paths is different on Windows vs on Linux. Perhaps there's some kind of compatibility layer that might work but I don't really know.

More generally I don't think mixed-OS clusters are a supported configuration. I'm pretty sure it's not something that is tested. It's probably best to move onto a single OS if you can.

It is also possible that you could use the `repository-s3` plugin together with [Minio](https://www.elastic.co/guide/en/elasticsearch/plugins/6.7/repository-s3-client.html#repository-s3-compatible-services) to take snapshots in this cluster instead of using a shared-filesystem repository.

---

<div class="post-metadata">

**Author:** ![Prashant\_Rana](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/prashant_rana/32/42952_2.png) [@Prashant\_Rana](https://discuss.elastic.co/u/Prashant_Rana)\
**Post date:** [March 28, 2019, 6:17am UTC](https://discuss.elastic.co/t/how-to-use-shared-drive-location-for-path-repo-between-linux-and-windows-machines-in-cluster/173584/3 "2019-03-28T06:17:30Z")

</div>

Is there any other way to take a snapshot of a mixed-OS clusters? Also, is

**Shared-filesystem repository** is the only repository we can use for snapshot?

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [March 28, 2019, 6:24am UTC](https://discuss.elastic.co/t/how-to-use-shared-drive-location-for-path-repo-between-linux-and-windows-machines-in-cluster/173584/4 "2019-03-28T06:24:14Z")

</div>

There are [plugins available](https://www.elastic.co/guide/en/elasticsearch/plugins/current/repository.html) that allow you to take snapshots to S3, Google cloud storage, Azure cloud storage and HDFS.

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [March 28, 2019, 7:18am UTC](https://discuss.elastic.co/t/how-to-use-shared-drive-location-for-path-repo-between-linux-and-windows-machines-in-cluster/173584/5 "2019-03-28T07:18:28Z")

</div>

> [@Prashant\_Rana](#):
>
> Is there any other way to take a snapshot of a mixed-OS clusters?

Yes, I gave you one such suggestion already:

> [@DavidTurner](#):
>
> It is also possible that you could use the `repository-s3` plugin together with [Minio](https://www.elastic.co/guide/en/elasticsearch/plugins/6.7/repository-s3-client.html#repository-s3-compatible-services) to take snapshots in this cluster instead of using a shared-filesystem repository.

---

<div class="post-metadata">

**Author:** ![Prashant\_Rana](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/prashant_rana/32/42952_2.png) [@Prashant\_Rana](https://discuss.elastic.co/u/Prashant_Rana)\
**Post date:** [March 29, 2019, 6:08am UTC](https://discuss.elastic.co/t/how-to-use-shared-drive-location-for-path-repo-between-linux-and-windows-machines-in-cluster/173584/6 "2019-03-29T06:08:59Z")

</div>

Is there a way to take snapshot of a mixed Os cluster which is not connected to the Internet?

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [March 29, 2019, 6:09am UTC](https://discuss.elastic.co/t/how-to-use-shared-drive-location-for-path-repo-between-linux-and-windows-machines-in-cluster/173584/7 "2019-03-29T06:09:53Z")

</div>

Yes, you can use the `repository-s3` plugin together with [Minio](https://www.elastic.co/guide/en/elasticsearch/plugins/6.7/repository-s3-client.html#repository-s3-compatible-services).

---

<div class="post-metadata">

**Author:** ![Prashant\_Rana](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/prashant_rana/32/42952_2.png) [@Prashant\_Rana](https://discuss.elastic.co/u/Prashant_Rana)\
**Post date:** [April 5, 2019, 6:05am UTC](https://discuss.elastic.co/t/how-to-use-shared-drive-location-for-path-repo-between-linux-and-windows-machines-in-cluster/173584/8 "2019-04-05T06:05:02Z")

</div>

I have found out a workaround for taking snapshot in a mixed OS Cluster since I can't move to a single OS cluster. Please check and tell if it will create any issue.

- CreateRepo with verify as false in a repo that is accessible from the Master node

- Move the Index to be snapshot to the Master node using **index.routing.allocation.require.\_name** setting.

- Once all the shards have moved to Master Node, give CreateSnapshot command, Master node will create a snapshot in the created repository with all the shards.

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [April 5, 2019, 7:12am UTC](https://discuss.elastic.co/t/how-to-use-shared-drive-location-for-path-repo-between-linux-and-windows-machines-in-cluster/173584/9 "2019-04-05T07:12:10Z")

</div>

Or, you know, you could use the `repository-s3` plugin together with [Minio](https://www.elastic.co/guide/en/elasticsearch/plugins/6.7/repository-s3-client.html#repository-s3-compatible-services)! 🙂

I do not think your proposal works very reliably. You need to be sure that the _primary_ of the index is on the master, but there's no way to control where the primary is unless you remove all the replicas too. But this means that if the master node fails while you're taking a snapshot then you will have lost this whole index.

You will also be putting a bunch of extra load on your cluster moving data onto the master and then back again each time you want to make a snapshot. You will need to develop quite a complex system to do this extra work reliably, to make sure that you've taken a snapshot of everything that you wanted. You will have to account for all the possible failure modes (master re-election, node failure, etc. etc.) and be sure to correctly clean up afterwards.

---

<div class="post-metadata">

**Author:** ![Prashant\_Rana](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/prashant_rana/32/42952_2.png) [@Prashant\_Rana](https://discuss.elastic.co/u/Prashant_Rana)\
**Post date:** [April 5, 2019, 7:39am UTC](https://discuss.elastic.co/t/how-to-use-shared-drive-location-for-path-repo-between-linux-and-windows-machines-in-cluster/173584/10 "2019-04-05T07:39:33Z")

</div>

> You need to be sure that the _primary_ of the index is on the master, but there's no way to control where the primary is unless you remove all the replicas too.

I am removing the replicas of the particular index before moving the the shards to the master.

This workaround is still under testing. Will update if I face any issue.

Thank you for the response.

---

<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:** [May 3, 2019, 7:39am UTC](https://discuss.elastic.co/t/how-to-use-shared-drive-location-for-path-repo-between-linux-and-windows-machines-in-cluster/173584/11 "2019-05-03T07:39:35Z")

</div>

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