Ricerca nel sito web

Come installare MinIO Storage su Rocky Linux


Su questa pagina

  1. Prerequisiti
  2. Installazione manuale di MinIO
  3. Impostazione dell'archiviazione per l'archiviazione di oggetti MinIO
  4. Configurazione dello storage di oggetti MinIO
  5. Esecuzione di MinIO come servizio Systemd
  6. Impostazione di Firewalld
  7. Protezione di MinIO con certificati SSL
  8. Creazione del primo bucket e caricamento dei file
  9. Impostazione dell'interfaccia a riga di comando del client MinIO
  10. Creazione di un bucket tramite riga di comando MinIO
  11. Conclusione

MinIO è un server di archiviazione di oggetti gratuito e open source scritto in Go. È compatibile con l'archiviazione di oggetti Amazone S3 ed è una delle soluzioni migliori e più gratuite per l'archiviazione di oggetti. Con MinIO, puoi archiviare foto, video, file di registro, backup e immagini di container/VM.

Sul lato server, MinIO fornisce un'architettura altamente scalabile con la semplicità dell'applicazione che rende il server delle applicazioni facile da installare e configurare. E sul lato client, fornisce un'applicazione client binaria che consente di gestire l'archiviazione degli oggetti dal terminale. Inoltre, MinIO fornisce un dashboard di amministrazione Web potente e facile da usare per gli utenti che preferiscono utilizzare il browser Web.

MinIO è una soluzione di archiviazione di oggetti self-hosted adatta a più architetture di distribuzione. Puoi distribuire MinIO come storage di oggetti su una grande infrastruttura con replica continua dei dati o distribuirlo su un piccolo ambiente come un server domestico.

In questo tutorial, ti guideremo attraverso il processo di installazione di MinIO Object Storage su un server Rocky Linux. Creerai anche un nuovo archivio oggetti con MinIO e configurerai la macchina client Linux per gestire il server MinIO Object Storage.

Alla fine, avrai MinIO Object Storage installato sul server Rocky Linux e protetto con certificati SSL. Avrai anche la macchina client per la gestione di MinIO.

Prerequisiti

Per iniziare con questo tutorial, avrai bisogno dei seguenti requisiti:

  • Un server che esegue Rocky Linux: puoi utilizzare Rocky Linux v8 o v9.
  • Un utente non root con privilegi sudo/root.
  • Un disco o directory aggiuntivo verrà utilizzato come archivio oggetti.
  • Per la produzione, avrai bisogno di un nome di dominio puntato sull'indirizzo IP del server Rocky Linux.

Passiamo ora all'installazione di MinIO.

Installazione manuale di MinIO

MinIO è l'object storage di nuova generazione facile da installare e configurare su server e client. MinIO fornisce più versioni di pacchetti per macchine virtuali containerizzate e tradizionali.

Puoi installare MinIO su Kubernetes, RedHat OpenShift o utilizzando Docker. per la macchina virtuale, puoi installare MinIO su qualsiasi distribuzione Linux o utilizzando Windows e macOS.

In questo esempio, installerai MinIO manualmente sul server Rocky Linux.

Esegui il seguente comando curl per scaricare il file binario per MinIO in /usr/local/bin/minio.

curl -o /usr/local/bin/minio https://dl.min.io/server/minio/release/linux-amd64/minio

Ora rendi eseguibile il file binario MinIO tramite il comando chmod di seguito.

sudo chmod +x /usr/local/bin/minio

Per assicurarti di poter eseguire il file binario MinIO, devi aggiungere la directory /usr/local/bin alla variabile d'ambiente PATH.

Esegui il seguente comando per aggiungere la directory /usr/local/bin alla variabile d'ambiente PATH tramite la configurazione del file ~/.bashrc.

echo 'export PATH="$PATH:/usr/local/bin"' >> ~/.bashrc

Successivamente, ricarica il file di configurazione ~/.bashrc e verifica la variabile d'ambiente PATH tramite il seguente comando.

source ~/.bashrc
echo $PATH

Dovresti vedere la directory /usr/local/bin aggiunta alla variabile d'ambiente PATH.

Successivamente, esegui il seguente comando per verificare che il comando minio sia disponibile. Con questo, dovresti ottenere il percorso completo del file binario MinIO /usr/local/bin/minio.

which minio

Infine, verifica l'attuale versione di MinIO installata sul tuo sistema, utilizzando il comando minio di seguito.

minio --version

Vedrai che MinIO è installato su Rocky Linux.

Ora che hai installato MinIO. Prima di configurare un archivio oggetti, sarà necessario preparare il disco o la directory che verrà utilizzata come archivio oggetti.

