So installierst du MinIO Storage auf Rocky Linux

MinIO ist ein freier und quelloffener Objektspeicher-Server, der in Go geschrieben wurde. Er ist mit Amazons S3-Objektspeicher kompatibel und ist eine der besten und kostenlosesten Lösungen für Objektspeicher. Mit MinIO kannst du Fotos, Videos, Logdateien, Backups und Container/VM-Images speichern.

Auf der Serverseite bietet MinIO eine hochskalierbare Architektur mit einer einfachen Anwendung, die den Anwendungsserver leicht zu installieren und zu konfigurieren macht. Und auf der Client-Seite bietet es eine binäre Client-Anwendung, mit der du den Objektspeicher über das Terminal verwalten kannst. Außerdem bietet MinIO ein leistungsfähiges und benutzerfreundliches Webadministrations-Dashboard für Nutzer, die lieber den Webbrowser verwenden.

MinIO ist eine selbst gehostete Objektspeicherlösung, die sich für verschiedene Einsatzarchitekturen eignet. Du kannst MinIO als Objektspeicher in einer großen Infrastruktur mit kontinuierlicher Datenreplikation oder in einer kleinen Umgebung wie einem Heimserver einsetzen.

In diesem Tutorial zeigen wir dir, wie du MinIO Object Storage auf einem Rocky Linux Server installierst. Außerdem erstellst du einen neuen Objektspeicher mit MinIO und konfigurierst den Linux-Client für die Verwaltung des MinIO-Objektspeicher-Servers.

Am Ende hast du den MinIO Object Storage auf dem Rocky Linux Server installiert und mit SSL-Zertifikaten gesichert. Außerdem hast du den Client-Rechner für die Verwaltung von MinIO.

Voraussetzungen

Um mit diesem Lernprogramm zu beginnen, brauchst du die folgenden Voraussetzungen:

  • Einen Server mit Rocky Linux – Du kannst Rocky Linux v8 oder v9 verwenden.
  • Einen Nicht-Root-Benutzer mit sudo/root-Rechten.
  • Eine zusätzliche Festplatte oder ein Verzeichnis, das als Objektspeicher verwendet wird.
  • Für die Produktion benötigst du einen Domainnamen, der auf die IP-Adresse des Rocky Linux-Servers zeigt.

Kommen wir nun zur Installation von MinIO.

Manuelle Installation von MinIO

MinIO ist ein Objektspeicher der nächsten Generation, der sowohl auf Servern als auch auf Clients einfach zu installieren und zu konfigurieren ist. MinIO bietet mehrere Versionen von Paketen sowohl für containerisierte als auch für traditionelle virtuelle Maschinen.

Du kannst MinIO auf Kubernetes, RedHat OpenShift oder mit Docker installieren. Für die virtuelle Maschine kannst du MinIO auf jeder Linux-Distribution oder unter Windows und macOS installieren.

In diesem Beispiel installierst du MinIO manuell auf dem Rocky Linux Server.

Führe den folgenden curl-Befehl aus, um die Binärdatei für MinIO nach„/usr/local/bin/minio“ herunterzuladen.

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

Mache nun die MinIO-Binärdatei mit dem unten stehenden chmod-Befehl ausführbar.

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

Um sicherzustellen, dass du die MinIO-Binärdatei ausführen kannst, solltest du das Verzeichnis„/usr/local/bin“ zur Umgebungsvariablen $PATH hinzufügen.

minio herunterladen

Führe den folgenden Befehl aus, um das Verzeichnis„/usr/local/bin“ über die Datei„~/.bashrc“ zur Umgebungsvariablen $PATH hinzuzufügen.

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

Lade dann die Konfigurationsdatei „~/.bashrc“ erneut und überprüfe die Umgebungsvariable $PATH mit dem folgenden Befehl.

source ~/.bashrc
echo $PATH

Du solltest sehen, dass das Verzeichnis„/usr/local/bin“ zur Umgebungsvariablen $PATH hinzugefügt wurde.

Führe anschließend den folgenden Befehl aus, um zu überprüfen, ob der Befehl „minio“ verfügbar ist. Damit solltest du den vollständigen Pfad der MinIO-Binärdatei„/usr/local/bin/minio“ erhalten.

