Archive for the ‘MinIO S3 Storage’ Category

Banana Pi BPI-M1 – how to update an S3-compatible object storage server with MinIO on Armbian Bullseye

Sonntag, Februar 20th, 2022
root@rpi-iot-jsho-cam-02:~# ./mc admin update myminio
Server `myminio` updated successfully from 2021-12-20T22:07:16Z to 2022-02-18T01-50-10Z
root@rpi-iot-jsho-cam-02:~#

MinIO – setup on Ubuntu 20.04 LTS with Lets Encrypt

Dienstag, Februar 15th, 2022

MinIO – Kubernetes native Object Storage Hands On

Montag, Februar 14th, 2022

MinIO – Understanding

Montag, Februar 14th, 2022

Banana Pi BPI-M1 – how to update an S3-compatible object storage server with MinIO on Armbian Bullseye

Sonntag, Februar 13th, 2022
root@rpi-iot-jsho-cam-02:~# ./mc admin update myminio
Server `myminio` updated successfully from 2022-02-07T08:17:33Z to 2022-02-12T00-51-25Z
root@rpi-iot-jsho-cam-02:~#

MinIO – a disk cache quickstart guide

Donnerstag, Januar 27th, 2022

root@VA-MINIO-252:~#

root@VA-MINIO-252:~# ./mc admin speedtest myminio/bucket
(With 64 MiB object size, 2 concurrency) PUT: 32 MiB/s GET: 96 MiB/s
(With 64 MiB object size, 3 concurrency) PUT: 19 MiB/s GET: 115 MiB/s
(With 64 MiB object size, 5 concurrency) PUT: 19 MiB/s GET: 115 MiB/s
MinIO 2022-01-27T03:53:02Z, 1 servers, 4 drives
PUT: 19 MiB/s, 0 objs/s
GET: 115 MiB/s, 1 objs/s
root@VA-MINIO-252:~#
root@VA-MINIO-252:~# ./mc admin service stop myminio
Stopping on service signal
Stopped `myminio` successfully.
root@VA-MINIO-252:~# MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=“<password>“ ./minio server /data{0…3} –console-address :9001 &
[2] 6286
[1] Fertig MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=“<password>“ ./minio server /data{0…3} –console-address :9001
root@VA-MINIO-252:~# Verifying if 1 bucket is consistent across drives…
Automatically configured API requests per node based on available memory on the system: 18
WARNING: Disk caching is deprecated for single/multi drive MinIO setups. Please migrate to using MinIO S3 gateway instead of disk caching
Cache Capacity: 113 GiB Free, 118 GiB Total
Status: 4 Online, 0 Offline.
API: http://192.168.27.252:9000 http://127.0.0.1:9000
RootUser: admin
RootPass: <password>
Console: http://192.168.27.252:9001 http://127.0.0.1:9001
RootUser: admin
RootPass: <password>
Command-line: https://docs.min.io/docs/minio-client-quickstart-guide
$ mc alias set myminio http://192.168.27.252:9000 admin <password>
Documentation: https://docs.min.io
root@VA-MINIO-252:~#

MinIO – Speedtest

Dienstag, Januar 25th, 2022

root@VA-MINIO-252:~# ./mc admin speedtest myminio
(With 64 MiB object size, 2 concurrency) PUT: 13 MiB/s GET: 109 MiB/s
(With 64 MiB object size, 3 concurrency) PUT: 19 MiB/s GET: 109 MiB/s
MinIO 2022-01-08T03:11:54Z, 1 servers, 6 drives
PUT: 19 MiB/s, 0 objs/s
GET: 109 MiB/s, 1 objs/s
root@VA-MINIO-252:~#

Banana Pi BPI-M1 – practical example with an S3-compatible object storage server with MinIO on Armbian Bullseye

Montag, Januar 24th, 2022