Impostazione dell'archiviazione per l'archiviazione di oggetti MinIO

Per configurare l'archiviazione oggetti MinIO, sarà necessario configurare una directory o utilizzare un disco aggiuntivo che verrà utilizzato come archiviazione oggetti. In questo esempio imparerai come configurare un disco aggiuntivo /dev/vdb come storage di oggetti MinIO.

Per prima cosa, esegui il seguente comando per controllare l'elenco delle partizioni disponibili sul disco /dev/vdb. In questo esempio, c'è solo una partizione /dev/vdb1.

fdisk -l /dev/vdb

Ora crea una nuova directory /minio-data che verrà utilizzata come punto di montaggio per la partizione /dev/vdb1.

mkdir -p /minio-data

Successivamente, monta la partizione /dev/vdb1 nella directory di destinazione /minio-data.

sudo mount /dev/vdb1 /minio-data

Questo monterà temporaneamente la partizione /dev/vdb1 e l'impostazione scomparirà dopo il riavvio. Per rendere permanente l'impostazione, monti la partizione tramite il file /etc/fstab che ti permette di montare automaticamente le partizioni all'avvio.

Esegui il seguente nano editor per modificare il file /etc/fstab.

sudo nano /etc/fstab

Aggiungi la seguente configurazione al file e assicurati di modificare la partizione dei dettagli, il montaggio della destinazione e il formato del filesystem.

/dev/vdb1 /minio-data ext4 defaults 0 0

Salva il file ed esci dall'editor quando hai finito.

Ora esegui il seguente comando per montare le partizioni disponibili sul file /etc/fstab. Assicurati di non avere alcun messaggio di errore, il che significa che le partizioni sono montate su ogni directory di destinazione.

sudo mount -a

Infine, esegui il seguente comando per verificare la configurazione della tua partizione.

sudo df -h

Dovresti vedere che la partizione /dev/vdb1 è montata nella directory di destinazione /minio-data, che verrà utilizzata come archivio oggetti MinIO.

Ora che hai configurato la partizione per l'archiviazione degli oggetti. Successivamente, inizierai a configurare l'installazione di MinIO.

Configurazione dell'archiviazione oggetti MinIO

In questo passaggio, creerai una nuova configurazione per MinIO e creerai il nuovo file di configurazione che verrà utilizzato per eseguire il servizio MinIO. La configurazione MinIO dovrebbe trovarsi in /etc/minio, e la configurazione per l'esecuzione del servizio MinIO dovrebbe trovarsi in /etc/default/minio.

Per cominciare, esegui il seguente comando per creare un nuovo utente di sistema dedicato per MinIO. Questo utente verrà utilizzato per eseguire il servizio MinIO.

sudo useradd -r minio -s /sbin/nologin

Successivamente, esegui il comando seguente per modificare la proprietà della directory di archiviazione degli oggetti /minio-data all'utente e al gruppo minio.

sudo chown -R minio:minio /minio-data

Dopo aver modificato la proprietà della directory di archiviazione degli oggetti, sarà necessario creare una nuova directory di configurazione /etc/minio e il file di configurazione predefinito per l'esecuzione del servizio MinIO /etc/default/minio .

Esegui il seguente comando per creare una directory di configurazione /etc/minio e cambia la proprietà della nuova directory all'utente minio.

sudo mkdir -p /etc/minio
sudo chown -R minio:minio /etc/minio

Crea un nuovo file di configurazione MinIO /etc/default/minio utilizzando il seguente editor nano.

sudo nano /etc/default/minio

Aggiungere la seguente configurazione al file. Inoltre, assicurati di modificare i dettagli della directory di archiviazione, dell'utente amministratore MinIO e della password.

MINIO_ROOT_USER="minio"
MINIO_VOLUMES="/minio-data"
MINIO_OPTS="-C /etc/minio --address :9000 --console-address :9001"
MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD="PassMinioStorage"

Salva il file ed esci dall'editor quando hai finito.

Infine, esegui il seguente comando per modificare la proprietà del file di configurazione di MinIO /etc/default/minio con l'utente corretto minio.

sudo chown minio:minio /etc/default/minio

Ora hai creato correttamente la directory di configurazione e la configurazione per l'installazione di MinIO. Con questo in mente, ora puoi avviare il MinIO. Ma, per renderlo più semplice, eseguirai MinIO come servizio systemd.

Esecuzione di MinIO come servizio Systemd

Dopo aver creato la directory di configurazione e il file per MinIO, ora configurerai MinIO come servizio systemd. Ciò ti consente di gestire facilmente MinIO tramite il comando systemctl sul tuo terminal server.