which minio

Minioeinrichtung

Überprüfe abschließend die aktuelle MinIO-Version, die auf deinem System installiert ist, indem du den Befehl„minio“ verwendest.

minio --version

Du wirst sehen, dass MinIO auf dem Rocky Linux installiert ist.

Minio-Version prüfen

Jetzt hast du MinIO installiert. Bevor du einen Objektspeicher einrichtest, musst du die Festplatte oder das Verzeichnis vorbereiten, das als Objektspeicher verwendet werden soll.

Speicher für MinIO-Objektspeicher einrichten

Um den MinIO-Objektspeicher einzurichten, musst du ein Verzeichnis oder eine zusätzliche Festplatte einrichten, die als Objektspeicher verwendet werden soll. In diesem Beispiel erfährst du, wie du die zusätzliche Festplatte„/dev/vdb“ als MinIO-Objektspeicher einrichtest.

Führe zunächst den folgenden Befehl aus, um die Liste der verfügbaren Partitionen auf der Festplatte„/dev/vdb“ zu überprüfen. In diesem Beispiel gibt es nur eine Partition „/dev/vdb1„.

fdisk -l /dev/vdb

Erstelle nun ein neues Verzeichnis „/minio-data„, das als Einhängepunkt für die Partition „/dev/vdb1“ verwendet wird.

mkdir -p /minio-data

Als nächstes mountest du die Partition „/dev/vdb1“ in das Zielverzeichnis „/minio-data“.

sudo mount /dev/vdb1 /minio-data

Dadurch wird die Partition„/dev/vdb1“ vorübergehend gemountet und die Einstellung ist nach dem Neustart wieder aufgehoben. Um die Einstellung dauerhaft zu machen, mountest du die Partition über die Datei„/etc/fstab„, mit der du Partitionen beim Booten automatisch mounten kannst.

Führe den folgenden nano-Editor aus, um die Datei„/etc/fstab“ zu bearbeiten.

sudo nano /etc/fstab

Füge die folgende Konfiguration in die Datei ein und achte darauf, dass du die Detailpartition, das Einhängeziel und das Dateisystemformat änderst.

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

Speichere die Datei und beende den Editor, wenn du fertig bist.

Setup-Disk

Führe nun den folgenden Befehl aus, um die verfügbaren Partitionen in der Datei „/etc/fstab“ einzuhängen. Vergewissere dich, dass du keine Fehlermeldung erhältst, was bedeutet, dass die Partitionen in jedem Zielverzeichnis eingehängt sind.

sudo mount -a

Führe zum Schluss den folgenden Befehl aus, um die Konfiguration deiner Partition zu überprüfen.

sudo df -h

Du solltest sehen, dass die Partition „/dev/vdb1“ in das Zielverzeichnis„/minio-data“ eingehängt ist, das als MinIO-Objektspeicher verwendet wird.

Prüfscheibe

Jetzt hast du die Partition für den Objektspeicher konfiguriert. Als Nächstes wirst du mit der Konfiguration der MinIO-Installation beginnen.

MinIO-Objektspeicher konfigurieren

In diesem Schritt legst du eine neue Konfiguration für MinIO an und erstellst die neue Konfigurationsdatei, die für die Ausführung des MinIO-Dienstes verwendet wird. Die MinIO-Konfiguration sollte unter „/etc/minio“ und die Konfiguration für den Betrieb des MinIO-Dienstes unter„/etc/default/minio“ zu finden sein.

Führe zunächst den folgenden Befehl aus, um einen neuen dedizierten Systembenutzer für MinIO anzulegen. Dieser Benutzer wird für die Ausführung des MinIO-Dienstes verwendet.

sudo useradd -r minio -s /sbin/nologin

Als Nächstes führst du den folgenden Befehl aus, um den Eigentümer des Objektspeicherverzeichnisses„/minio-data“ auf den Benutzer und die Gruppe „minio“ zu ändern.

sudo chown -R minio:minio /minio-data

Nachdem du die Eigentümerschaft des Objektspeicherverzeichnisses geändert hast, musst du ein neues Konfigurationsverzeichnis„/etc/minio“ und die Standardkonfigurationsdatei für den MinIO-Dienst„/etc/default/minio“ erstellen.

Führe den folgenden Befehl aus, um ein Konfigurationsverzeichnis„/etc/minio“ zu erstellen und ändere den Eigentümer des neuen Verzeichnisses auf den Benutzer„minio„.

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

Erstelle eine neue MinIO-Konfigurationsdatei „/etc/default/minio“ mit dem folgenden nano-Editor.

sudo nano /etc/default/minio

Füge die folgende Konfiguration in die Datei ein. Achte außerdem darauf, dass du die Angaben zum Speicherverzeichnis, zum MinIO-Admin-Benutzer und zum Passwort änderst.

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"

Speichere die Datei und beende den Editor, wenn du fertig bist.

Führe abschließend den folgenden Befehl aus, um den Eigentümer der MinIO-Konfigurationsdatei „/etc/default/minio“ auf den richtigen Benutzer „minio“ zu ändern.

sudo chown minio:minio /etc/default/minio

Minio-Konfiguration erstellen

Du hast nun erfolgreich das Konfigurationsverzeichnis und die Konfiguration für die MinIO-Installation erstellt. Mit diesem Wissen kannst du jetzt MinIO starten. Um es einfacher zu machen, wirst du MinIO als Systemd-Dienst ausführen.

MinIO als Systemd-Dienst starten

Nachdem du das Konfigurationsverzeichnis und die Datei für MinIO erstellt hast, richtest du MinIO nun als systemd-Dienst ein. So kannst du MinIO ganz einfach über den Befehl systemctl auf deinem Terminalserver verwalten.

Führe den folgenden nano-Editor aus, um eine neue systemd-Dienstdatei „/lib/systemd/system/minio.service“ zu erstellen.

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

Füge in deinem Editor die folgende Konfiguration hinzu.

[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

Speichere die Datei und beende den Editor, wenn du fertig bist.

Nachdem du den systemd-Dienst für MinIO erstellt hast, führe den folgenden Befehl aus, um den systemd-Manager neu zu laden.

sudo systemctl daemon-reload

Starte und aktiviere nun den„minio„-Dienst mit dem folgenden Befehl.

sudo systemctl start minio
sudo systemctl enable minio

Minio-Dienst einrichten

Der„minio„-Dienst sollte jetzt laufen und aktiviert sein. Überprüfe den„minio„-Dienst mit dem folgenden systemctl-Befehl.

sudo systemctl status minio

Du solltest nun die Ausgabe erhalten, dass der„minio„-Dienst läuft. Du wirst auch sehen, dass der Dienst aktiviert ist und automatisch beim Systemstart ausgeführt wird, insbesondere wenn das Netzwerk läuft.

minio service überprüfen

Zu diesem Zeitpunkt läuft MinIO auf dem Standardport 9000. Du kannst das überprüfen, indem du die IP-Adresse deines Servers, gefolgt von dem TCP-Port 9000, aufrufst. Zuvor musst du jedoch Ports in der Firewalld öffnen und deinen MinIO-Einsatz mit SSL-Zertifikaten absichern.

Firewalld einrichten

In diesem Schritt richtest du die Firewalld ein, um Ports für den MinIO-Objektspeicher zu öffnen. Die Standardinstallation von MinIO verwendet Port 9000 für das Dashboard der Benutzerverwaltung und Port 9001 für die API.

Führe den folgenden Befehl firewall-cmd aus, um die Ports 9000 und 9001 in deiner Firewalld zu öffnen.

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

Führe als Nächstes den folgenden Befehl aus, um die Firewalld-Regeln neu zu laden und die neuen Änderungen zu übernehmen. Überprüfe dann die Liste der aktivierten Regeln in der Firewalld.

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

Du solltest sehen, dass die Ports 9000 und 9001 zur Firewalld hinzugefügt wurden.

firewalld einrichten

MinIO mit SSL-Zertifikaten absichern

Nachdem du die Ports in der Firewalld eingerichtet hast, musst du als Nächstes die MinIO-Installation mit SSL-Zertifikaten sichern.

Bevor du damit beginnst, MinIO mit SSL zu sichern, musst du sicherstellen, dass du SSL-Zertifikate generiert hast. und Wenn du MinIO in der Produktion installierst, sollte der Domainname auf die IP-Adresse deines Servers zeigen.

Führe den folgenden cp-Befehl aus, um SSL-Zertifikate in das Verzeichnis„/etc/minio/certs“ zu kopieren. In diesem Beispiel werden SSL-Zertifikate verwendet, die mit Letsencrypt erstellt wurden, und die Domain„minio.hwdomain.io“ verwendet.

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

Als Nächstes öffnest du die MinIO-Konfigurationsdatei„/etc/default/minio“ mit dem folgenden nano-Editor.

sudo nano /etc/default/minio

Füge die Option„MINIO_SERVER_URL“ hinzu und ändere den Domainnamen mit deiner Domain.

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

Wenn du fertig bist, speichere die Datei und beende den Editor.

Immer wenn du Änderungen an der Datei„/etc/default/minio“ vornimmst, musst du den Dienst„minio“ mit dem unten stehenden systemctl-Befehl neu starten, damit die vorgenommenen Änderungen übernommen werden.

sudo systemctl restart minio

Der MinIO-Objektspeicher läuft jetzt und ist mit SSL-Zertifikaten gesichert.

minio mit ssl sichern

Öffne nun deinen Webbrowser und rufe den Domänennamen deiner MinIO-Installation auf, gefolgt vom Standardport 9000 (d.h.: https://minio.hwdomain.io:9000/). Du solltest nun die MinIO-Anmeldeseite sehen.

Gib den Benutzer und das Passwort aus der Datei „/etc/default/minio“ ein und klicke auf Login.

Anmeldung minio

Wenn du den richtigen Benutzer und das richtige Passwort hast, solltest du das MinIO-Benutzer-Dashboard wie unten abgebildet erhalten.

Minio Dashboard

Du hast nun alles konfiguriert und MinIO installiert und gesichert. Im nächsten Schritt lernst du, wie du einen Bucket einrichtest und den Client-Rechner mit der MinIO-Befehlszeile einrichtest.

Erstes Bucket erstellen und Dateien hochladen

In diesem Schritt lernst du, wie du über das Webadministrations-Dashboard einen Bucket in MinIO erstellst. Bevor du loslegst, musst du sicherstellen, dass du dich mit deinem Benutzer im MinIO-Dashboard angemeldet hast.

Um einen Bucket auf MinIO zu erstellen, klickst du auf das Menü„Buckets“ und dann auf die Schaltfläche„Bucket erstellen„.

Eimer erstellen

Gib nun den Namen und die Details zu deinem Bucket ein und bestätige mit„Bucket erstellen„. In diesem Beispiel wirst du einen neuen Bucket„test-bucket“ erstellen.

Bucket erstellen und Dateien hochladen

Nachdem der Bucket erstellt wurde, kannst du neue Dateien hochladen oder Verzeichnisse innerhalb des„test-bucket“ erstellen.

Auf dem folgenden Bildschirm siehst du, dass die neuen Dateien„pool1.png“ und„pool2.png“ in den„test-bucket“ hochgeladen wurden.

Dateien im Eimer auflisten

MinIO Client CLI einrichten

MinIO bietet eine Client-Anwendung, mit der du den MinIO-Objektspeicher über die Kommandozeile verwalten kannst. In diesem Beispiel installierst du die MinIO-Client-CLI auf dem Client-Rechner, fügst den MinIO-Server hinzu und überprüfst dann die Liste der Buckets und Dateien über die Kommandozeile.

Führe auf deinem lokalen Rechner den folgenden Befehl aus, um die MinIO-Client-CLI nach„/usr/local/bin/mc“ herunterzuladen.

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

Nach dem Herunterladen machst du die MinIO-Client-CLI unter „/usr/local/bin/mc“ ausführbar.

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

minio client installieren

Führe nun den folgenden Befehl aus, um die Version des MinIO-Client CLI zu überprüfen. Du solltest sehen, dass der MinIO-Client auf deinem System installiert ist.

which mc
mc --version

Client-Version prüfen

Nachdem du den MinIO-Client CLI konfiguriert hast, fügst du als Nächstes deinen MinIO-Server hinzu.

Führe den folgenden Befehl aus, um den MinIO-Server zu deinem lokalen Rechner hinzuzufügen. Achte darauf, dass du den Aliasnamen„test-minio„, den Domänennamen deines MinIO-Objektspeichers sowie den Benutzer und das Passwort änderst.

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

Nach dem Hinzufügen solltest du eine Meldung wie„test-minio erfolgreich hinzugefügt“ sehen.

Führe nun den folgenden Befehl aus, um„test-minio“ zu überprüfen. Du solltest nun detaillierte Informationen über den „test-minio“ Server erhalten.

mc admin info test-minio

Minio-Server hinzufügen

Als nächstes überprüfst du die Liste der verfügbaren Buckets auf dem„test-minio„-Server. Du solltest sehen, dass der „test-bucket“ auf dem„test-minio„-Server verfügbar ist.

mc ls test-minio

Führe abschließend den folgenden Befehl aus, um die Liste der Dateien im„test-bucket“ zu überprüfen.

mc ls test-minio/test-bucket

Auf dem folgenden Bildschirm siehst du, dass die Dateien„pool1.png“ und„pool2.png“ auf dem„test-bucket“ verfügbar sind. Das ist die gleiche Datei, die im oberen Beispiel hochgeladen wurde.

Eimer und Dateien auflisten

Bucket über die MinIO-Kommandozeile erstellen

In diesem letzten Schritt lernst du, wie du den Bucket über die Kommandozeile des MinIO-Clients verwalten kannst. Du erstellst einen neuen Bucket, lädst eine Datei hoch und überprüfst die Liste der Dateien im MinIO-Bucket über die Client-Befehlszeile.

Führe den folgenden Befehl aus, um einen neuen Bucket„test-bucket2“ auf dem Server„test-minio“ zu erstellen.

mc mb test-minio/test-bucket2

Erstelle eine neue Datei „test.txt“ mit dem folgenden Befehl. Diese Datei wird in den„test-bucket2“ hochgeladen.

echo "test file" > test.txt

Als Nächstes lädst du die Datei„test.txt“ mit dem unten stehenden Befehl „mc cp“ auf den„test-bucket2“ hoch.

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

Nachdem die Datei hochgeladen wurde, führe den folgenden Befehl aus, um die Liste der Dateien auf dem„test-bucket2“ zu überprüfen.

mc ls test-minio/test-bucket2

Du solltest nun die Ausgabe wie im folgenden Bildschirmfoto erhalten. Die Datei„test.txt“ wurde in den„test-bucket2“ hochgeladen.

Eimer erstellen

Gehe nun zurück zum MinIO User Dashboard und klicke auf das Menü„Buckets„. Du solltest sehen, dass der„test-bucket2“ erstellt wurde.

Check-Eimer

Klicke auf den„test-bucket2“ und du solltest die Datei„test.txt“ sehen, die über die MinIO-Befehlszeile hochgeladen wurde.

Dateien im Eimer prüfen

Fazit

In dieser Anleitung hast du MinIO Object Storage auf dem Rocky Linux Server installiert und konfiguriert. Außerdem hast du gelernt, wie du die Festplatte unter Linux einrichtest, MinIO mit SSL-Zertifikaten absicherst und MinIO als systemd-Dienst ausführst.

Schließlich hast du die grundlegende Nutzung von MinIO erlernt, indem du über das MinIO-Webadministrations-Dashboard Buckets erstellst und Dateien hochlädst. Außerdem hast du gelernt, wie du den MinIO-Client über die Kommandozeile installierst und wie du ihn grundsätzlich verwendest, um einen MinIO-Server hinzuzufügen, Buckets zu erstellen, die Dateiliste im Bucket zu überprüfen und Dateien in einen bestimmten Bucket hochzuladen.

Das könnte dich auch interessieren …