MinIO auf Ubuntu 24.04 mit Blockspeicher bereitstellen
MinIO ist eine Open-Source-Lösung für leistungsstarkes Objektspeichern, die eine S3-kompatible API zum Verwalten und Teilen von Dateien als Objekte bereitstellt. Es basiert auf einer Server- und Konsolenarchitektur und ermöglicht verschiedene Zugriffsmethoden wie eine Weboberfläche, das mc-Kommandozeilenwerkzeug sowie weitere S3-kompatible Clients wie S3 Browser, Cyberduck und s3cmd.
In dieser Anleitung erfahren Sie, wie Sie MinIO auf Ubuntu 24.04 bereitstellen. Sie installieren und konfigurieren MinIO in einer Single Node Single Drive (SNSD)-Umgebung und binden ein Blockspeichergerät zum Speichern der Objekte ein.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Folgendes vorhanden ist:
- Ein Ubuntu 24.04 Server mit einem Nicht-Root-Benutzer und Sudo-Rechten.
- Ein A-Record einer Domain, der auf die Server-IP zeigt (z. B.
minio.example.com). - Ein bereitgestelltes und eingehängtes Blockspeichervolumen unter
/mnt/minio-data.
MinIO installieren
MinIO ist nicht in den Standard-APT-Repositories von Ubuntu enthalten. Sie müssen das offizielle Debian-Paket von der MinIO-Release-Seite herunterladen und manuell mit dpkg installieren.
MinIO Debian-Paket herunterladen
$ wget https://dl.min.io/server/minio/release/linux-amd64/minio_20250422221226.0.0_amd64.deb -O minio.deb
Der obige Befehl lädt das MinIO-Debian-Paket herunter und speichert es als minio.deb. Um die neueste Version zu prüfen, besuchen Sie die offizielle Release-Seite.
MinIO-Paket installieren
$ sudo dpkg -i minio.deb
Installation überprüfen
$ minio --version
Die Ausgabe sollte ähnlich aussehen wie:
minio version RELEASE.2025-04-22T22-12-26Z (commit-id=0d7408fc9969caf07de6a8c3a84f9fbb10a6739e) Runtime: go1.24.2 linux/amd64
MinIO konfigurieren
MinIO wird mit dem Befehl minio gesteuert. Dieser unterstützt Optionen zum Definieren von Ports, Speicherpfaden und Administrator-Zugangsdaten. Damit die Einstellungen dauerhaft bleiben, müssen sie in einer Konfigurationsdatei gespeichert werden.
Konfigurationsdatei erstellen
$ sudo nano /etc/default/minio
Fügen Sie den folgenden Inhalt ein:
MINIO_VOLUMES="/mnt/minio-data"
MINIO_OPTS="-C /etc/minio --address :9000 --console-address :9001"
MINIO_ROOT_USER="minio_admin"
MINIO_ROOT_PASSWORD="strong-password"
Ersetzen Sie minio_admin und strong-password durch eigene Zugangsdaten (das Passwort muss mindestens 8 Zeichen haben).
MinIO-Benutzer erstellen
$ sudo useradd -m -s /usr/sbin/nologin minio-user
Besitzrechte für Speicherverzeichnis zuweisen
$ sudo chown minio-user:minio-user /mnt/minio-data
Dienst aktivieren und starten
$ sudo systemctl enable minio
$ sudo systemctl start minio.service
Status des Dienstes prüfen
$ sudo systemctl status minio.service
MinIO mit SSL absichern
Standardmäßig läuft MinIO auf den Ports 9000 (API) und 9001 (Konsole). Aus Sicherheitsgründen wird empfohlen, HTTPS mit Let’s Encrypt Zertifikaten zu verwenden und die Konsole an Port 443 zu binden.
Certbot installieren und Zertifikate anfordern
$ sudo ufw allow 80/tcp
$ sudo apt install certbot -y
$ sudo certbot certonly --standalone -d minio.example.com -m hello@example.com --agree-tos
Automatische Verlängerung testen:
$ sudo certbot renew --dry-run
SSL-Verzeichnis und Berechtigungen einrichten
$ sudo mkdir -p /opt/minio-certs
$ sudo cp /etc/letsencrypt/live/minio.example.com/fullchain.pem /opt/minio-certs/public.crt
$ sudo cp /etc/letsencrypt/live/minio.example.com/privkey.pem /opt/minio-certs/private.key
$ sudo chown -R minio-user:minio-user /opt/minio-certs/
SSL-Bindung für MinIO aktivieren
$ which minio
$ sudo setcap cap_net_bind_service=+ep /usr/local/bin/minio
Konfigurationsdatei anpassen
MINIO_VOLUMES="/mnt/minio-data"
MINIO_OPTS="-C /etc/minio --address :9000 --console-address :443 --certs-dir /opt/minio-certs"
MINIO_ROOT_USER="minio_admin"
MINIO_ROOT_PASSWORD="strong-password"
MINIO_DOMAIN="minio.example.com"
Dienst neu starten
$ sudo systemctl restart minio
$ sudo systemctl status minio
Firewall-Regeln aktualisieren
$ sudo ufw allow 443/tcp
$ sudo ufw allow 9000/tcp
$ sudo ufw reload
$ sudo ufw status
Stellen Sie sicher, dass die Firewall aktiv ist und die Regeln für die Ports 80, 443 und 9000 angewendet sind.
Zugriff auf MinIO
Öffnen Sie Ihren Browser und rufen Sie Ihre MinIO-Domain über die folgende URL auf:
https://minio.example.com
Bestätigen Sie, dass die MinIO-Webkonsole geladen wird, und melden Sie sich mit den Administrator-Anmeldedaten aus /etc/default/minio an.
- BENUTZERNAME:
minio_admin - PASSWORT:
strong-password
Zugriff auf die MinIO-Webkonsole
Nach dem Einloggen wählen Sie im Hauptmenü Buckets, um einen neuen Objektspeicher-Bucket anzulegen.
Klicken Sie auf Bucket erstellen und geben Sie im Feld Bucket-Name einen Namen ein (z. B. centron-test).
Namenskonventionen für Buckets
- Länge: Bucket-Namen müssen zwischen 3 und 63 Zeichen lang sein.
- Zulässige Zeichen: Nur Kleinbuchstaben, Zahlen, Punkte (
.) und Bindestriche (-). - Keine aufeinanderfolgenden Punkte: Keine zwei Punkte hintereinander (
..) oder Punkt neben Bindestrich (-.oder.-). - Keine IP-Formatierung: Keine Namen im IP-Format (z. B.
192.168.5.4). - Kein
xn---Präfix: Namen dürfen nicht mitxn--beginnen. - Kein
-s3alias-Suffix: Namen dürfen nicht auf-s3aliasenden (reserviert für Access-Point-Aliasnamen). - Eindeutigkeit: Bucket-Namen müssen innerhalb einer Partition eindeutig sein.
Einen neuen MinIO-Bucket erstellen
Aktivieren Sie bei Bedarf zusätzliche Bucket-Funktionen:
- Versionierung: Behält mehrere Versionen desselben Objekts unter einem Schlüssel.
- Objektsperre: Verhindert Löschungen und ermöglicht Aufbewahrung/Legal Hold (nur bei Erstellung aktivierbar).
- Quota: Begrenzt die Gesamtmenge der im Bucket gespeicherten Daten.
- Retention: Verhindert Löschungen für einen definierten Zeitraum. Versionierung muss aktiviert sein.
Klicken Sie nach der Auswahl auf Bucket erstellen, um den MinIO-Objektspeicher-Bucket einzurichten.
Prüfen Sie anschließend, ob er in der Bucket-Liste erscheint. Klicken Sie auf den Namen, um die Eigenschaften einzusehen und zu konfigurieren.
Dateien über den Object Browser hochladen
Öffnen Sie im Hauptmenü den Object Browser.
Wählen Sie den neuen Bucket, klicken Sie auf Upload und dann auf Datei hochladen, um Dateien von Ihrem Gerät hinzuzufügen.
Überprüfen Sie, ob der Upload abgeschlossen ist und die Datei im Bucket erscheint. Um die Datei zu teilen, klicken Sie auf das Objekt und wählen Teilen, um eine verschlüsselte Download-URL zu erstellen.
Legen Sie die Ablaufzeit fest und klicken Sie auf das Kopiersymbol, um den Link freizugeben.
Zugriff auf MinIO mit einem S3 Browser
S3-Clients ermöglichen es, Objekte sicher hochzuladen und zu verwalten. Die MinIO-API lauscht auf Port 9000 und akzeptiert S3-Verbindungen. Verwenden Sie z. B. S3 Browser, um sich zu verbinden und Dateien hochzuladen.
- Gehen Sie in der MinIO-Konsole zu Access Keys, um neue Schlüssel zu erzeugen.
- Klicken Sie auf Access Key erstellen, um Access- und Secret-Keys zu generieren.
- Wählen Sie Ablaufdatum und Name, klicken Sie dann auf Erstellen, um die Schlüssel zu speichern.
Kopieren Sie die generierten Schlüssel oder klicken Sie auf Download for Import, um sie als Datei zu speichern.
- Laden Sie einen S3-Browser auf Ihr Gerät herunter und installieren Sie ihn.
- Öffnen Sie die Anwendung und wählen Sie im Menü Neues Konto hinzufügen.
Tragen Sie im Fenster Neues Konto hinzufügen Folgendes ein:
- Anzeigename: Name für Ihr MinIO-Konto.
- Konto-Typ: S3-kompatibler Speicher.
- API-Endpunkt: Ihre MinIO-API-URL (z. B.
minio.example.com:9000). - Access Key ID: Den zuvor generierten Access Key.
- Secret Access Key: Den zuvor generierten Secret Key.
- Sichere Übertragung: Aktivieren, um die Übertragung zu verschlüsseln.
Klicken Sie auf Änderungen speichern, um das Konto zu sichern und eine Verbindung zum MinIO-Server aufzubauen.
Vergewissern Sie sich, dass Ihre Buckets im S3 Browser angezeigt werden. Klicken Sie auf einen Bucket, um die Objekte zu sehen.
Zugriff auf MinIO mit s3cmd
s3cmd ist ein Kommandozeilen-Tool für S3-kompatible Speicher wie MinIO. Damit können Sie Buckets auflisten, erstellen, löschen sowie Objekte hoch- und herunterladen. Befolgen Sie diese Schritte, um s3cmd mit Ihrem MinIO-Server zu nutzen.
s3cmd-CLI-Tool installieren
Ubuntu/Debian
APT-Paketindex aktualisieren.
$ sudo apt update
s3cmd-Paket installieren.
$ sudo apt install -y s3cmd
RHEL/Rocky Linux
DNF-Cache aktualisieren.
$ sudo dnf makecache
s3cmd-Paket installieren.
$ sudo dnf install -y s3cmd
macOS (Homebrew)
Homebrew aktualisieren.
% brew update
s3cmd-Paket installieren.
% brew install s3cmd
Zugangsschlüssel konfigurieren
Nach der Installation konfigurieren Sie die Zugangsdaten zur Verbindung mit Ihrem MinIO-Server.
$ s3cmd --configure
Geben Sie bei den Abfragen Folgendes ein:
- Access Key: Der in der MinIO-Konsole erstellte Access Key.
- Secret Key: Der in der MinIO-Konsole erstellte Secret Key.
- Default Region: Enter drücken, um den Standardwert zu übernehmen.
- S3 Endpoint: Ihre MinIO-API-URL (z. B.
minio.example.com:9000). - DNS-style bucket+hostname:port:
minio.example.com:9000eingeben. - Encryption password: Optional – Passwort zum Verschlüsseln der gespeicherten Konfiguration.
- Use HTTPS protocol: Mit Yes bestätigen, um HTTPS zu aktivieren.
- HTTP Proxy server name: Leer lassen, wenn kein Proxy genutzt wird.
Nach der Eingabe sehen Sie eine Übersicht wie folgt:
New settings:
Access Key: Your Access Key
Secret Key: Your Secret Access Key
Default Region: US
S3 Endpoint: minio.example.com:9000
DNS-style bucket+hostname:port template for accessing a bucket: minio.example.com:9000
Encryption password:
Path to GPG program: /usr/bin/gpg
Use HTTPS protocol: True
HTTP Proxy server name:
HTTP Proxy server port: 0
Test access with supplied credentials? [Y/n]
Drücken Sie Y, um die Verbindung zu prüfen.
Häufige s3cmd-Befehle
Alle Buckets auf dem MinIO-Server auflisten:
$ s3cmd ls
Beispielausgabe:
2025-04-27 05:06 s3://centron-test
Einen neuen Bucket erstellen:
$ s3cmd mb s3://my-new-bucket
Ersetzen Sie my-new-bucket durch den gewünschten Bucket-Namen.
Erneut Buckets auflisten, um den neuen Bucket zu bestätigen:
$ s3cmd ls
Beispielausgabe:
2025-04-27 09:52 s3://my-new-bucket
2025-04-27 05:06 s3://centron-test
Datei in einen Bucket hochladen:
$ s3cmd put myfile.txt s3://my-new-bucket/
Beispielausgabe:
upload: 'myfile.txt' -> 's3://my-new-bucket/myfile.txt' [1 of 1]
2611218 of 2611218 100% in 0s 11.14 MB/s done
Objekte in einem Bucket auflisten:
$ s3cmd ls s3://my-new-bucket
Beispielausgabe:
2025-04-27 10:03 2611218 s3://my-new-bucket/myfile.txt
Lokale Testdatei löschen:
$ rm myfile.txt
Datei aus einem MinIO-Bucket herunterladen:
$ s3cmd get s3://my-new-bucket/myfile.txt
Beispielausgabe:
download: 's3://my-new-bucket/myfile.txt' -> './myfile.txt' [1 of 1]
2611218 of 2611218 100% in 0s 107.92 MB/s done
Datei aus einem Bucket löschen:
$ s3cmd del s3://my-new-bucket/myfile.txt
Beispielausgabe:
delete: 's3://my-new-bucket/myfile.txt'
Einen Bucket vom MinIO-Server löschen:
$ s3cmd rb s3://my-new-bucket
Beispielausgabe:
Bucket 's3://my-new-bucket/' removed
Buckets erneut auflisten, um die Löschung zu bestätigen:
$ s3cmd ls
Beispielausgabe:
2025-04-27 05:06 s3://centron-test
Fazit
Sie haben MinIO auf Ubuntu 24.04 in einer Single Node Single Drive (SNSD)-Umgebung mit eingebundenem Blockspeicher bereitgestellt. Mit MinIO als Systemdienst und durch Let’s Encrypt SSL-Zertifikate abgesichert, ist Ihre Objektspeicherumgebung produktionsbereit. Sie können Daten über die gesicherte Webkonsole, mit Kommandozeilenwerkzeugen wie s3cmd oder Desktop-Clients wie S3 Browser verwalten und teilen. Weitere Konfigurationsoptionen und Details finden Sie in der offiziellen MinIO-Dokumentation.


