Archive for the ‘MinIO S3 Storage’ Category
MinIO – why kubernetes needs object storage
Freitag, Oktober 28th, 2022MinIO Training – how to install on Docker based systems
Donnerstag, Oktober 27th, 2022MinIO – how to install on Red Hat Enterprise Linux based systems
Donnerstag, Oktober 27th, 2022MinIO and Restic Pi – building a raspberry pi with an external hard drive to selfhost backups
Mittwoch, Oktober 26th, 2022MinIO and Veeam Backup & Replication – joined forces to deliver a masterclass in designing high performance systems for backup/restore and ransomware use cases
Montag, Oktober 24th, 2022Raspberry Pi – OpenSSL SSL how to use a private key and public certificate with an S3-compatible object storage server with MinIO on DietPi
Mittwoch, Oktober 19th, 2022Create self-signed x509 certificates with Subject Alternative Names (SAN)
[v3_ca]
this is the value you specified on x509_extensions
subjectAltName:IP@
specifies an IP address in Internet Protocol version 4 (IPv4) format
root@dpi-iot-jsho-MinIO-02:~# cd /etc/ssl
root@dpi-iot-jsho-MinIO-02:/etc/ssl# vi openssl.cnf
[ v3_ca ]
subjectAltName = IP:192.168.1.175
root@dpi-iot-jsho-MinIO-02:~# mkdir -p .minio/certs
root@dpi-iot-jsho-MinIO-02:~/.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) []:dpi-iot-jsho-MinIO-02.fritz.box
Email Address []:josef.schuster@dpsolution.de
root@dpi-iot-jsho-MinIO-02:~/.minio/certs#
root@dpi-iot-jsho-MinIO-02:~#
root@dpi-iot-jsho-MinIO-02:~# ./minio server /mnt/USBStick/MinIO
MinIO Object Storage Server
Copyright: 2015-2022 MinIO, Inc.
License: GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>
Version: RELEASE.2022-10-15T19-57-03Z (go1.18.7 linux/arm)
Status: 1 Online, 0 Offline.
API: https://192.168.1.175:9000 https://127.0.0.1:9000
RootUser: minioadmin
RootPass: minioadmin
Console: https://192.168.1.175:40403 https://127.0.0.1:40403
RootUser: minioadmin
RootPass: minioadmin
root@dpi-iot-jsho-MinIO-02:~#
root@dpi-iot-jsho-MinIO-02:~# ./mc alias set myminio https://192.168.1.175:9000 <…> <…>
Fingerprint of myminio public key: f3da8375f54838362aa10bbc03e6bf7c1df52f0a01106290079a9c18ae5a2f44
Confirm public key y/N: y
Added `myminio` successfully.
root@dpi-iot-jsho-MinIO-02:~#
https://dpi-iot-jsho-MinIO-02.fritz.box:9000

Microsoft Windows Server 2022 – einfache Installation Veeam Backup & Replication 11 Community Edition (CE) mit einem Fujitsu Futro S740


