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.