Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial Use Case Template #50

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions use-cases/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Use Cases

- [Object Store NAS Gateway Using MinIO](uc-object-store-nas-gateway-using-minio/README.md)

## Submitting a use case

- Submit a PR based on [template.md](template.md)
- Rename it to `README.md` and place it in a directory under a directory named
using the title of the document.
90 changes: 90 additions & 0 deletions use-cases/template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
---
title: Use Case Template
authors:
- "@janedoe"
owning-sig: sig-xxx
participating-sigs:
- sig-aaa
- sig-bbb
reviewers:
- TBD
- "@alicedoe"
approvers:
- TBD
- "@oscardoe"
editor: TBD
creation-date: yyyy-mm-dd
last-updated: yyyy-mm-dd
status: provisional|implementable|implemented|deferred|rejected|withdrawn|replaced
see-also:
- "/sig-aaa/20190101-we-heard-you-like-keps.md"
- "/sig-bbb/20190102-everyone-gets-a-kep.md"
replaces:
- "/sig-ccc/20181231-replaced-kep.md"
superseded-by:
- "/sig-xxx/20190104-superceding-kep.md"
---

# Use Case: USE CASE TITLE

<!-- REMOVE THIS COMMENT

- Keep the template simple and easy to read
- Link back to the appropriate section in the Storage Landscape paper when necessary
- Try to keep the text maximum column to less than 80
- Use GitHub Markdown format
- Feel free to add more sections at the end as needed

-->

A brief description about the use case

## Goals

## Non-goals

## Storage Landscape Summary

Below use :x: or :heavy_check_mark: for the _Recommended_ column, then add
brief notes. You may choose to add or remove information form the _Notes_
column for :x: storage stypes.

### [Storage Stacks](https://docs.google.com/document/d/1Cek8jJ2SPt4xx7Tnx7ih_m4DxzSimj_w26qYHnfrrRQ/edit#heading=h.baxsjwj26tbn)

| Storage Stack | Recommended | Notes |
| -------------- | :---------: | ----- |
| Centralised | :x: | ADD |
| Distributed | :x: | ADD |
| Sharded | :x: | ADD |
| Hyperconverged | :x: | ADD |

### [Block Stores](https://docs.google.com/document/d/1Cek8jJ2SPt4xx7Tnx7ih_m4DxzSimj_w26qYHnfrrRQ/edit#heading=h.tvi9orfkisq7)

| Block Stores | Recommended | Notes |
| ------------ | :---------: | ----- |
| Local | | |
| Remote | | |
| Distributed | | |

### [File Systems](https://docs.google.com/document/d/1Cek8jJ2SPt4xx7Tnx7ih_m4DxzSimj_w26qYHnfrrRQ/edit#heading=h.ysbf15wa3ar5)

| File Systems | Recommended | Notes |
| ------------ | :---------: | ----- |
| Local | | |
| Remote | | |
| Distributed | | |

### [Other Stores](https://docs.google.com/document/d/1Cek8jJ2SPt4xx7Tnx7ih_m4DxzSimj_w26qYHnfrrRQ/edit#heading=h.lrlu2fsu69n8)

| Stores | Recommended | Notes |
| --------------- | :---------: | ----- |
| Object Store | | |
| Key-Value Store | | |

## Other notes

## References

If any.

Links to application information and other style
99 changes: 99 additions & 0 deletions use-cases/uc-object-store-nas-gateway-using-minio/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
---
title: Object Store NAS Gateway Using MinIO
authors:
- "@lpabon"
owning-sig: sig-storage
reviewers:
- TBD
approvers:
- TBD
creation-date: 2019-11-13
last-updated: yyyy-mm-dd
status: deferred|rejected|withdrawn|replaced
---

# Use Case: Object Store NAS Gateway Using MinIO

