Cara Install MinIO Object Storage di Ubuntu 24.04

Object storage adalah metode penyimpanan data di mana unit data disimpan sebagai objek yang terpisah. Berbeda dengan sistem file tradisional yang menggunakan hierarki direktori, atau sistem penyimpanan berbasis blok yang menyimpan data dalam blok tetap, object storage menyimpan data dalam satu repositori yang dapat diakses secara langsung melalui ID unik. Setiap objek terdiri dari data itu sendiri, metadata, dan pengenal unik. Keuntungan utama dari object storage termasuk skalabilitas yang tinggi, kemampuan menyimpan data tidak terstruktur dalam jumlah besar, serta aksesibilitas dan manajemen yang lebih mudah melalui antarmuka program aplikasi (API).

Object storage sangat cocok digunakan ketika kita ingin menyimpan data dalam jumlah besar yang tidak terstruktur, seperti file multimedia (foto, video), backup dan arsip data, data sensor IoT, dan data aplikasi web atau mobile. Contoh penerapan object storage meliputi penyimpanan file cadangan di layanan cloud, hosting konten media, dan penyimpanan data besar untuk analisis big data atau machine learning.

Salah satu implementasi Object Storage yang populer adalah MinIO. Solusi open-source ini menawarkan fungsionalitas yang mirip dengan layanan cloud storage komersial seperti Amazon S3, namun dengan kontrol dan fleksibilitas yang lebih besar.

MinIO dapat diinstal dan dijalankan di berbagai platform, termasuk Ubuntu. Tutorial ini akan membahas langkah demi langkah dalam menginstal dan mengkonfigurasi MinIO Object Storage di Ubuntu 24.04.

Topologi Deploy MinIO

Terdapat 3 tipe topologi dalam deployment MinIO, yaitu:

  1. Single-Node Single-Drive (SNSD atau “Standalone”): Topologi ini adalah yang paling sederhana di antara semua deployment MinIO. Dalam mode ini, MinIO diinstal pada satu node (server) dan menggunakan satu drive (disk) untuk menyimpan data.
  2. Single-Node Multi-Drive (SNMD atau “Standalone Multi-Drive”): Pada topologi ini MinIO diinstal pada satu node tetapi menggunakan beberapa drive (disk) untuk menyimpan data.
  3. Multi-Node Multi-Drive (MNMD atau “Distributed”): Topologi ini adalah yang paling kompleks dari ketiga topologi yang disebutkan. Dalam mode ini, MinIO diinstal pada beberapa node, dan masing-masing node memiliki beberapa drive.

Tutorial Environment

Pada tutorial ini menggunakan:

  • VPS Vultr 1 CPU 1 GB RAM
  • Block Storage 100GB
  • Sistem Operasi Ubuntu 24.04
  • MiniO Open Source
  • Subdomain minio-console.aminlabs.my.id dan minio-s3.aminlabs.my.id
  • SSL Cloudflare
  • Topologi Single-Node Single-Drive

Catatan: Daftar di sini untuk mendapatkan $100 free credit dari Vultr.

Tahapan Install MinIO Server

Tahapan install MinIO Server terbagi ke dalam 4 bagian, yaitu mount block storage, install package MinIO server, konfigurasi Nginx reverse proxy, dan pengujian.

1. Mount Block Storage

Jalankan update dan upgrade Ubuntu:

Untuk media penyimpanan MinIO disiapkan disk tersendiri. Pada tutorial ini menggunakan cloud server Vultr dan block storage 100GB sebagai disk tambahan untuk MinIO.

Menampilkan block devices:

Pada hasil di atas terdapat device vdb yang akan dipartisi, diformat, di-mount.

Mempartisi vdb, kemudian memformat vdb1 dengan filesystem XFS:

Memverifikasi hasil perintah di atas, terdapat vdb1:

Membuat direktori minio-storage sebagai direktori mount untuk partisi vdb1:

Mount vdb1 ke /mnt/minio-storage:

Memverifikasi hasil perintah di atas:

Hasilnya, vdb1 sudah ter-mount di /mnt/minio-storage:

Membuka file konfigurasi fstab:

Menambahkan baris konfigurasi untuk auto-mount vdb1:

2. Install MinIO Server

Download dan install MinIO Server:

Cek versi terbaru di min.io/download.

Membuat user minio-user dan mengubah ownership direktori minio-storage:

Membuat file konfigurasi minio:

Masukkan konfigurasi berikut:

  • MINIO_VOLUMES: lokasi penyimpanan data MinIO
  • MINIO_OPTS: --address :9000 merupakan alamat dan port layanan MinIO akan listening, sedangkan --console-address :9001 untuk web console administrasi MinIO
  • MINIO_ROOT_USER: username untuk akun root MinIO
  • MINIO_ROOT_PASSWORD: password untuk akun root MinIO

Menjalankan dan menampilkan status service minio:

3. Nginx Reverse Proxy

Install Nginx:

File sertifikat dan private key SSL untuk subdomain yang digunakan:

Membuat file konfigurasi Nginx server block untuk reverse proxy subdomain minio-console, web interface administrasi MinIO:

Masukkan konfigurasi berikut, sesuaikan subdomain dan port yang digunakan:

Membuat file konfigurasi Nginx server block untuk reverse proxy subdomain minio-s3, akses API:

Masukkan konfigurasi berikut, sesuaikan subdomain dan port yang digunakan:

Restart dan menampilkan status service minio:

Membuka port 80 dan 443:

4. Pengujian

Pengujian hasil instalasi, yang pertama mengakses web console di https://minio-console.aminlabs.my.id, login dengan menggunakan username dan password akun root yang dikonfigurasikan sebelumnya pada file /etc/default/minio. Uji coba membuat bucket, upload file, dan membuat user.

Pengujian kedua, mengakses API MinIO melalui aplikasi client. Instalasi aplikasi MinIO Client (mcli) format DEB:

Untuk versi terbaru dan sistem operasi lain, cek di min.io/download.

Melakukan koneksi ke MinIO server:

Menampilkan semua object yang berada di myminio dan bucket mydata:

Untuk informasi dan petunjuk lebih lengkap, pelajari dokumentasi resmi MinIO di min.io/docs.

Selamat mencoba 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *