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

Installation überprüfen

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 mit xn-- beginnen.
  • Kein -s3alias-Suffix: Namen dürfen nicht auf -s3alias enden (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.

  1. Gehen Sie in der MinIO-Konsole zu Access Keys, um neue Schlüssel zu erzeugen.
  2. Klicken Sie auf Access Key erstellen, um Access- und Secret-Keys zu generieren.
  3. 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.

  1. Laden Sie einen S3-Browser auf Ihr Gerät herunter und installieren Sie ihn.
  2. Ö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.

s3cmd-Paket installieren.

$ sudo apt install -y s3cmd

RHEL/Rocky Linux

DNF-Cache aktualisieren.

s3cmd-Paket installieren.

$ sudo dnf install -y s3cmd

macOS (Homebrew)

Homebrew aktualisieren.

s3cmd-Paket installieren.

Zugangsschlüssel konfigurieren

Nach der Installation konfigurieren Sie die Zugangsdaten zur Verbindung mit Ihrem MinIO-Server.

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:9000 eingeben.
  • 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:

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:

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:

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:

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.

Quelle: vultr.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren: