From 204ec2c6c003132ee7d82bedf85d4d199e4f894f Mon Sep 17 00:00:00 2001 From: koolhead17 Date: Fri, 15 Jul 2016 15:03:59 -0700 Subject: [PATCH] doc:README.md/Updated to sync with docs.minio.io (#2210) * doc:README.md/Updated to sync with docs.minio.io * doc:README.me/Modified the minio server output terminal to reflect new release changes. * docs:README.md/Modified and changed location of other markdown files. --- Minio_Browser.png | Bin 0 -> 101693 bytes README.md | 342 ++++++++------------ AWS-SDK-GO.md => docs/AWS-SDK-GO.md | 0 Caddy.md => docs/Caddy.md | 0 Docker.md => docs/Docker.md | 0 docs/Erasure_Code.svg | 1 + INSTALLGO.md => docs/INSTALLGO.md | 0 docs/Minio-erasure-code-quickStart-guide.md | 44 +++ 8 files changed, 171 insertions(+), 216 deletions(-) create mode 100644 Minio_Browser.png rename AWS-SDK-GO.md => docs/AWS-SDK-GO.md (100%) rename Caddy.md => docs/Caddy.md (100%) rename Docker.md => docs/Docker.md (100%) create mode 100644 docs/Erasure_Code.svg rename INSTALLGO.md => docs/INSTALLGO.md (100%) create mode 100644 docs/Minio-erasure-code-quickStart-guide.md diff --git a/Minio_Browser.png b/Minio_Browser.png new file mode 100644 index 0000000000000000000000000000000000000000..051c46cd055b6a6042bb008d62ef4c1c1ca590c7 GIT binary patch literal 101693 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 XHOs?v4m?i~m-|1(WfgQ?@YZ(P{c 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 RT?POE002ovPDHLkV1fkQ$VC7E literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 2046f7b00..c1d667ee6 100644 --- a/README.md +++ b/README.md @@ -1,261 +1,171 @@ -## Minio [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/minio/minio?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +# Minio Quickstart Guide +Minio is an object storage server released under Apache License v2.0. It is compatible with Amazon S3 cloud storage service. It is best suited for storing unstructured data such as photos, videos, log files, backups and container / VM images. Size of an object can range from a few KBs to a maximum of 5TB. -Minio is an object storage server compatible with Amazon S3 and licensed under [Apache license 2.0](./LICENSE). +## 1. Download +Minio server is light enough to be bundled with the application stack, similar to NodeJS, Redis and MySQL. -## Description +| Platform| Architecture | URL| +| ----------| -------- | ------| +|GNU/Linux|64-bit Intel|https://dl.minio.io/server/minio/release/linux-amd64/minio| +||32-bit Intel|https://dl.minio.io/server/minio/release/linux-386/minio| +||32-bit ARM|https://dl.minio.io/server/minio/release/linux-arm/minio| +|Apple OS X|64-bit Intel|https://dl.minio.io/server/minio/release/darwin-amd64/minio| +|Microsoft Windows|64-bit|https://dl.minio.io/server/minio/release/windows-amd64/minio.exe| +||32-bit|https://dl.minio.io/server/minio/release/windows-386/minio.exe| +|FreeBSD|64-bit|https://dl.minio.io/server/minio/release/freebsd-amd64/minio| -Minio is an open source object storage server released under Apache License V2. It is compatible with Amazon S3 cloud storage service. Minio follows a minimalist design philosophy. -Minio is light enough to be bundled with the application stack. It sits on the side of NodeJS, Redis, MySQL and the likes. Unlike databases, Minio stores objects such as photos, videos, log files, backups, container / VM images and so on. Minio is best suited for storing blobs of information ranging from KBs to 5 TBs each. In a simplistic sense, it is like a FTP server with a simple get / put API over HTTP. -Minio currently implements two backends - - Filesystem (FS) - is available and ready for general purpose use. - - ErasureCoded (XL) - is available, but it is not ready for general purpose use. +### Install from Source -## Minio Client +Source installation is only intended for developers and advanced users. If you do not have a working Golang environment, please follow [How to install Golang](https://docs.minio.io/docs/how-to-install-golang). -[Minio Client (mc)](https://github.com/minio/mc#minio-client-mc-) provides a modern alternative to Unix commands like ``ls``, ``cat``, ``cp``, ``sync``, and ``diff``. It supports POSIX compatible filesystems and Amazon S3 compatible cloud storage systems. It is entirely written in Golang. - -## Amazon S3 Compatible Client Libraries -- [Golang Library](https://github.com/minio/minio-go) -- [Java Library](https://github.com/minio/minio-java) -- [Nodejs Library](https://github.com/minio/minio-js) -- [Python Library](https://github.com/minio/minio-py) -- [.Net Library](https://github.com/minio/minio-dotnet) - -### Install [![Build Status](https://travis-ci.org/minio/minio.svg?branch=master)](https://travis-ci.org/minio/minio)[![Build status](https://ci.appveyor.com/api/projects/status/royh137dni8yevep/branch/master?svg=true)](https://ci.appveyor.com/project/harshavardhana/minio-qxbjq/branch/master) - -#### GNU/Linux - -Download ``minio`` for: - -- ``64-bit Intel`` from https://dl.minio.io/server/minio/release/linux-amd64/minio -- ``32-bit Intel`` from https://dl.minio.io/server/minio/release/linux-386/minio -- ``32-bit ARM`` from https://dl.minio.io/server/minio/release/linux-arm/minio - -~~~ -$ chmod +x minio -$ ./minio --help -~~~ - -#### OS X - -Download ``minio`` from https://dl.minio.io/server/minio/release/darwin-amd64/minio - -~~~ -$ chmod 755 minio -$ ./minio --help -~~~ - -#### Microsoft Windows - -Download ``minio`` for: - -- ``64-bit`` from https://dl.minio.io/server/minio/release/windows-amd64/minio.exe -- ``32-bit`` from https://dl.minio.io/server/minio/release/windows-386/minio.exe - -~~~ -C:\Users\Username\Downloads> minio.exe --help -~~~ - -#### FreeBSD - -Download ``minio`` from https://dl.minio.io/server/minio/release/freebsd-amd64/minio - -~~~ -$ chmod 755 minio -$ ./minio --help -~~~ -Read more here on [How to configure Minio on FreeBSD with ZFS backend.](./FreeBSD.md) - -#### Docker container - -Download ``minio`` for docker. - -~~~ -$ docker pull minio/minio -~~~ - -Read more here on [How to configure data volume containers for Minio?](./Docker.md) - -#### Source -
-NOTE: Source installation is intended for only developers and advanced users. For general use, please download official releases from https://minio.io/downloads. -
- -If you do not have a working Golang environment, please follow [Install Golang](./INSTALLGO.md). - -~~~ +```sh $ go get -d github.com/minio/minio $ cd $GOPATH/src/github.com/minio/minio $ make -~~~ +``` +## 2. Run Minio Server + +### 1. GNU/Linux -### How to use Minio? - -Start minio server. - -~~~ -$ minio server ~/Photos + ```sh +$ chmod +x minio +$ ./minio --help +$ ./minio server ~/Photos Endpoint: http://10.0.0.10:9000 http://127.0.0.1:9000 http://172.17.0.1:9000 -AccessKey: USWUXHGYZQYFYFFIT3RE -SecretKey: MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03 +AccessKey: USWUXHGYZQYFYFFIT3RE +SecretKey: MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03 Region: us-east-1 Browser Access: http://10.0.0.10:9000 http://127.0.0.1:9000 http://172.17.0.1:9000 Command-line Access: https://docs.minio.io/docs/minio-client-quick-start-guide - $ ./mc config host add myminio http://10.0.0.10:9000 USWUXHGYZQYFYFFIT3RE MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03 + $ mc config host add myminio http://10.0.0.10:9000 USWUXHGYZQYFYFFIT3RE MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03 Object API (Amazon S3 compatible): Go: https://docs.minio.io/docs/golang-client-quickstart-guide Java: https://docs.minio.io/docs/java-client-quickstart-guide Python: https://docs.minio.io/docs/python-client-quickstart-guide JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide -~~~ - -#### How to use AWS CLI with Minio? - -
-This section assumes that you have already installed aws-cli, if not please visit https://aws.amazon.com/cli/ -
- -To configure `aws-cli`, type `aws configure` and follow below steps. - -``` -$ aws configure -AWS Access Key ID [None]: YOUR_ACCESS_KEY_HERE -AWS Secret Access Key [None]: YOUR_SECRET_KEY_HERE -Default region name [None]: us-east-1 -Default output format [None]: ENTER ``` -Additionally enable `aws-cli` to use AWS Signature Version '4' for Minio server. +### 2. OS X -``` -$ aws configure set default.s3.signature_version s3v4 + ```sh +$ chmod 755 minio +$ ./minio --help +$ ./minio server ~/Photos + +Endpoint: http://10.0.0.10:9000 http://127.0.0.1:9000 http://172.17.0.1:9000 +AccessKey: USWUXHGYZQYFYFFIT3RE +SecretKey: MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03 +Region: us-east-1 + +Browser Access: + http://10.0.0.10:9000 http://127.0.0.1:9000 http://172.17.0.1:9000 + +Command-line Access: https://docs.minio.io/docs/minio-client-quick-start-guide + $ mc config host add myminio http://10.0.0.10:9000 USWUXHGYZQYFYFFIT3RE MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03 + +Object API (Amazon S3 compatible): + Go: https://docs.minio.io/docs/golang-client-quickstart-guide + Java: https://docs.minio.io/docs/java-client-quickstart-guide + Python: https://docs.minio.io/docs/python-client-quickstart-guide + JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide ``` -To list your buckets. -``` -$ aws --endpoint-url http://localhost:9000 s3 ls -2016-03-27 02:06:30 deebucket -2016-03-28 21:53:49 guestbucket -2016-03-29 13:34:34 mbtest -2016-03-26 22:01:36 mybucket -2016-03-26 15:37:02 testbucket -``` +### 3.Microsoft Windows -To list contents inside bucket. -``` -$ aws --endpoint-url http://localhost:9000 s3 ls s3://mybucket -2016-03-30 00:26:53 69297 argparse-1.2.1.tar.gz -2016-03-30 00:35:37 67250 simplejson-3.3.0.tar.gz -``` +```sh +C:\Users\Username\Downloads> minio.exe --help +C:\Users\Username\Downloads> minio.exe server D:\Photos -To make a bucket. -``` -$ aws --endpoint-url http://localhost:9000 s3 mb s3://mybucket -make_bucket: s3://mybucket/ -``` +Endpoint: http://10.0.0.10:9000 http://127.0.0.1:9000 http://172.17.0.1:9000 +AccessKey: USWUXHGYZQYFYFFIT3RE +SecretKey: MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03 +Region: us-east-1 -To add an object to a bucket. -``` -$ aws --endpoint-url http://localhost:9000 s3 cp simplejson-3.3.0.tar.gz s3://mybucket -upload: ./simplejson-3.3.0.tar.gz to s3://mybucket/simplejson-3.3.0.tar.gz -``` +Browser Access: + http://10.0.0.10:9000 http://127.0.0.1:9000 http://172.17.0.1:9000 -Delete an object from a bucket. -``` -$ aws --endpoint-url http://localhost:9000 s3 rm s3://mybucket/argparse-1.2.1.tar.gzdelete: s3://mybucket/argparse-1.2.1.tar.gz -``` +Command-line Access: https://docs.minio.io/docs/minio-client-quick-start-guide + $ mc.exe config host add myminio http://10.0.0.10:9000 USWUXHGYZQYFYFFIT3RE MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03 -Remove a bucket. -``` -$ aws --endpoint-url http://localhost:9000 s3 rb s3://mybucket -remove_bucket: s3://mybucket/ -``` - -#### How to use AWS SDK with Minio? - -Please follow the documentation here - [Using aws-sdk-go with Minio server](./AWS-SDK-GO.md) - -#### How to use s3cmd with Minio? - -
-This section assumes that you have already installed s3cmd, if not please visit http://s3tools.org/s3cmd -
- -Edit the following fields in your s3cmd configuration file `~/.s3cfg` . +Object API (Amazon S3 compatible): + Go: https://docs.minio.io/docs/golang-client-quickstart-guide + Java: https://docs.minio.io/docs/java-client-quickstart-guide + Python: https://docs.minio.io/docs/python-client-quickstart-guide + JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide ``` -host_base = localhost:9000 -host_bucket = localhost:9000 -access_key = YOUR_ACCESS_KEY_HERE -secret_key = YOUR_SECRET_KEY_HERE -signature_v2 = False -bucket_location = us-east-1 + +### 4. Docker Container + +```sh +$ docker pull minio/minio +$ docker run -p 9000:9000 minio/minio ``` -To make a bucket. -``` -$ s3cmd mb s3://mybucket -Bucket 's3://mybucket/' created +### 5. FreeBSD + +```sh +$ chmod 755 minio +$ ./minio --help +$ ./minio server ~/Photos + +Endpoint: http://10.0.0.10:9000 http://127.0.0.1:9000 http://172.17.0.1:9000 +AccessKey: USWUXHGYZQYFYFFIT3RE +SecretKey: MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03 +Region: us-east-1 + +Browser Access: + http://10.0.0.10:9000 http://127.0.0.1:9000 http://172.17.0.1:9000 + +Command-line Access: https://docs.minio.io/docs/minio-client-quick-start-guide + $ mc config host add myminio http://10.0.0.10:9000 USWUXHGYZQYFYFFIT3RE MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03 + +Object API (Amazon S3 compatible): + Go: https://docs.minio.io/docs/golang-client-quickstart-guide + Java: https://docs.minio.io/docs/java-client-quickstart-guide + Python: https://docs.minio.io/docs/python-client-quickstart-guide + JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide + ``` -To copy an object to bucket. -``` -$ s3cmd put newfile s3://testbucket -upload: 'newfile' -> 's3://testbucket/newfile' +## 3. Test Minio Server using Minio Browser +Open a web browser and navigate to http://127.0.0.1:9000 to view your buckets on minio server. + +![Screenshot](./Minio_Browser.png) + + +## 4. Test Minio Server using `mc` + +Install mc from [here](https://docs.minio.io/docs/minio-client-quick-start-guide). Use `mc ls` command to list all the buckets on your minio server. + +```sh +$ mc ls myminio/ +[2015-08-05 08:13:22 IST] 0B andoria/ +[2015-08-05 06:14:26 IST] 0B deflector/ +[2015-08-05 08:13:11 IST] 0B ferenginar/ +[2016-03-08 14:56:35 IST] 0B jarjarbing/ +[2016-01-20 16:07:41 IST] 0B my.minio.io/ ``` -To copy an object to local system. -``` -$ s3cmd get s3://testbucket/newfile -download: 's3://testbucket/newfile' -> './newfile' -``` +For more examples please navigate to [Minio Client Complete Guide](https://docs.minio.io/docs/minio-client-complete-guide). -To sync local file/directory to a bucket. -``` -$ s3cmd sync newdemo s3://testbucket -upload: 'newdemo/newdemofile.txt' -> 's3://testbucket/newdemo/newdemofile.txt' -``` - -To sync bucket or object with local filesystem. -``` -$ s3cmd sync s3://otherbucket otherlocalbucket -download: 's3://otherbucket/cat.jpg' -> 'otherlocalbucket/cat.jpg' -``` - -To list buckets. -``` -$ s3cmd ls s3:// -2015-12-09 16:12 s3://testbbucket -``` - -To list contents inside bucket. -``` -$ s3cmd ls s3://testbucket/ - DIR s3://testbucket/test/ -2015-12-09 16:05 138504 s3://testbucket/newfile -``` - -Delete an object from bucket. -``` -$ s3cmd del s3://testbucket/newfile -delete: 's3://testbucket/newfile' -``` - -Delete a bucket. -``` -$ s3cmd rb s3://testbucket -Bucket 's3://testbucket/' removed -``` - -## Contribute to Minio Project +## 5. Explore Further +- [Minio Erasure Code QuickStart Guide](https://docs.minio.io/docs/minio-erasure-code-quickstart-guide) +- [Minio Docker Quickstart Guide](https://docs.minio.io/docs/minio-docker-container) +- [Use `mc` with Minio Server](https://docs.minio.io/docs/minio-client-quick-start-guide) +- [Use `aws-cli` with Minio Server](https://docs.minio.io/docs/how-to-use-aws-cli-with-minio) +- [Use `s3cmd` with Minio Server](https://docs.minio.io/docs/s3cmd-with-minio-server) +- [Use `minio-go` SDK with Minio Server](https://docs/golang-client-quickstart-guide) + + +## 6. Contribute to Minio Project Please follow Minio [Contributor's Guide](./CONTRIBUTING.md) - -### Jobs -If you think in Lisp or Haskell and hack in go, you would blend right in. Send your github link to callhome@minio.io. + + diff --git a/AWS-SDK-GO.md b/docs/AWS-SDK-GO.md similarity index 100% rename from AWS-SDK-GO.md rename to docs/AWS-SDK-GO.md diff --git a/Caddy.md b/docs/Caddy.md similarity index 100% rename from Caddy.md rename to docs/Caddy.md diff --git a/Docker.md b/docs/Docker.md similarity index 100% rename from Docker.md rename to docs/Docker.md diff --git a/docs/Erasure_Code.svg b/docs/Erasure_Code.svg new file mode 100644 index 000000000..5afd9afd4 --- /dev/null +++ b/docs/Erasure_Code.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/INSTALLGO.md b/docs/INSTALLGO.md similarity index 100% rename from INSTALLGO.md rename to docs/INSTALLGO.md diff --git a/docs/Minio-erasure-code-quickStart-guide.md b/docs/Minio-erasure-code-quickStart-guide.md new file mode 100644 index 000000000..df5a665fd --- /dev/null +++ b/docs/Minio-erasure-code-quickStart-guide.md @@ -0,0 +1,44 @@ +Minio protects data against hardware failures and silent data corruption using erasure code and checksums. You may lose roughly half the number ((N/2)-1) of drives and still be able to recover the data. + +## 1. Prerequisites: +Install Minio - [Minio Quickstart Guide](https://docs.minio.io/docs/minio) + +## What is Erasure Code? +Erasure code is a mathematical algorithm to reconstruct missing or corrupted data. Minio uses Reed-Solomon code to shard objects into N/2 data and N/2 parity blocks. This means that in a 12 drive setup, an object is sharded across as 6 data and 6 parity blocks. You can lose as many as 5 drives (be it parity or data) and still reconstruct the data reliably from the remaining drives. + +## Why is Erasure Code useful? +Erasure code protects data from multiple drives failure unlike RAID or replication. Minio encodes each object individually with a high parity count. Storage servers once deployed should not require drive replacement or healing for the lifetime of the server. Minio's erasure coded backend is designed for operational efficiency and takes full advantage of hardware acceleration whenever available. + +[![Screenshot](https://www.filepicker.io/api/file/hbaiKmmR9Fg3NZ1yEb8A)](https://docs.minio.io/) + +## What is Bit Rot protection? +Bit Rot also known as Data Rot or Silent Data Corruption is a serious data loss issue faced by disk drives today. Data on the drive may silently get corrupted without signalling an error has occurred. This makes Bit Rot more dangerous than permanent hard drive failure. + +Minio's erasure coded backend uses high speed [BLAKE2](https://blog.minio.io/accelerating-blake2b-by-4x-using-simd-in-go-assembly-33ef16c8a56b#.jrp1fdwer) hash based checksums to protect against Bit Rot. + +## Deployment Scenarios +Minio server runs on a variety of hardware, operating systems and virtual/container environments. + +Minio erasure code backend is limited by design to a minimum of 6 drives and a maximum of 16 drives. The hard limit of 16 drives comes from operational experience. Failure domain becomes too large beyond 16 drives. If you need to scale beyond 16 drives, you may run multiple instances of Minio server on different ports. + +#### Reference Physical Hardware: +* [SMC 5018A-AR12L (Intel Atom)](http://www.supermicro.com/products/system/1U/5018/SSG-5018A-AR12L.cfm?parts=SHOW) - SMC 1U SoC Atom C2750 platform with 12x 3.5” drive bays +* [Quanta Grid D51B-2U (OCP Compliant) ](http://www.qct.io/Product/Servers/Rackmount-Servers/2U/QuantaGrid-D51B-2U-p256c77c70c83c118)- Quanta 2U DP E5-2600v3 platform with 12x 3.5” drive bays +* [Cisco UCS C240 M4 Rack Server](http://www.cisco.com/c/en/us/products/servers-unified-computing/ucs-c240-m4-rack-server/index.html) - Cisco 2U DP E5-2600v3 platform with 12x 3.5” drive bays +* [Intel® Server System R2312WTTYSR](http://ark.intel.com/products/88286) - Intel 2U DP E5-2600v3 platform with 12x 3.5” drive bays + +#### Reference Cloud Hosting Providers: +* [Packet](https://www.packet.net): Packet is the baremetal cloud provider. +* [Digital Ocean](https://www.digitalocean.com): Deploy an SSD cloud server in 55 seconds. +* [OVH](https://www.ovh.com/us): Build your own infrastructure with OVH public cloud. +* [Onlinetech](http://www.onlinetech.com): Secure, compliant enterprise cloud. +* [SSD Nodes](https://www.ssdnodes.com): Simple, high performance cloud provider with truly personalized support. + +## 2. Run Minio Server with Erasure Code. +Example: Start Minio server in a 12 drives setup. +``` +$ minio server /mnt/export1/backend /mnt/export2/backend /mnt/export3/backend /mnt/export4/backend /mnt/export5/backend /mnt/export6/backend /mnt/export7/backend /mnt/export8/backend /mnt/export9/backend /mnt/export10/backend /mnt/export11/backend /mnt/export12/backend +``` + +## 3. Test your setup +You may unplug drives randomly and continue to perform I/O on the system.