Minio auf Proxmox

Januar 8

0 Kommentare

Automatisierte Backups mit MinIO in einer Proxmox-VM einrichten

By Olaf Buwen

Januar 8, 2025


Wie ich hier schon angekündigt hatte, folgt hier der Beitrag über die Installation von MinIO. Als Plattform verwende ich eine VM auf Proxmox. Im vorherigen Artikel Automatisierte Backups mit Restic und MinIO habe ich gezeigt, wie ihr MinIO als Backup-Ziel für Restic nutzt. Nun gehen wir einen Schritt weiter und richten eine eigene MinIO-Instanz als virtuelle Maschine (VM) in Proxmox ein. Damit habt ihr eine skalierbare, zuverlässige und S3-kompatible Speicherlösung direkt in eurem Home-Lab.

Voraussetzungen

Bevor wir starten, hier die Dinge, die ihr benötigt:

  • Eine laufende Proxmox VE-Installation
  • Grundlegende Kenntnisse in der VM-Erstellung
  • Eine Linux-Distribution (z. B. Ubuntu 22.04 LTS) als Basis für MinIO
  • Netzwerkzugriff und administrative Rechte

Erstellen der virtuellen Maschine in Proxmox

Ich habe mich für eine eigenständige VM entschieden, um MinIO sauber von anderen Diensten zu trennen. Falls ihr lieber einen LXC-Container nutzen wollt, müsst ihr einige Schritte anpassen.

  1. Meldet euch in der Proxmox-Weboberfläche an.
  2. Erstellt eine neue VM mit den folgenden Spezifikationen:
    • Name: MinIO-Server
    • Betriebssystem: Debian-basiert (Ubuntu 22.04 empfohlen)
    • CPU: Mindestens 2 vCPUs
    • RAM: 4 GB oder mehr
    • Speicherplatz: Mindestens 50 GB (je nach Backup-Anforderungen)
  3. Ladet das Installations-ISO von Ubuntu oder Debian auf den Proxmox-Server hoch und weist es der VM zu.
  4. Startet die VM und installiert das Betriebssystem nach Standardverfahren.

System vorbereiten

Nach der Installation logge ich mich per SSH in die VM ein und führe einige grundlegende Updates und Vorbereitungen durch:

sudo apt update && sudo apt upgrade -y 
sudo apt install curl wget nano -y

MinIO installieren

Nun kommt der spannende Teil: die Installation von MinIO. Ich lade die neueste Version direkt von der offiziellen Quelle herunter:

wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /usr/local/bin/minio 
chmod +x /usr/local/bin/minio
sudo useradd -r minio-user -s /sbin/nologin
mkdir -p /mnt/minio/data
chown -R minio-user:minio-user /mnt/minio

Damit MinIO zuverlässig läuft, richte ich es als Systemdienst ein:

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

Hier trage ich Folgendes ein:

[Unit] 
Description=MinIO Object Storage
After=network.target
[Service]

User=minio-user
Group=minio-user
ExecStart=/usr/local/bin/minio server /mnt/minio/data --console-address ":9001"
Restart=always
LimitNOFILE=65536
[Install]

WantedBy=multi-user.target

Nach dem Speichern (STRG+X, Y, ENTER) aktiviere und starte ich den Dienst:

sudo systemctl daemon-reload 
sudo systemctl enable --now minio

Firewall und Netzwerk konfigurieren

Damit MinIO erreichbar ist, müssen die Ports geöffnet werden:

sudo ufw allow 9000/tcp 
sudo ufw allow 9001/tcp

Falls ihr MinIO nicht direkt zugänglich machen wollt, könnt ihr einen Reverse Proxy (z. B. mit Nginx oder Traefik) nutzen.

Zugriff auf die MinIO-Weboberfläche

Nun kann ich MinIO über einen Browser aufrufen:

http://<IP-Adresse>:9001

Die Standard-Access-Keys werden beim ersten Start generiert. Diese ändere ich direkt in der Konfigurationsdatei:

nano /etc/default/minio

Beispiel:

MINIO_ROOT_USER=admin 
MINIO_ROOT_PASSWORD=geheimes-passwort

Danach starte ich MinIO neu:

sudo systemctl restart minio

Einbindung in Backup-Tools

MinIO ist nun als S3-kompatibler Speicher bereit und kann z. B. für Restic genutzt werden. Falls ihr meinen vorherigen Artikel gelesen habt, erinnert ihr euch vielleicht, dass ich MinIO als Backup-Ziel für Restic eingerichtet habe. Jetzt machen wir genau das:

export RESTIC_REPOSITORY=s3:http://<IP>:9000/backups 
export AWS_ACCESS_KEY_ID=admin
export AWS_SECRET_ACCESS_KEY=geheimes-passwort

restic init

Wenn alles funktioniert, ist euer eigenes Backup-Ziel nun einsatzbereit! 🎉

Fazit

Mit dieser Anleitung haben wir MinIO in einer Proxmox-VM eingerichtet – ein leistungsstarker Objektspeicher, ideal für Backups oder andere Anwendungen. Wer meinen vorherigen Beitrag gelesen hat, kann jetzt seine Backups auf einen eigenen MinIO-Server umstellen.

In einem zukünftigen Artikel werde ich zeigen, wie man MinIO mit weiterführenden Sicherheitsmaßnahmen absichert und hochverfügbar macht. Bleibt also dran!

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
>