# Shared Backend Minio Quickstart Guide [![Slack](https://slack.minio.io/slack?type=svg)](https://slack.minio.io) [![Go Report Card](https://goreportcard.com/badge/minio/minio)](https://goreportcard.com/report/minio/minio) [![Docker Pulls](https://img.shields.io/docker/pulls/minio/minio.svg?maxAge=604800)](https://hub.docker.com/r/minio/minio/) [![codecov](https://codecov.io/gh/minio/minio/branch/master/graph/badge.svg)](https://codecov.io/gh/minio/minio) Minio now supports shared backend across multiple instances. This solves certain specific use cases. ## Use Cases - Minio on NAS - Minio on Distributed Filesystems - Multi-user Shared Backend. ## Why Minio On Shared Backend? This feature allows Minio to serve a shared NAS drive across multiple Minio instances. There are no special configuration changes required to enable this feature. Access to files stored on NAS volume are locked and synchronized by default. # Get started If you're aware of stand-alone Minio set up, the installation and running remains the same. ## 1. Prerequisites Install Minio - [Minio Quickstart Guide](https://docs.minio.io/docs/minio). ## 2. Run Minio On Shared Backend Below examples will clarify further for each operating system of your choice: ### Ubuntu 16.04 LTS Run the following commands on all the object storage gateway servers where your NAS volume is accessible. By explicitly passing access and secret keys through the environment variable you make sure that all the gateway servers share the same key across. Example 1: Start Minio instance on a shared backend mounted and available at `/mnt/nfs`. On linux server1 ```sh minio server /mnt/nfs ``` On linux server2 ```sh minio server /mnt/nfs ``` ### Windows 2012 Server Run the following commands on all the object storage gateway servers where your NAS volume is accessible. By explicitly passing access and secret keys through the environment variable you make sure that all the gateway servers share the same key across. Example 1: Start Minio instance on a shared backend mounted and available at `\\remote-server\smb`. On windows server1 ```cmd set MINIO_ACCESS_KEY=my-username set MINIO_SECRET_KEY=my-password minio.exe server \\remote-server\smb\export ``` On windows server2 ```cmd set MINIO_ACCESS_KEY=my-username set MINIO_SECRET_KEY=my-password minio.exe server \\remote-server\smb\export ``` Alternatively if `\\remote-server\smb` is mounted as `M:\` drive. On windows server1 ```cmd set MINIO_ACCESS_KEY=my-username set MINIO_SECRET_KEY=my-password net use m: \\remote-server\smb\export /P:Yes minio.exe server M:\export ``` On windows server2 ```cmd set MINIO_ACCESS_KEY=my-username set MINIO_SECRET_KEY=my-password net use m: \\remote-server\smb\export /P:Yes minio.exe server M:\export ``` ## 3. Test your setup To test this setup, access the Minio server via browser or [`mc`](https://docs.minio.io/docs/minio-client-quickstart-guide). You’ll see the uploaded files are accessible from the node2 endpoint as well. ## Explore Further - [Use `mc` with Minio Server](https://docs.minio.io/docs/minio-client-quickstart-guide) - [Use `aws-cli` with Minio Server](https://docs.minio.io/docs/aws-cli-with-minio) - [Use `s3cmd` with Minio Server](https://docs.minio.io/docs/s3cmd-with-minio) - [Use `minio-go` SDK with Minio Server](https://docs.minio.io/docs/golang-client-quickstart-guide) - [The Minio documentation website](https://docs.minio.io)