Friday, September 15, 2017

Minio Distributed Mode

Hello, pada kesempatan kali ini, saya ingin sharing tentang Minio. Minio adalah object storage opensource berbasis bahasa pemrograman GO yang dapat digunakan untuk menyimpan “unstructured data” seperti foto, video, document, log files dll. Minio menggunakan istilah “Bucket” yang akan menampung object yang akan disimpan. Tidak hanya dapat diakses dan di manage melalui “command line” Minio juga memiliki Web UI yang memudahkan user untuk memanage object dan bucket. Komponen utama dari minio adalah minio server dan minio client. Selain menggunakan "mc" utility, Minio juga support client menggunakan : Java, Javascript, GO, .Net dan Python dengan menggunakan SDK yang tersedia di official website.

Disini kita akan membahas Minio Distributed Mode “Pool Multiple drive (different machine) into single Object Storage Server” yang berarti terdapat beberapa minio server pada node berbeda yang akan menyediakan service dan akan meningkatkan data reliability dan avaibility. Minio menerapkan teknologi erasure code dan checksum untuk mengatasi data corruption, jadi jika kita kehilangan N/2 dari jumlah drive, data masih dapat di recover. Minio memiliki limit minimum 4 drives dan maksimum 16 drives.

Misal : Terdapat 3 server minio yang akan digunakan untuk distributed mode dan masing-masing memiliki 2 drive untuk penyimpanan.

3 x 2 = 6 drives, jika salah satu server mati, berarti hanya tersisa 4 drive dan masih > dari N/2.
Kita masih dapat menggunakan Minio untuk mode Read and Write, yang berarti data Minio safe dan dapat digunakan dengan full mode jika jumlah drive  = N/2 + 1

Jika 2 server mati, yang artinya kita hanya memiliki 2 drive yang tersisa, maka kita hanya dapat Read data dari Minio.

Oke, kita langsung saja ke How to Setup Distributed Minio, kali ini saya akan menggunakan CentOS 7 64 bit. Sebelum nya ikuti instruksi untuk setup single minio server https://docs.minio.io/docs/minio-quickstart-guide.
  1. Download package dan change permission to executable mode. (lakukan langkah berikut ini disetiap server)
  2. Untuk initial setup jalankan minio single server pada salah satu server untuk mendapatkan ACCESS KEY dan SECRET KEY yang akan di export ke server lainnya.
  3. Create drive yang akan dijadikan penyimpanan dan start minio single server
    maka akan tampil output :
  4. Nah, kita mendapatkan ACCESS KEY dan SECRET KEY yang akan diexport ke server node. Kill proses Minio tersebut denga command : kill -9 “Program PID”. 
  5. Export ACCESS KEY dan SECRET KEY key tersebut ke server node lain dengan command:
  6. Eksekusi command berikut di setiap server untuk menjalankan minio distributed mode
  7. Setelah menjalankan command tersebut disetiap server, maka minio server akan tersinkronisasi secara otomatis.
  8. Buka web browser di <IPSERVER>:9000, masukkan ACCESS KEY dan SECRET KEY yang telah didapatkan
  9. Minio sudah dapat digunakan sebagai object storage.

No comments:

Post a Comment