Learn how to install MinIO Object Storage on Rocky Linux 8 with this step-by-step guide. Follow our detailed instructions to set up and configure MinIO for efficient and secure object storage on your Rocky Linux server. #centlinux #linux #cloudstorage
MinIO is a High Performance Object Storage released under GNU Affero General Public License v3.0. It is API compatible with Amazon S3 cloud storage service. It can handle unstructured data such as photos, videos, log files, backups, and container images with (currently) the maximum supported object size of 5TB.
MinIO storage stack has three major components: MinIO Server, MinIO Client (a.k.a. mc, which is a command-line client for the object and file management with any Amazon S3 compatible servers), and MinIO Client SDK that can be used by application developers to interact with any Amazon S3 compatible server.
MinIO cloud storage server is designed to be minimal and scalable. It is light enough to be bundled along with the application stack, similar to NodeJS, and Redis.
Designed for high performance, MinIO offers a suite of features that are specific to large enterprise deployments, these include erasure coding, bitrot protection, encryption/WORM, identity management, continuous replication, global federation, and multi-cloud deployments via gateway mode.
MinIO server is hardware agnostic, it can be installed on physical or virtual machines or launched as Docker containers and deployed on container orchestration platforms like Kubernetes. (Source: https://en.wikipedia.org/wiki/MinIO)
There are several alternatives to MinIO for object storage, each offering unique features and benefits. Here are some popular options:
Each of these alternatives offers different advantages, making them suitable for a variety of use cases depending on your specific requirements and preferences.
Recommended Online Training: Learn Bash Shell in Linux for Beginners
We are using a minimal Rocky Linux 8 virtual machine with following specifications.
Connect with minio-01.centlinux.com as root user with the help of a ssh client.
Build cache for your yum repositories.
# dnf makecache Rocky Linux 8 - AppStream 507 kB/s | 9.6 MB 00:19 Rocky Linux 8 - BaseOS 387 kB/s | 6.6 MB 00:17 Rocky Linux 8 - Extras 3.6 kB/s | 12 kB 00:03 Last metadata expiration check: 0:00:01 ago on Sat 12 Mar 2022 10:34:17 PM PKT. Metadata cache created.
Update software packages of your Linux operating system by executing following command.
# dnf update -y
You may have to reboot your Linux operating system, if the above command updates your Linux Kernel.
# reboot
After reboot, check the Linux operating system and Kernel versions.
# uname -r 4.18.0-348.20.1.el8_5.x86_64 # cat /etc/os-release NAME="Rocky Linux" VERSION="8.5 (Green Obsidian)" ID="rocky" ID_LIKE="rhel centos fedora" VERSION_ID="8.5" PLATFORM_ID="platform:el8" PRETTY_NAME="Rocky Linux 8.5 (Green Obsidian)" ANSI_COLOR="0;32" CPE_NAME="cpe:/o:rocky:rocky:8:GA" HOME_URL="https://rockylinux.org/" BUG_REPORT_URL="https://bugs.rockylinux.org/" ROCKY_SUPPORT_PRODUCT="Rocky Linux" ROCKY_SUPPORT_PRODUCT_VERSION="8"
MinIO Object Storage software is not available in yum repositories, therefore, you have to download it from MinIO official website.
Create a directory for use by MinIO server as storage volume.
# mkdir /u01
Create a Linux user to own MinIO software and services.
# useradd -s /sbin/nologin -d /u01/minio minio
You will need wget command to download MinIO. Therefore, install it by using dnf command.
# dnf install -y wget
Download the MinIO Storage software by using wget command.
# cd /tmp # wget https://dl.min.io/server/minio/release/linux-amd64/minio --2022-03-12 22:52:24-- https://dl.min.io/server/minio/release/linux-amd64/minio Resolving dl.min.io (dl.min.io)... 178.128.69.202, 138.68.11.125 Connecting to dl.min.io (dl.min.io)|178.128.69.202|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 95567872 (91M) [application/octet-stream] Saving to: ‘minio’ minio 100%[===================>] 91.14M 568KB/s in 8m 31s 2022-03-12 23:00:57 (183 KB/s) - ‘minio’ saved [95567872/95567872]
You can also find the MinIO software for other Hardware platforms and operating systems at MinIO Download Page.
Move the MinIO to /usr/local/bin directory and adjust file permissions and ownership.
# mv minio /usr/local/bin/ # chmod 775 /usr/local/bin/minio # chown minio:minio /usr/local/bin/minio
Create a configuration file for MinIO storage server by using vim text editor.
# vi /etc/minio.conf
Add following lines to define the basic MinIO parameters.
# Volume to be used for Minio server. MINIO_VOLUMES="/u01/minio/" # Use if you want to run Minio on a custom port. MINIO_OPTS="--address :9000 --console-address :9001" # Root user for the server. MINIO_ROOT_USER=minioadmin # Root secret for the server. MINIO_ROOT_PASSWORD=centlinux
Adjust the file ownership of MinIO configuration file.
# chown minio:minio /etc/minio.conf
By using vim command, create a systemd service unit for MinIO.
# vi /usr/lib/systemd/system/minio.service
Add following directives in this file.
[Unit] Description=Minio Wants=network-online.target After=network-online.target [Install] WantedBy=multi-user.target [Service] Type=simple User=minio Group=minio WorkingDirectory=/u01/minio EnvironmentFile=/etc/minio.conf ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
Enable and start MinIO service.
# systemctl enable --now minio.service Created symlink /etc/systemd/system/multi-user.target.wants/minio.service → /usr/lib/systemd/system/minio.service.
Check the status of MinIO service.
# systemctl status minio.service
● minio.service - Minio
Loaded: loaded (/usr/lib/systemd/system/minio.service; enabled; vendor prese>
Active: active (running) since Sun 2022-03-13 20:19:44 PKT; 1s ago
Main PID: 1302 (minio)
Tasks: 6 (limit: 5808)
Memory: 51.4M
CGroup: /system.slice/minio.service
└─1302 /usr/local/bin/minio server --address :9000 --console-address>
Mar 13 20:19:44 minio-01.centlinux.com systemd[1]: Started Minio.
Mar 13 20:19:45 minio-01.centlinux.com minio[1302]: API: http://192.168.116.128>
Mar 13 20:19:45 minio-01.centlinux.com minio[1302]: Console: http://192.168.116>
Mar 13 20:19:45 minio-01.centlinux.com minio[1302]: Documentation: https://docs>
To make your Storage service accessible across the network, you have to allow the MinIO service ports in Linux firewall.
# firewall-cmd --permanent --add-port={9000,9001}/tcp success # firewall-cmd --reload success
Open URL http://minio-01.centlinux.com:9001 in a web browser.
Login a minioadmin user.
You have reached at the Bucket page. There isn’t any Bucket right now.
Click on “Create Bucket” to create your first MinIO Storage bucket.
Provide a name for Bucket and click on “Create Bucket”.
Upload a few files to your bucket.
The MinIO storage server is working fine.
You can install MinIO Client (mc) to access your Storage server right from the Linux shell.
mc utility provides many Unix like commands to manage your MinIO server.
You can download mc utility form MinIO website as follows.
# cd /tmp # wget https://dl.min.io/client/mc/release/linux-amd64/mc --2022-03-13 20:50:07-- https://dl.min.io/client/mc/release/linux-amd64/mc Resolving dl.min.io (dl.min.io)... 138.68.11.125, 178.128.69.202 Connecting to dl.min.io (dl.min.io)|138.68.11.125|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 23318528 (22M) [application/octet-stream] Saving to: ‘mc’ mc 100%[===================>] 22.24M 964KB/s in 23s 2022-03-13 20:50:32 (970 KB/s) - ‘mc’ saved [23318528/23318528]
Move mc command to /usr/local/bin directory and grant it execution privilege.
# mv mc /usr/local/bin/ # chmod +x /usr/local/bin/mc
Check the version of mc command.
# mc --version mc version RELEASE.2022-03-09T02-08-36Z
Connect to you MinIO storage server by using following command.
# mc alias set minio http://192.168.116.128 minioadmin centlinux --api s3v4 mc: Configuration written to `/root/.mc/config.json`. Please update your access credentials. mc: Successfully created `/root/.mc/share`. mc: Initialized share uploads `/root/.mc/share/uploads.json` file. mc: Initialized share downloads `/root/.mc/share/downloads.json` file. Added `minio` successfully.
Execute following command to list all the buckets in MinIO storage server.
# mc ls play [2022-03-13 11:54:54 PKT] 0B acer/ [2022-03-13 13:37:05 PKT] 0B app-data/ [2022-03-13 13:50:19 PKT] 0B asiatrip/ [2022-03-13 18:46:22 PKT] 0B bucket/ [2022-03-13 16:50:15 PKT] 0B cgsecgchwczygil/ [2022-03-13 13:37:05 PKT] 0B data-files/ [2022-03-13 12:03:22 PKT] 0B dev-bucket/ [2022-03-13 17:20:47 PKT] 0B dev-stage-prv/ [2022-03-13 17:20:30 PKT] 0B dev-stage-pub/ [2022-03-13 14:52:40 PKT] 0B exercises/ [2022-03-13 12:59:08 PKT] 0B howzeh/ [2022-03-13 16:55:44 PKT] 0B njzfohoiooxfrfw/ [2022-03-13 12:06:29 PKT] 0B notea/ [2022-03-13 20:33:55 PKT] 0B test1/ [2022-03-13 13:37:05 PKT] 0B user-images/
You should try this Wireless Keyboard Mouse Combo (PAID LINK) to efficiently typing at Linux Bash prompt.
Setting up MinIO Object Storage on Rocky Linux 8 provides a powerful and scalable solution for your data storage needs. By following this guide, you should now have MinIO up and running efficiently on your server. If you need any further assistance or customized configurations, I offer professional services to help you achieve the best results.
Visit my Fiverr profile to explore my services and get expert help with your MinIO installation and configuration. Let’s ensure your storage solution is optimized and secure!
Puppy Linux is a fast, lightweight OS designed for speed and simplicity, perfect for old…
Learn how to change Apache document root in Linux by following this step-by-step guide. Adjust…
Discover how to change Apache port in Linux easily. Follow our simple guide to modify…
Learn how to create a virtual host in Apache Server with this comprehensive guide. Set…
Discover 10 practical tasks for the RHCSA exam with step-by-step solutions. Boost your Linux skills…
Discover the ultimate Fail2ban configuration guide. Learn how to set up, customize, and optimize Fail2ban…
This website uses cookies.