root@rpi-iot-jsho-cam-02:~# vi MinioMotioneyeBackup.sh
#!/bin/bash
#FileName: MinIoMotioneyeBackup.sh
LocalBackupPath=“/var/lib/motioneye“
MinioBucket=“myminio/worm-with-versioning-and-retention/motioneye“
MCPATH=“/root/mc“
$MCPATH mirror –json –overwrite –remove –preserve $LocalBackupPath $MinioBucket
$MCPATH rm –force –versions –recursive –older-than 7d $MinioBucket
root@rpi-iot-jsho-cam-02:~#
root@rpi-iot-jsho-cam-02:~# vi MinioMotioneyeBackup2.sh
!/bin/bash
#FileName: MinIoMotioneyeBackup2.sh
LocalBackupPath=“/var/lib/motioneye“
MinioBucket=“myminio/noworm-with-versioning-and-noretention/motioneye“
MCPATH=“/root/mc“
$MCPATH mirror –json –overwrite –remove –preserve $LocalBackupPath $MinioBucket
$MCPATH rm –force –versions –recursive –older-than 7d $MinioBucket
root@rpi-iot-jsho-cam-02:~#
root@rpi-iot-jsho-cam-02:~# vi MinioMotioneyeBackup3.sh
!/bin/bash
#FileName: MinIoMotioneyeBackup3.sh
LocalBackupPath=“/var/lib/motioneye“
MinioBucket=“myminio/noworm-with-noversioning-and-noretention/motioneye“
MCPATH=“/root/mc“
$MCPATH mirror –json –overwrite –remove –preserve $LocalBackupPath $MinioBucket
root@rpi-iot-jsho-cam-02:~#
root@rpi-iot-jsho-cam-02:~# vi MinioMotioneyeBackupStart.sh
#! /bin/bash
/root/MinioMotioneyeBackup.sh
/root/MinioMotioneyeBackup2.sh
/root/MinioMotioneyeBackup3.sh
root@rpi-iot-jsho-cam-02:~# crontab -l
15 * * * * /root/MinioMotioneyeBackupStart.sh >> /dev/null 2>&1
root@rpi-iot-jsho-cam-02:~#

… after one week backup

root@rpi-iot-jsho-cam-02:~# ./mc admin update myminio
Server `myminio` updated successfully from 2021-12-29T06:49:06Z to 2022-01-08T03-11-54Z

… after two weeks

Banana Pi BPI-M1 – practical example with an S3-compatible object storage server with MinIO on Armbian Bullseye

Donnerstag, Januar 13th, 2022

root@rpi-iot-jsho-cam-02:~# vi MinIoMotioneyeBackup.sh
#!/bin/bash
#FileName: MinIoMotioneyeBackup.sh
LocalBackupPath=“/var/lib/motioneye“
MinioBucket=“myminio/worm-with-versioning-and-retention/motioneye“
MCPATH=“/root/mc“
$MCPATH mirror –json –overwrite –remove –preserve $LocalBackupPath $MinioBucket
root@rpi-iot-jsho-cam-02:~#
root@rpi-iot-jsho-cam-02:~# crontab -l
00 * * * * /root/MinioMotioneyeBackup.sh >> /dev/null 2>&1
00 * * * * /root/MinioMotioneyeBackup2.sh >> /dev/null 2>&1
00 * * * * /root/MinioMotioneyeBackup3.sh >> /dev/null 2>&1
root@rpi-iot-jsho-cam-02:~#
root@rpi-iot-jsho-cam-02:~# date
Wed 05 Jan 2022 04:36:38 PM CET
root@rpi-iot-jsho-cam-02:~#

root@rpi-iot-jsho-cam-02:~# date
Thu 06 Jan 2022 09:21:59 AM CET
root@rpi-iot-jsho-cam-02:~#

root@rpi-iot-jsho-cam-02:~# date
Fri 07 Jan 2022 01:37:18 PM CET

root@rpi-iot-jsho-cam-02:~#

root@rpi-iot-jsho-cam-02:~# date
Sun 09 Jan 2022 12:37:55 PM CET

root@rpi-iot-jsho-cam-02:~#

root@rpi-iot-jsho-cam-02:~# vi MinioMotioneyeBackup.sh
#!/bin/bash
#FileName: MinIoMotioneyeBackup.sh
LocalBackupPath=“/var/lib/motioneye“
MinioBucket=“myminio/worm-with-versioning-and-retention/motioneye“
MCPATH=“/root/mc“
$MCPATH mirror –json –overwrite –remove –preserve $LocalBackupPath $MinioBucket
$MCPATH rm –force –versions –recursive –older-than 7d $MinioBucket
root@rpi-iot-jsho-cam-02:~#
root@rpi-iot-jsho-cam-02:~# vi MinioMotioneyeBackup2.sh
!/bin/bash
#FileName: MinIoMotioneyeBackup2.sh
LocalBackupPath=“/var/lib/motioneye“
MinioBucket=“myminio/noworm-with-versioning-and-noretention/motioneye“
MCPATH=“/root/mc“
$MCPATH mirror –json –overwrite –remove –preserve $LocalBackupPath $MinioBucket
$MCPATH rm –force –versions –recursive –older-than 7d $MinioBucket
root@rpi-iot-jsho-cam-02:~#
root@rpi-iot-jsho-cam-02:~# vi MinioMotioneyeBackup3.sh
!/bin/bash
#FileName: MinIoMotioneyeBackup3.sh
LocalBackupPath=“/var/lib/motioneye“
MinioBucket=“myminio/noworm-with-noversioning-and-noretention/motioneye“
MCPATH=“/root/mc“
$MCPATH mirror –json –overwrite –remove –preserve $LocalBackupPath $MinioBucket
root@rpi-iot-jsho-cam-02:~#