Esegui il seguente editor nano per creare un nuovo file di servizio systemd /lib/systemd/system/minio.service.

sudo nano /lib/systemd/system/minio.service

Nel tuo editor, aggiungi la seguente configurazione.

[Unit]
Description=Minio
Documentation=https://docs.minio.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio

[Service]
WorkingDirectory=/usr/local/

User=minio
Group=minio

EnvironmentFile=-/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"

ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES

# Let systemd restart this service always
Restart=always

# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=65536

# Disable timeout logic and wait until the process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no

[Install]
WantedBy=multi-user.target

Salva il file ed esci dall'editor quando hai finito.

Dopo aver creato il servizio systemd per MinIO, esegui il seguente comando per ricaricare il gestore systemd.

sudo systemctl daemon-reload

Ora avvia e abilita il servizio minio usando il comando seguente.

sudo systemctl start minio
sudo systemctl enable minio

Il servizio minio ora dovrebbe essere in esecuzione e abilitato. verifica il servizio minio tramite il comando systemctl di seguito.

sudo systemctl status minio

Ora dovresti ricevere l'output del servizio minio in esecuzione. Vedrai anche che il servizio è abilitato e verrà eseguito automaticamente all'avvio del sistema, soprattutto dopo che la rete è in esecuzione.

A questo punto, il MinIO è in esecuzione sulla porta predefinita 9000, puoi verificarlo visitando l'indirizzo IP del tuo server seguito dalla porta TCP 9000. Ma prima, devi aprire le porte su firewalld e proteggere la tua distribuzione MinIO con i certificati SSL.

Configurazione di Firewalld

In questo passaggio, configurerai il firewalld per l'apertura delle porte per l'archiviazione degli oggetti MinIO. L'installazione predefinita di MinIO utilizza la porta 9000 per il dashboard di amministrazione Web dell'utente e la porta 9001 per l'API.

Esegui il seguente comando firewall-cmd per aprire le porte 9000 e 9001 sul tuo firewalld.

sudo firewall-cmd --zone=public --add-port=9000/tcp --permanent
sudo firewall-cmd --zone=public --add-port=9001/tcp --permanent

Successivamente, esegui il comando seguente per ricaricare le regole firewalld e applicare le nuove modifiche. Quindi, verifica l'elenco delle regole abilitate su firewalld.

sudo firewall-cmd --reload
sudo firewall-cmd --list-all

Dovresti vedere le porte 9000 e 9001 aggiunte al firewalld.

Protezione di MinIO con certificati SSL

Dopo aver impostato le porte su firewalld, proteggerai l'installazione di MinIO con i certificati SSL.

Prima di iniziare a proteggere MinIO con SSL, assicurati di aver generato i certificati SSL. e Se stai installando MinIO in produzione, dovresti avere il nome di dominio puntato sull'indirizzo IP del tuo server.

Esegui il seguente comando cp per copiare i certificati SSL nella directory /etc/minio/certs. Questo esempio utilizza certificati SSL generati con Letsencrypt e utilizza il dominio minio.hwdomain.io.

sudo cp /etc/letsencrypt/live/minio.hwdomain.io/privkey.pem /etc/minio/certs/private.key
sudo cp /etc/letsencrypt/live/minio.hwdomain.io/fullchain.pem /etc/minio/certs/public.crt

Successivamente, apri il file di configurazione MinIO /etc/default/minio utilizzando il seguente editor nano.

sudo nano /etc/default/minio

Aggiungi la configurazione dell'opzione MINIO_SERVER_URL e modifica il nome del dominio con il tuo dominio.

MINIO_SERVER_URL="https://minio.hwdomain.io:9000"

Quando hai finito, salva il file ed esci dall'editor.

Ogni volta che apporti modifiche al file /etc/default/minio, riavvia il servizio minio utilizzando il comando systemctl di seguito per applicare le modifiche apportate.

sudo systemctl restart minio

L'archivio oggetti MinIO è ora in esecuzione e protetto con certificati SSL.

