In Zimbra abbiamo revisionato la gestione dello storage, e sono stati aggiunti il supporto per storage di provider esterni come Amazon S3, Ceph, NetApp StorageGrid e OpenIO.
In questo articolo imparerai come installare Minio come soluzione di archiviazione S3 on premise e come configurarlo in Zimbra.
Installing Minio
Su una macchina virtuale dedicata installa Ubuntu 20 e installa Minio seguendo i seguenti passaggi:
- Vai su https://min.io/download#/linux e fai clic sul pulsante deb:
Copia le prime 2 righe ed eseguile come root sul tuo server Ubuntu 20 Minio:
wget https://dl.min.io/server/minio/release/linux-amd64/minio_20220813215444.0.0_amd64.deb dpkg -i minio_20220813215444.0.0_amd64.deb
Successivamente, crea l’utente del sistema operativo, il gruppo del sistema operativo e la posizione di archiviazione per Minio:
groupadd -r minio-utente useradd -M -r -g minio-utente minio-utente mkdir /media/data chown minio-user:minio-user /media/data
Quindi crea la configurazione per la creazione di Minio /etc/default/miniousando nano:
nano /etc/default/minio
Aggiungi il seguente contenuto al /etc/default/miniofile e imposta la
password dell’amministratore:
MINIO_VOLUMES="/media/data" MINIO_OPTS="--indirizzo-console :9001" MINIO_ROOT_USER=minioadmin MINIO_ROOT_PASSWORD=imposta-una-password-qui
Dovrai configurare un firewall e aprire le porte 9000 e 9001.
Esempio:
apt-get install -y netfilter-persistent iptables systemctl arresta iptables systemctl disabilita iptables systemctl mask iptables systemctl ferma ufw systemctl disabilita ufw systemctl maschera ufw iptables -P INPUT ACCETTA iptables --flush #blocca i pacchetti nulli iptables -A INPUT -p tcp --tcp-flags TUTTI NESSUNO -j DROP #block syn flood iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP #blocca i pacchetti di NATALE iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP #accetta tutto il traffico sulla tua interfaccia di loopback iptables -A INPUT -i lo -j ACCETTA iptables -A OUTPUT -o lo -j ACCETTA #Consenti connessioni in entrata stabilite e correlate iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT #Consenti porte iptables -A INPUT -p tcp -m tcp --dport 9000 -j ACCETTA iptables -A INPUT -p tcp -m tcp --dport 9001 -j ACCETTA iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCETTA #attiva il ping iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -p icmp --icmp-type 0 -d 0/0 -m state --state ESTABLISHED,RELATED -j ACCEPT #Imposta criteri predefiniti iptables -P USCITA ACCETTA iptables -P AVANTI ACCETTA iptables -P INPUT DROP #IPv6 chiuso per ora /usr/sbin/ip6tables -P USCITA ACCETTA /usr/sbin/ip6tables -P AVANTI ACCETTA /usr/sbin/ip6tables -P INPUT DROP salvataggio persistente di netfilter
Invece di consentire la porta 9000 e 9001 per tutti, puoi limitare l’accesso a Minio restringendo gli IP. Sostituisci le righe con 9000 e 9001 dall’esempio precedente con:
iptables -A INPUT -p tcp -s INDIRIZZO-IP-DEL-SERVER-ZIMBRA -m tcp --dport 9000 -j ACCETTA iptables -A INPUT -p tcp -s 192.168.1.0/24 -m tcp --dport 9001 -j ACCETTA
La porta 9001 viene utilizzata per l’interfaccia di gestione, puoi inserire l’IP della tua workstation o una rete affidabile. La porta 9000 è da dove funziona l’API di archiviazione S3 effettiva, puoi consentire solo agli IP del server Zimbra di raggiungere la porta 9000.
Infine avvia e abilita Minio:
systemctl avvia minio systemctl abilita minio systemctl stato minio
Setting up S3 bucket in Minio
Apri il tuo browser e vai su http://your-minio-server-ip:9001/login e inserisci le credenziali che scegli nel /etc/default/miniofile:
Quindi vai su Identità → Utente e fai clic su Crea utente.
Impostare un nome utente e una password, selezionare l’opzione readwrite e fare clic su Salva.
Quindi vai su Bucket → Crea bucket
Inserisci il nome del bucket e fai clic su Crea bucket.
Configurazione del bucket S3 su Zimbra
Nella Zimbra Admin Console vai su Configura → Server → Il tuo server e fai clic su Gestione archiviazione. E fai clic sul pulsante Aggiungi.
Seleziona il tipo di volume Amazon S3 e fai clic su Avanti.
Seleziona il tipo di volume, inserisci un nome e un prefisso e fai clic sul pulsante Crea un nuovo bucket.
Inserisci i dettagli del bucket così come li hai configurati in Minio e fai clic su Test (il pulsante di test verrà rimosso in una versione futura) e quindi su Avanti.
Infine seleziona la configurazione del bucket appena creata dal menu a discesa e fai clic su Fine.
Ora puoi utilizzare il bucket S3 di Minio come volume Zimbra tramite le impostazioni Assegna volume corrente.
Trabocchetti
- Attualmente i certificati autofirmati non sono supportati
- Si suggerisce di configurare la rete (di archiviazione) tra Zimbra e MinIO utilizzando vlans
- Le configurazioni dei bucket create tramite l’Admin Console possono essere modificate solo tramite l’interfaccia a riga di comando, fare riferimento alla Guida dell’amministratore. Puoi rimuovere i bucket tramite Configura -> Impostazioni globali -> Gestione archiviazione e quindi aggiungerli con gli stessi passaggi di cui sopra.
Utilizza il bucket S3 come volume di messaggi secondario per Hierarchical Storage Management (HSM)
Puoi utilizzare un bucket S3 e configurarlo come volume di messaggi secondario, quindi puoi abilitare la politica di gestione dello storage per spostare le vecchie email/documenti nel bucket S3. Ciò libererà spazio sul volume dei messaggi principale. Se utilizzi Amazon S3, i dati più vecchi probabilmente non cambieranno molto e alla fine si troveranno in un livello di archiviazione più economico.