root@rpi-iot-jsho-cam-02:~# ./mc rm –force –versions –recursive –older-than 6d myminio/worm-with-versioning-and-retention/motioneye
Removing `myminio/worm-with-versioning-and-retention/motioneye/Camera1/.keep` (versionId=23026458-6652-4139-985d-ad4068cc5f26, modTime=2022-01-04 22:00:25.386 +0000 UTC).
Removing `myminio/worm-with-versioning-and-retention/motioneye/Camera1/.keep` (versionId=2eee588f-343a-4844-a14c-f5d1522430c6, modTime=2022-01-04 10:00:20.937 +0000 UTC).
Removing `myminio/worm-with-versioning-and-retention/motioneye/Camera1/2022-01-04/17-12-19.jpg` (versionId=ee2b64ce-f03b-4bb0-b0a2-034d5e9dd217, modTime=2022-01-04 17:00:17.052 +0000 UTC).
Removing `myminio/worm-with-versioning-and-retention/motioneye/Camera2/2022-01-04/15-26-20.jpg` (versionId=e076f7e7-0a3e-4026-84ad-f0345be0769a, modTime=2022-01-04 15:04:00.74 +0000 UTC).
Removing `myminio/worm-with-versioning-and-retention/motioneye/Camera2/2022-01-04/15-26-21.jpg` (versionId=2a7c2ee3-b46a-4d5c-8375-556743e8c404, modTime=2022-01-04 15:04:00.669 +0000 UTC).
Removing `myminio/worm-with-versioning-and-retention/motioneye/Camera2/2022-01-04/15-26-22.jpg` (versionId=500b4e3a-2138-4a0a-bd08-778e816cef70, modTime=2022-01-04 15:04:00.733 +0000 UTC).
mc: <ERROR> Failed to remove `/worm-with-versioning-and-retention/motioneye/Camera2/2022-01-04/15-26-22.jpg`. Object is WORM protected and cannot be overwritten
root@rpi-iot-jsho-cam-02:~#
root@rpi-iot-jsho-cam-02:~# date
Wed 12 Jan 2022 12:04:08 PM CET
root@rpi-iot-jsho-cam-02:~#

root@rpi-iot-jsho-cam-02:~# ./mc rb –force myminio/worm-with-versioning-and-retention5d
mc: <ERROR> Failed to remove `myminio/worm-with-versioning-and-retention5d`. Object is WORM protected and cannot be overwritten.
root@rpi-iot-jsho-cam-02:~#
root@rpi-iot-jsho-cam-02:~# ./mc du –versions myminio/worm-with-versioning-and-retention5d
332MiB worm-with-versioning-and-retention5d
root@rpi-iot-jsho-cam-02:~#

Ein immutable Backup ist eine Datensicherung – die nicht verändert oder gelöscht werden kann

Dienstag, Januar 11th, 2022

MSP360 Managed Backup 5.2 – new backup format GFS restore verification deduplication and more

Samstag, Januar 1st, 2022

   MSP360 Managed Backup – Backup and IT Management Software Simplified

Banana Pi BPI-M1 – Let’s Encrypt SSL how to use a private key and public certificate with an S3-compatible object storage server with MinIO on Armbian Bullseye

Donnerstag, Dezember 30th, 2021