MinIO Client (mc) – the ‚mc ilm ls‘ command displays information on a MinIO server
Freitag, Oktober 14th, 2022root@rpi-iot-jsho-cam-02:~# ./mc –json ilm ls myminio/worm-with-versioning-and-retention–day
{
„status“: „success“,
„target“: „myminio/worm-with-versioning-and-retention–day“,
„config“: {
„Rules“: [
{
„Expiration“: {
„Days“: 10
},
„ID“: „ccuhi9imc0l03bund8j0“,
„Status“: „Enabled“
},
{
„ID“: „ccuhieimc0l03bund8jg“,
„NoncurrentVersionExpiration“: {
„NoncurrentDays“: 3,
„NewerNoncurrentVersions“: 0
},
„Status“: „Enabled“
}
]
}
}
root@rpi-iot-jsho-cam-02:~#
root@rpi-iot-jsho-cam-02:~# ./mc –json ilm ls myminio/worm-with-versioning-and-retention–week
{
„status“: „success“,
„target“: „myminio/worm-with-versioning-and-retention–week“,
„config“: {
„Rules“: [
{
„Expiration“: {
„Days“: 24
},
„ID“: „ccuhj3amc0l03bund8k0“,
„Status“: „Enabled“
},
{
„ID“: „ccuhj72mc0l03bund8kg“,
„NoncurrentVersionExpiration“: {
„NoncurrentDays“: 3,
„NewerNoncurrentVersions“: 0
},
„Status“: „Enabled“
}
]
}
}
root@rpi-iot-jsho-cam-02:~#
root@rpi-iot-jsho-cam-02:~# ./mc –json ilm ls myminio/worm-with-versioning-and-retention–month
{
„status“: „success“,
„target“: „myminio/worm-with-versioning-and-retention–month“,
„config“: {
„Rules“: [
{
„Expiration“: {
„Days“: 93
},
„ID“: „ccuhjdqmc0l03bund8l0“,
„Status“: „Enabled“
},
{
„ID“: „ccuhji2mc0l03bund8lg“,
„NoncurrentVersionExpiration“: {
„NoncurrentDays“: 3,
„NewerNoncurrentVersions“: 0
},
„Status“: „Enabled“
}
]
}
}
root@rpi-iot-jsho-cam-02:~#
root@rpi-iot-jsho-cam-02:~# ./mc –json ilm ls myminio/worm-with-versioning-and-retention–year
{
„status“: „success“,
„target“: „myminio/worm-with-versioning-and-retention–year“,
„config“: {
„Rules“: [
{
„Expiration“: {
„Days“: 733
},
„ID“: „ccuhjpqmc0l03bund8m0“,
„Status“: „Enabled“
},
{
„ID“: „ccuhjuqmc0l03bund8mg“,
„NoncurrentVersionExpiration“: {
„NoncurrentDays“: 3,
„NewerNoncurrentVersions“: 0
},
„Status“: „Enabled“
}
]
}
}
root@rpi-iot-jsho-cam-02:~#
MinIO Client (mc) – the ‚mc retention info‘ command displays information on a MinIO server
Freitag, Oktober 14th, 2022root@rpi-iot-jsho-cam-02:~# ./mc –json retention info myminio/worm-with-versioning-and-retention–day
{
„op“: „info“,
„enabled“: „Enabled“,
„mode“: „COMPLIANCE“,
„validity“: „7DAYS“,
„status“: „success“
}
root@rpi-iot-jsho-cam-02:~# ./mc –json retention info myminio/worm-with-versioning-and-retention–week
{
„op“: „info“,
„enabled“: „Enabled“,
„mode“: „COMPLIANCE“,
„validity“: „21DAYS“,
„status“: „success“
}
root@rpi-iot-jsho-cam-02:~# ./mc –jsonretention info myminio/worm-with-versioning-and-retention–month
{
„op“: „info“,
„enabled“: „Enabled“,
„mode“: „COMPLIANCE“,
„validity“: „90DAYS“,
„status“: „success“
}
root@rpi-iot-jsho-cam-02:~# ./mc –json retention info myminio/worm-with-versioning-and-retention–year
{
„op“: „info“,
„enabled“: „Enabled“,
„mode“: „COMPLIANCE“,
„validity“: „730DAYS“,
„status“: „success“
}
root@rpi-iot-jsho-cam-02:~#
MinIO Client (mc) – the ‚mc admin info‘ command displays information on a MinIO server
Donnerstag, Oktober 13th, 2022root@rpi-iot-jsho-cam-02:~# ./mc admin info myminio
● 192.168.1.145:9000
Uptime: 18 hours
Version: 2022-10-08T20:11:00Z
Network: 1/1 OK
Drives: 1/1 OK
Pool: 1
Pools:
1st, Erasure sets: 1, Drives per erasure set: 1
3.1 GiB Used, 8 Buckets, 26,641 Objects, 37,197 Versions
1 drive online, 0 drives offline
root@rpi-iot-jsho-cam-02:~#
root@rpi-iot-jsho-cam-02:~# ./mc –json admin info myminio
{
„status“: „success“,
„info“: {
„mode“: „online“,
„deploymentID“: „3495641a-9c50-4fa9-bc47-0bbd693d1dc8“,
„buckets“: {
„count“: 8
},
„objects“: {
„count“: 22183
},
„versions“: {
„count“: 30430
},
„usage“: {
„size“: 3054404033
},
„services“: {
„kms“: {
„status“: „disabled“
},
„ldap“: {}
},
„backend“: {
„backendType“: „Erasure“,
„onlineDisks“: 1
},
„servers“: [
{
„state“: „online“,
„endpoint“: „192.168.1.145:9000“,
„uptime“: 28285,
„version“: „2022-10-08T20:11:00Z“,
„commitID“: „3c4ef4338fdfba4e2540a602abccc7f0f115c699“,
„network“: {
„192.168.1.145:9000“: „online“
},
„drives“: [
{
„endpoint“: „/mnt/476824cb-3b88-4363-9d52-5a42f7869fb8/minio-data“,
„path“: „/mnt/476824cb-3b88-4363-9d52-5a42f7869fb8/minio-data“,
„scanning“: true,
„state“: „ok“,
„uuid“: „f4fbb9ae-fe8c-4d6a-9019-646e4aec9288“,
„major“: 0,
„minor“: 0,
„totalspace“: 60777484288,
„usedspace“: 3378294784,
„availspace“: 57399189504,
„metrics“: {
„lastMinute“: {
„CreateFile“: {
„count“: 4,
„acc_time_ns“: 145899000
},
„ListVols“: {
„count“: 1,
„acc_time_ns“: 748000
},
„ReadVersion“: {
„count“: 8,
„acc_time_ns“: 80839000
},
„RenameData“: {
„count“: 4,
„acc_time_ns“: 162602000
},
„StatVol“: {
„count“: 4,
„acc_time_ns“: 1413000
}
},
„apiCalls“: {
„AppendFile“: 0,
„CheckParts“: 0,
„CreateFile“: 3762,
„Delete“: 0,
„DeleteVersion“: 12832,
„DeleteVersions“: 0,
„DeleteVol“: 0,
„ListDir“: 0,
„ListVols“: 390,
„MakeVol“: 0,
„MakeVolBulk“: 0,
„ReadAll“: 2,
„ReadFile“: 0,
„ReadFileStream“: 0,
„ReadMultiple“: 0,
„ReadVersion“: 16829,
„ReadXL“: 0,
„RenameData“: 4740,
„RenameFile“: 0,
„StatInfoFile“: 0,
„StatVol“: 4827,
„UpdateMetadata“: 0,
„VerifyFile“: 0,
„WalkDir“: 65,
„WriteAll“: 0,
„WriteMetadata“: 0
}
},
„free_inodes“: 3703958,
„pool_index“: 0,
„set_index“: 0,
„disk_index“: 0
}
],
„mem_stats“: {
„Alloc“: 210118952,
„TotalAlloc“: 15314082696,
„Mallocs“: 109814140,
„Frees“: 109648271,
„HeapAlloc“: 210118952
}
}
]
}
}
root@rpi-iot-jsho-cam-02:~#
MinIO Client (mc) – für eine Backup Strategie ‚ProtectIT‘ mit MinIO S3 Storage
Dienstag, Oktober 11th, 2022#!/bin/bash
set -x
BackupDay=`date „+%Y-%m-%d“
BackupYesterday=`date „+%Y-%m-%d“ –date=‘-1 days’`
BackupTomorrow=`date „+%Y-%m-%d“ –date=’+1 days’`
BackupLastmonth=`date „+%Y-%m-%d“ –date=‘-1 months’`
BackupNextmonth=`date „+%Y-%m-%d“ –date=’+1 months’`
MinIO Client (mc) – allows creating rules for time or date based automatic transition or expiry of objects for backup strategy ‚ProtectIT‘
Donnerstag, Oktober 6th, 2022root@ra-iot-jsho-dietpi-01:~#
root@ra-iot-jsho-dietpi-01:~# ./mc ilm add –expiry-days 15 myminio/worm-with-versioning-and-retention–day
Lifecycle configuration rule added with ID `ccvb6uvjgafto4pohe50` to myminio/worm-with-versioning-and-retention–day.
root@ra-iot-jsho-dietpi-01:~# ./mc ilm add –noncurrentversion-expiration-days 3 myminio/worm-with-versioning-and-retention–day
Lifecycle configuration rule added with ID `ccvb72vjgafto97cv9bg` to myminio/worm-with-versioning-and-retention–day.
root@ra-iot-jsho-dietpi-01:~#

root@ra-iot-jsho-dietpi-01:~#
root@ra-iot-jsho-dietpi-01:~# ./mc ilm export myminio/worm-with-versioning-and-retention–day
{
„Rules“: [
{
„Expiration“: {
„Days“: 15
},
„ID“: „ccvb9ifjgaftofga4sbg“,
„Status“: „Enabled“
},
{
„ID“: „ccvb9n7jgaftoc43s9g0“,
„NoncurrentVersionExpiration“: {
„NoncurrentDays“: 3,
„NewerNoncurrentVersions“: 0
},
„Status“: „Enabled“
}
]
}
root@ra-iot-jsho-dietpi-01:~#
MinIO Client (mc) – how to remove one or more buckets
Mittwoch, Oktober 5th, 2022
MinIO Client (mc) – mc rb permanently deletes bucket(s) on the target deployment including any and all object versions and bucket configurations such as lifecycle management or replication
root@rpi-iot-jsho-cam-02:~#
root@rpi-iot-jsho-cam-02:~# ./mc rb –force –dangerous myminio/worm-with-versioning-and-retention-day
Removed `myminio/worm-with-versioning-and-retention-day` successfully.
root@rpi-iot-jsho-cam-02:~#
root@rpi-iot-jsho-cam-02:~# ./mc rb –force –dangerous myminio/worm-with-versioning-and-retention–day
mc: <ERROR> Failed to remove `myminio/worm-with-versioning-and-retention–day`. Object, ‚2022-10-04.tar (Version ID=cf57a320-eaf4-4cb3-ae7d-3070ce9fa92d)‘ is WORM protected and cannot be overwritten.
root@rpi-iot-jsho-cam-02:~#
DietPi 8.8.1 – Backup/Restore mittels MinIO Client (mc) mit zwei Fujitsu Futro S740 über ein 1 GBit/s Netzwerk
Sonntag, Oktober 2nd, 2022
