How to create a MinIO S3 storage area for SLC Hub
Local MinIO Installation
Certain optional features of an Altair SLC Hub requires an S3 compatible object store in order to store information. One option for providing this is to use a local MinIO installation. This page details and example of setting up a local S3 store for an Altair SLC Hub.
Please note that the installation, configuration, monitoring, backup and maintenance of your S3 storage area is not part of the service provided by Altair. We hope this technical note provides useful information but please refer to official MinIO documentation for reference.
Installation on Linux
Software installation
Create a group and user to run MinIO:
useradd -r -s /sbin/nologin minio
Create a location for S3 data:
mkdir -p /var/minio/slcbucket
chown minio:minio /var/minio
The MinIO software needs to be installed from the MinIO download page.
View the page to find the latest dated RPM https://dl.min.io/server/minio/release/linux-amd64/
Download the RPM
wget https://dl.min.io/server/minio/release/linux-amd64/minio-DATEVERSION.x86_64.rpm
Configure Minio to run as a service
Create a file called /etc/default/minio with the following contents:
# Volume to be used for Minio server.
MINIO_VOLUMES="/var/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=minio123
The service can then be started with the following commands
systemctl daemon-reload
systemctl enable minio
systemctl start minio
In the case of error, logs can be accessed via journalctl with the command
journalctl -u minio
Altair SLC Hub uses S3 to store results and artifact data and should be backed up routinely to prevent data loss.
Installation and Configuration on Windows
Software Installation
The MinIO Server for windows is distributed as a single executable rather than as a Windows MSI. Download the binary for the MinIO Server from the MinIO download page and store it in a suitable directory. This directory will be referred to as the Minio home directory, or minio-home
. It is not recommended that the MinIO executable be placed in the Altair SLC Hub installation directory.
Create MinIO data directory
Select a suitable location for the MinIO data to be stored. The recommendation is for this to be a minio
directory within the Altair SLC Hub var
directory (C:\ProgramData\Altair\SLC Hub
by default, but can be set at Hub installation time so may be different). This directory will be referred to as the MinIO data directory or minio-data-directory
. Create that directory, and within it, create a directory called slchub
as a bucket for Hub to use. That is, assuming the default location for the Hub var
directory, there should be a directory created called C:\ProgramData\Altair\SLC Hub\minio\slchub
.
Run MinIO as a Windows Service
It is possible to run MinIO as a Windows service using the WinSW service wrapper included with Altair SLC Hub.
To do this, create a file called minio-home\slchub.minio.xml
with the following contents:
<service> <id>slchub.minio</id> <name>Altair SLC Hub MinIO server</name> <description>MinIO object store for Altair SLC Hub</description> <env name="MINIO_ROOT_USER" value="minioadmin"/> <env name="MINIO_ROOT_PASSWORD" value="minio123"/> <env name="SLCHUB_VAR" value="C:\ProgramData\Altair\SLC Hub\var"/> <executable>minio-home/minio.exe</executable> <arguments>server --address 127.0.0.1:8192 --console-address 127.0.0.1:18192 "%SLCHUB_VAR%\minio"</arguments> <log mode="roll"></log> <logpath>%SLCHUB_VAR%\log</logpath> <startmode>Manual</startmode> </service>
Substitute minio-home
for the appropriate value. It may be necessary to change the location of SLCHUB_VAR
, and the values of MINIO_ROOT_USER
and MINIO_ROOT_PASSWORD
.
Create the service by running
[Hub Install Root]\libexec\winsw install <minio-home>\slchub.minio.xml
The service can then be started with the normal Windows services control panel application.
In the case of error, there will be log files created in the Hub var\log
directory called slchub.minio.wrapper.log
, slchub.minio.out.log
and slchub.minio.err.log
.
Verify MinIO Operation
With MinIO running, it should be possible to point a browser at <a href="http://localhost:18192">http://localhost:18192</a>
and log on to MinIO with the userid and password configured in the service file (so minioadmin
and minio123
in the example above).
Also verify that the slchub
bucket exists. If not, use the MinIO interface to create the bucket.
Configure Hub S3 Connection
Create a file [Hub Install Root]/etc/config.d/s3_minio.yaml
with these contents (changing the password if necessary):
s3: endpoint: localhost:8192 accessKeyId: minioadmin secretAccessKey: minio123 bucketName: slchub insecure: true
Note
These instructions are only suitable for using MinIO in support of evaluating Altair SLC Hub since they use an insecure connection to MinIO. Consult the MinIO web site for details of how to make the installation of MinIO robust.