Install and Configure Minio Object Storage Server on RHEL & CentOS

Install and Configure Minio Object Storage Server on RHEL & CentOS

Install and Configure Minio Object Storage Server on RHEL & CentOS

We are going to Install  and Configure the Minio Server

What is Minio?

Minio is an open source object storage server released under Apache License V2. It is compatible with Amazon S3 cloud storage service. It 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 TBs each. In a simplistic sense, it is like a FTP server with a simple get / put API over HTTP.

Install Minio on RHEL & CentOS

Here we are going to Install Minio in "/minio/" with run as system service

Step1: Add a minio user:
root@mdmunazir:~# useradd -s /sbin/nologin -d /minio minio
Step2: Create directories (We will be creating /minio/bin for Binaries and /minio/data will be your data partition
root@mdmunazir:~# mkdir -p /minio/bin
root@mdmunazir:~# mkdir /minio/data
Step3: Download minio server binary:
root@mdmunazir:~# wget https://dl.minio.io/server/minio/release/linux-amd64/minio -O /minio/bin/minio
Step4: Configuration file:
root@mdmunazir:~# vi /minio/minio.conf
MINIO_VOLUMES=/minio/data
Step5: Folder permissions owned by minio user & group for /minio:
root@mdmunazir:~# chown -R minio:minio /minio
Step6: Create System service file for minio.service:
root@mdmunazir:~# vi /etc/systemd/system/minio.service
[Unit]
Description=Minio
Documentation=https://docs.minio.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/minio/bin/minio

[Service]
WorkingDirectory=/minio
User=minio
Group=minio
PermissionsStartOnly=true
EnvironmentFile=-/minio/minio.conf
ExecStartPre=/bin/bash -c "[ -n \"${MINIO_VOLUMES}\" ] || echo \"Variable MINIO_VOLUMES not set in /minio/minio.conf\""
ExecStart=/minio/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
StandardOutput=journal
StandardError=inherit

# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=65536
# Disable timeout logic and wait until process is stopped
TimeoutStopSec=0
# SIGTERM signal is used to stop Minio
KillSignal=SIGTERM
SendSIGKILL=no
SuccessExitStatus=0
[Install]
WantedBy=multi-user.target
Step7: Enable and Start minio.service:
root@mdmunazir:~# systemctl enable minio.service
root@mdmunazir:~# systemctl start minio.service
Recheck minio service is started
root@mdmunazir:~# systemctl status minio.service
Step8: Default Access key & Secret Key:
Access Key: minioadmin
Secret Key: minioadmin
Step9: Change Access Key & Secret Key:
root@mdmunazir:~# vi /opt/minio/data/.minio.sys/config/config.json
 Search for "access_key" and "secret_key"
"key":"access_key","value""
"key":"secret_key","value""
Step10: Restart minio.service:
root@mdmunazir:~# systemctl restart minio.service
We have successfully completed installed and configured Minio Server. You can access the Minio Web interface by going to http://server_ip:9000. Login to Web interface using the access & secret which we have set in Step9.

Summary

We have successfully completed "Install and Configure Minio Object Storage Server on RHEL & CentOS". If you have any questions or comments please leave them here, or in linuxproguru.com comments section of this site.

Leave a Reply

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