From a07d9379d9e1de2ad03c888ec01bd90ef664ecb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Pab=C3=B3n?= Date: Wed, 13 Nov 2019 10:26:12 -0500 Subject: [PATCH] Initial Use Case Template MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Luis Pabón --- use-cases/README.md | 9 ++ use-cases/template.md | 90 +++++++++++++++++ .../README.md | 99 +++++++++++++++++++ 3 files changed, 198 insertions(+) create mode 100644 use-cases/README.md create mode 100644 use-cases/template.md create mode 100644 use-cases/uc-object-store-nas-gateway-using-minio/README.md diff --git a/use-cases/README.md b/use-cases/README.md new file mode 100644 index 0000000..44bf009 --- /dev/null +++ b/use-cases/README.md @@ -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. diff --git a/use-cases/template.md b/use-cases/template.md new file mode 100644 index 0000000..2638130 --- /dev/null +++ b/use-cases/template.md @@ -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 + + + +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 diff --git a/use-cases/uc-object-store-nas-gateway-using-minio/README.md b/use-cases/uc-object-store-nas-gateway-using-minio/README.md new file mode 100644 index 0000000..301010b --- /dev/null +++ b/use-cases/uc-object-store-nas-gateway-using-minio/README.md @@ -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. + + +- [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) + + + +| 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)