This document describes a recommended storage model for deploying an
object store NAS gateway using [MinIO](https://min.io/). This model can be
used when there is a requirement to access files from both
[shared file system](https://docs.google.com/document/d/1Cek8jJ2SPt4xx7Tnx7ih_m4DxzSimj_w26qYHnfrrRQ/edit#heading=h.pbmybfjw6u9v)
and
[object store](https://docs.google.com/document/d/1Cek8jJ2SPt4xx7Tnx7ih_m4DxzSimj_w26qYHnfrrRQ/edit#heading=h.1y7m8ig3tq5o)
interfaces.

<!-- This table is created by the VSCode Markdown Addon -->
- [Use Case: Object Store NAS Gateway Using MinIO](#use-case-object-store-nas-gateway-using-minio)
- [Goals](#goals)
- [Non-goals](#non-goals)
- [Storage Landscape Summary](#storage-landscape-summary)
- [Storage Stacks](#storage-stacks)
- [Block Stores](#block-stores)
- [File Systems](#file-systems)
- [Other Stores](#other-stores)
- [References](#references)

## Goals

- Save files as object over the object store interface
- Load files over shared file system interface

## Non-goals

- A step-by-step model of how to accomplish this deployment
- Describe storage scalibility

## Storage Landscape Summary

### [Storage Stacks](https://docs.google.com/document/d/1Cek8jJ2SPt4xx7Tnx7ih_m4DxzSimj_w26qYHnfrrRQ/edit#heading=h.baxsjwj26tbn)

<!--
Alt-Shift-F in VSCode Markdown Addon to automatically size table width.
Not necessary
-->

| Storage Stack | Recommended | Notes |
| -------------- | :----------------: | -------------------------------------------------------------- |
| Centralised | :heavy_check_mark: | Shared storage is required |
| Distributed | :heavy_check_mark: | Shared storage is required |
| Sharded | :heavy_check_mark: | A shared centralised or distributed storage system is required |
| Hyperconverged | :heavy_check_mark: | Shared storage is required |

### [Block Stores](https://docs.google.com/document/d/1Cek8jJ2SPt4xx7Tnx7ih_m4DxzSimj_w26qYHnfrrRQ/edit#heading=h.tvi9orfkisq7)

All of the following block stores will require a file system on top
of the block device and a service to share the volume to other systems.
It is also highly recommended that the block volume has an appropriate
[durability](https://docs.google.com/document/d/1Cek8jJ2SPt4xx7Tnx7ih_m4DxzSimj_w26qYHnfrrRQ/edit#heading=h.dh09gq1vn6a7)
model.

| Block Stores | Recommended | Notes |
| ------------ | :----------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Local | :heavy_check_mark: | |
| Remote | :heavy_check_mark: | It will also provide more application up-time since it can connect and reconnect from one node to another, for example, in a virtual machine or in Kubernetes. |
| Distributed | :heavy_check_mark: | |

### [File Systems](https://docs.google.com/document/d/1Cek8jJ2SPt4xx7Tnx7ih_m4DxzSimj_w26qYHnfrrRQ/edit#heading=h.ysbf15wa3ar5)

It is highly recommended that the file system volume has an appropriate
[durability](https://docs.google.com/document/d/1Cek8jJ2SPt4xx7Tnx7ih_m4DxzSimj_w26qYHnfrrRQ/edit#heading=h.dh09gq1vn6a7)
model.

| File Systems | Recommended | Notes |
| ------------ | :----------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Local | :heavy_check_mark: | Will require a service to allow clients to access the file system over the network |
| Remote | :heavy_check_mark: | Service to allow clients to access already provided by storage system. It will also provide more application up-time since it can connect and reconnect from one node to another, for example, in a virtual machine or in Kubernetes. |
| Distributed | :heavy_check_mark: | |

### [Other Stores](https://docs.google.com/document/d/1Cek8jJ2SPt4xx7Tnx7ih_m4DxzSimj_w26qYHnfrrRQ/edit#heading=h.lrlu2fsu69n8)

The following stores cannot be used in this use case.

| Stores | Recommended | Notes |
| --------------- | :---------: | ----- |
| Object Store | :x: | |
| Key-Value Store | :x: | |

## References

- [MinIO NAS Gateway](https://docs.min.io/docs/minio-gateway-for-nas.html)