Installazione e configurazione di base dello storage ad oggetti S3 MinIO su Debian 12

da | Nov 4, 2024

MinIO è uno storage ad oggetti open source compatibile con S3 che può essere utilizzato come “Object Storage Repository” su Veeam Backup.
È possibile installare MinIO su diverse piattaforme, tra cui Debian, Kubernetes e Windows ed è possibile effettuare l’upgrade alla versione enterprise (a pagamento) in caso di necessità di features avanzate.
In questo articolo verranno mostrati gli step di installazioene e configurazione di base di MinIO su Debian 12.

PREREQUISITI

MinIO, per funzionare tramite HTTPS, necessita che venga effettuato SSL offloading; a questo scopo si consiglia di utilizzare HAProxy, poiché è il bilanciatore di carico più performante.
In questo articolo verranno mostrate le configurazioni di HAProxy necessarie, tuttavia non verranno mostrati gli step di installazione del bilanciatore.

AGGIORNAMENTO DEL SISTEMA OPERATIVO

Per aggiornare il sistema operativo e rimuovere i pacchetti obsoleti eseguire:

DISABILITAZIONE DELL’IPV6

Se non viene utilizzato è consigliato disabilitare IPv6 eseguendo i seguenti comandi:

CONFIGURAZIONE DEL VOLUME iSCSI

Installare Open iSCSI con il comando:

Modificare l’IQDN nel file “/etc/iscsi/initiatorname.iscsi” (opzionale).

Riavviare il servizio

systemctl restart iscsid.service

Abilitare il servizio all’avvio:

ATTENZIONE: Sostituire nei seguenti comandi il parametro “portal” con l’IP dello storage o del NAS con la pubblicazione iSCSI e il parametro “target” con l’IQDN della LUN.

Verificare che il target iSCSI sia disponibile (con questo comando è anche possibile visualizzare gli IQDN dei target iSCSI):

Per inizializare la sessione, eseguire:

Abilitare l’avvio automatico della sessione iSCSI:

Verificare che la LUN iSCSI venga mostrata tra i dischi disponibili:

Annotarsi il path su cui è stata mappata la LUN (nel mio caso /dev/sdb).

CREAZIONE DEL FILESYSTEM

Partizionare il volume iSCSI (sostituire “/dev/sdb” con il path su cui è stata mappata la LUN):

Installare il pacchetto xfsprogs:

Creare il filesystem XFS (sostituire /dev/sdb1 con la partizione appena creata):

Aggiungere la seguente riga al file /etc/fstab (sostituire /dev/sdb1 con la partizione appena creata):

Ricaricare il file fstab:

Creare la directory su cui montare il filesystem:

Montare il filesystem:

INSTALLAZIONE DELLA UTILITY MC

Scaricare il binario mc:

Rendere eseguibile il binario ed aggiungerlo al PATH:

Provare ad eseguirlo:

Modificare il profilo bash:

CONFIGURAZIONE DELL’UTENZA DI MINIO

Creare l’utenza ed il gruppo per MinIO:

Assegnare minio-user come owner della directory su cui viene montata la LUN iSCSI:

INSTALLAZIONE DI MINIO SERVER

Scaricare il pacchetto per Debian di MinIO ed installarlo:

Modificare il servizio MinIO:

Quando si apre l’editor di testo, aggiungere il seguente contenuto:

Aggiungere il file /etc/default/minio (sostituire la password):

Se si volesse utilizzare una porta privilegiata (<= 1024) per la dashboard, è necessario aggiungere la capability all’eseguibile:

Assegnare i permessi corretti al file:

Ricaricare il servizio:

Avviare il servizio:

Abilitare il servizio:

CONFIGURAZIONE HAPROXY

ATTENZIONE

:
Nella configurazione di HAProxy effettuare le seguenti sostituzioni:
– 192.168.1.17: sostituire con l’IP su cui fare il bind delle porte (0.0.0.0 per indicare di effettuare il bind su tutte le interfacce IPv4)
– 192.168.1.5: sostituire con l’IP del server di MinIO
– minio01: sostituire con l’hostname del server di MinIO
– star.mydomain.local: sostituire con il nome del certificato da utilizzare

Su HAProxy aggiungere la seguente configurazione:

CONFIGURAZIONE DI BASE DI MINIO

Alcuni applicativi, come ad esempio Veeam Backup, necessitano che venga specificata la regione geografica dello storage.
Per configurarla è necessario accedere alla sotto sezione Region della sezione Configuration e modificare il parametro Server Location:

Si consiglia di utilizzare una region esistente; ad esempio l’Italia rietra nella regione eu-south-1.

In seguito è possibile creare una IAM Policy per autorizzare gli accessi di Veeam; per farlo è necessario accedere alla sezione Policies e cliccare Create Policy:

Assegnare un nome alla policy, modificare il contenuto e cliccare Save per salvare:

In seguito viene mostrato un esempio di policy che autorizza Veeam ad effettuare qualsiasi operazione sul bucket bucket01:

La data della Version non è riferita a quando è stata scritta la policy, ma alla versione della sinstassi.
È possibile modificare nella policy la stringa bucket01 per applicarla ad un altro bucket, oppure aggiungere una risorsa per applicarla a più buckets.

Per agggiungere un’utenza, è necessario accedere alla sotto sezione “Users” della sezione Identity e cliccare su Create User:

Compilare il campo username e password, selezionare la IAM Policy da applicare all’utenza e cliccare su Save per salvare:

Nella sezione Buckets è possibile creare un bucket cliccando su Create Bucket:

Compilare il nome del bucket (ricordarsi di utilizzare lo stesso specificato nella IAM Policy) ed abilitare il Versioning ed il Object Locking:

Infine, è necessario creare l’API key che verrà utilizzata da Veeam per autenticarsi, per farlo cliccare sull’utenza appena creata, navigare nella sezione Service Accounts e cliccare su Create Access Key:

Copiare la Access Key e la Secret Key, eventualmente compilare il nome e la descrizione ed infine salvare cliccando su Create:

Dopo aver confermato la creazione della chiave, MinIO permette di effettuarne il download in formato JSON.

Nel caso che sia necessario effettuare modifiche alla IAM Policy, è necessario modificarla anche relativamente alla Access Key.

Per modificare la policy relativa ad una chiave è necessario selezionare l’utenza a cui appartiene, accedere alla sezione Service Accounts, cliccare sulla chiave ed effettuare le modifiche alla policy.

Scritto da Marco Valle

Mi chiamo Marco Valle e da sempre sono appassionato di Cybersicurezza e Linux.
Per lavoro implemento soluzioni open source.

Related Post

Creazione in massa di utenze su Active Directory

Basta lanciare da una command line la seguente stringa: for /l %i in (100,1,200) do net users Utente%i Password add Legenda: Utente%i: nome da dare alle utenze che si vuol creare 100,1,200: inserisce le utenze numerandole da 100 a 200 Password: inserisce la password...

leggi tutto

0 commenti

Invia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Virtualizzazione

Linux

Microsoft

Apple

Backup

Database

Security

Automazione