Ora apri il tuo browser web e visita il nome di dominio della tua installazione MinIO seguito dalla porta predefinita 9000 (es: https://minio.hwdomain.io:9000/). E dovresti vedere la pagina di accesso di MinIO.

Immettere l'utente e la password configurati nel file /etc/default/minio e fare clic su Accedi.

Se hai l'utente e la password corretti, dovresti ottenere la schermata del dashboard utente MinIO come di seguito.

Ora hai tutto configurato e MinIO installato e protetto. Nella fase successiva, imparerai come configurare un bucket e configurare la macchina client con la riga di comando MinIO.

Creazione del primo bucket e caricamento dei file

In questo passaggio imparerai come creare un bucket su MinIO tramite la dashboard di amministrazione web. Prima di iniziare, assicurati di aver effettuato l'accesso alla dashboard MinIO con il tuo utente.

Per creare un bucket su MinIO, fai clic sul menu \Buckets\ e fai clic sul pulsante \Crea bucket\.

Ora inserisci il nome e i dettagli del tuo bucket e fai clic su \Crea bucket\ per confermare. In questo esempio, creerai un nuovo bucket test-bucket.

Dopo aver creato il bucket, puoi caricare nuovi file o creare directory all'interno del bucket di prova.

Nella schermata seguente, puoi vedere i nuovi file caricati pool1.png e pool2.png nel bucket di prova.

Configurazione dell'interfaccia a riga di comando del client MinIO

MinIO fornisce un'applicazione client che consente di gestire l'archiviazione di oggetti MinIO tramite la riga di comando. In questo esempio, installerai l'interfaccia a riga di comando del client MinIO sulla macchina client, aggiungerai il server MinIO, quindi verificherai il bucket e i file dell'elenco tramite la riga di comando.

Sulla tua macchina locale, esegui il seguente comando per scaricare la CLI del client MinIO in /usr/local/bin/mc.

curl -o /usr/local/bin/mc https://dl.min.io/client/mc/release/linux-amd64/mc

Dopo il download, rendi eseguibile la CLI del client MinIO /usr/local/bin/mc.

sudo chmod +x /usr/local/bin/mc

Ora esegui il seguente comando per verificare la versione della CLI del client MinIO. Dovresti vedere il client MinIO installato sul tuo sistema.

which mc
mc --version

Dopo aver configurato la CLI del client MinIO, aggiungerai il tuo server MinIO.

Esegui il seguente comando per aggiungere il server MinIO al tuo computer locale. E assicurati di cambiare il nome alias test-minio, il nome di dominio del tuo archivio oggetti MinIO e l'utente e la password.

mc alias set test-minio https://minio.hwdomain.io:9000 admin PassMinioStorage

Dopo l'aggiunta, dovresti vedere il messaggio di output come Aggiunto test-minio con successo.

Ora esegui il seguente comando per verificare il file test-minio. E ora dovresti ottenere informazioni dettagliate sul server test-minio.

mc admin info test-minio

Successivamente, controlla l'elenco dei bucket disponibili sul server test-minio. Dovresti avere il test-bucket disponibile sul server test-minio.

mc ls test-minio

Infine, esegui il comando seguente per controllare l'elenco dei file nel test-bucket.

mc ls test-minio/test-bucket

Nella schermata seguente, puoi vedere che il file pool1.png e pool2.png sono disponibili nel test-bucket. Quel file è lo stesso file che è stato caricato nell'esempio in alto.

Creazione di bucket tramite riga di comando MinIO

In quest'ultimo passaggio imparerai come gestire il bucket tramite la riga di comando del client MinIO. Creerai un nuovo bucket, caricherai un file e verificherai l'elenco dei file nel bucket MinIO tramite la riga di comando del client.

Esegui il comando seguente per creare un nuovo bucket test-bucket2 sul server test-minio.

mc mb test-minio/test-bucket2

Crea un nuovo file test.txt utilizzando il comando seguente. Questo file verrà caricato nel test-bucket2.

echo "test file" > test.txt

Successivamente, carica il file test.txt nel test-bucket2 tramite il comando mc cp di seguito.

mc cp test.txt test-minio/test-bucket2

Dopo che il file è stato caricato, esegui il comando seguente per verificare l'elenco dei file in test-bucket2.

mc ls test-minio/test-bucket2

Ora dovresti ricevere l'output come il seguente screenshot. Il file test.txt viene caricato nel test-bucket2.

Ora torna alla dashboard dell'utente MinIO e fai clic sul menu Buckets. Dovresti vedere che il test-bucket2 è stato creato.

Fai clic su test-bucket2 e dovresti vedere il file test.txt caricato tramite la riga di comando di MinIO.

Conclusione

In questa guida, hai installato e configurato MinIO Object Storage sul server Rocky Linux. Hai anche appreso la configurazione di base per configurare il disco su Linux e proteggere il MinIO tramite certificati SSL ed eseguire MinIO come servizio systemd.

Alla fine, hai appreso l'utilizzo di base di MinIO creando bucket e caricando file tramite il dashboard di amministrazione web di MinIO. Hai anche imparato come installare la riga di comando del client MinIO e il suo utilizzo di base per l'aggiunta di un server MinIO, la creazione di bucket, il controllo dei file di elenco sul bucket e il caricamento di file in un bucket specifico.