root@bpi-iot-jsho-minio-03:~# apt-get install certbot
root@bpi-iot-jsho-minio-03:~# certbot certonly
Saving debug log to /var/log/letsencrypt/letsencrypt.log
How would you like to authenticate with the ACME CA?
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
1: Spin up a temporary webserver (standalone)
2: Place files in webroot directory (webroot)
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Select the appropriate number [1-2] then [enter] (press ‚c‘ to cancel): 1
Plugins selected: Authenticator standalone, Installer None
Please enter in your domain name(s) (comma and/or space separated) (Enter ‚c‘
to cancel): bpi-iot-jsho-minio-03.ddnss.eu
Requesting a certificate for bpi-iot-jsho-minio-03.ddnss.eu
Performing the following challenges:
http-01 challenge for bpi-iot-jsho-minio-03.ddnss.eu
Waiting for verification…
Cleaning up challenges
Subscribe to the EFF mailing list (email: josef.schuster@dpsolution.de).
IMPORTANT NOTES:
– Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/bpi-iot-jsho-minio-03.ddnss.eu/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/bpi-iot-jsho-minio-03.ddnss.eu/privkey.pem
Your certificate will expire on 2022-03-27. To obtain a new or
tweaked version of this certificate in the future, simply run
certbot again. To non-interactively renew *all* of your
certificates, run „certbot renew“
– If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let’s Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
root@bpi-iot-jsho-minio-03:~#
root@bpi-iot-jsho-minio-03:/# find . -name fullchain.pem -print
./etc/letsencrypt/live/bpi-iot-jsho-minio-03.ddnss.eu/fullchain.pem
root@bpi-iot-jsho-minio-03:/#
root@bpi-iot-jsho-minio-03:~# cp /etc/letsencrypt/live/bpi-iot-jsho-minio-03.ddnss.eu/fullchain.pem $HOME/.minio/certs/public.crt
root@bpi-iot-jsho-minio-03:~# cp /etc/letsencrypt/live/bpi-iot-jsho-minio-03.ddnss.eu/privkey.pem $HOME/.minio/certs/private.key

If your TLS certificates do not have the IP SAN for the MinIO server host the MinIO Console may fail to validate the connection to the server use the MINIO_SERVER_URL environment variable and specify the proxy-accessible hostname of the MinIO server to allow the Console to use the MinIO server API using the TLS certificate

root@bpi-iot-jsho-minio-03:/# MINIO_SERVER_URL=“https://bpi-iot-jsho-minio-03.ddnss.eu:9000″ MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=<password> ./minio server –console-address „:9001“ /data/data{0…3}
https://bpi-iot-jsho-minio-03.ddnss.eu:9001

root@bpi-iot-jsho-minio-02:~# ./mc alias set myminio https://bpi-iot-jsho-minio-03.ddnss.eu:9000 admin <password>
Added `myminio` successfully.
root@bpi-iot-jsho-minio-02:~#
root@bpi-iot-jsho-minio-02:~# ./mc –version myminio
mc version RELEASE.2021-12-20T23-43-34Z
root@bpi-iot-jsho-minio-02:~# ./mc admin update myminio
Server `myminio` updated successfully from 2021-12-20T22:07:16Z to 2021-12-29T06-49-06Z
root@bpi-iot-jsho-minio-02:~#

MinIO – has also added the ability to auto-extract .tar files after upload

Montag, Dezember 27th, 2021
# mc mb play/mybucket
# mc cp <path-to-archive>.tar play/mybucket –disable-multipart –attr „X-Amz-Meta-Snowball-Auto-Extract=true“
# mc ls play/mybucket

Banana Pi BPI-M1 – OpenSSL SSL how to use a private key and public certificate with an S3-compatible object storage server with MinIO on Armbian Bullseye

Montag, Dezember 27th, 2021
root@bpi-iot-jsho-minio-03:~# cd .minio/certs
root@bpi-iot-jsho-minio-03:~/.minio/certs# openssl req -newkey rsa:4096 -x509 -sha256 -days 365 -nodes -out public.crt -keyout private.key
Generating a RSA private key
……………………………………………..++++
……………………………………………..++++
writing new private key to ‚private.key‘
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‚.‘, the field will be left blank.
—–
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:Bavarian
Locality Name (eg, city) []:St.Wolfgang
Organization Name (eg, company) [Internet Widgits Pty Ltd]:JSHO
Organizational Unit Name (eg, section) []:JSHO
Common Name (e.g. server FQDN or YOUR name) []:bpi-iot-jsho-minio-03.fritz.box
Email Address []:josef.schuster@dpsolution.de
root@bpi-iot-jsho-minio-03:~/.minio/certs#

MinIO Object Retention Modes ‚GOVERNANCE‘ – lifts the lock automatically after the configured retention rule duration has passed

Montag, Dezember 27th, 2021