Wie installiere ich MinIO Object Storage Server unter Debian 11
Minio ist ein beliebter, in Go geschriebener, selbst gehosteter und mit Amazon S3 kompatibler Objektspeicher-Server. Er ist eine sehr nützliche Alternative zu AWS S3, wenn du mehr Kontrolle über deinen Objektspeicher-Server brauchst. Mit ihm können wir Fotos, Videos, Logdateien, Backups und Container/VM-Images speichern. Er bietet einen Kommandozeilen-Client, eine Browser-Schnittstelle und unterstützt auch AMQP. Du kannst Minio im großen Maßstab für die kontinuierliche Datenreplikation einsetzen.
In diesem Artikel zeige ich dir, wie du den Minio-Server unter Debian 11 installierst.
Voraussetzungen
- Ein Server, auf dem Debian 11 läuft.
- Ein Root-Passwort ist auf dem Server eingerichtet.
Minio Server installieren
Lade zunächst die neueste Version von Minio Binary mit dem folgenden Befehl herunter:
wget https://dl.min.io/server/minio/release/linux-amd64/minio
Erteile die Ausführungserlaubnis und verschiebe die Minio-Binärdatei in den Systempfad:
chmod +x minio mv minio /usr/local/bin/
Als Nächstes erstellst du mit dem folgenden Befehl einen eigenen Benutzer für Minio:
useradd -r minio -s /sbin/nologin
Als Nächstes änderst du den Eigentümer der Minio-Binärdatei in den Benutzer minio:
chown minio:minio /usr/local/bin/minio
Als Nächstes überprüfst du die installierte Version von Minio mit dem folgenden Befehl:
minio --version
Du erhältst die folgende Ausgabe:
minio version RELEASE.2022-02-26T02-54-46Z
Eine Partition für Minio-Speicher erstellen
Als Nächstes musst du eine GPT-Partition auf einer separaten Festplatte erstellen. Liste zunächst alle angeschlossenen Festplatten mit dem folgenden Befehl auf:
fdisk -l
Du solltest alle angeschlossenen Festplatten in der folgenden Ausgabe sehen:
Disk /dev/sda: 50 GiB, 53687091200 bytes, 104857600 sectors Disk model: QEMU HARDDISK Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x7d36ef95 Device Boot Start End Sectors Size Id Type /dev/sda1 2048 104855552 104853505 50G 83 Linux Disk /dev/sdb: 50 GiB, 53687091200 bytes, 104857600 sectors Disk model: Volume Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes
Als Nächstes erstellst du eine GPT-Partition auf der Festplatte /dev/sdb mit dem folgenden Befehl:
parted -s -a optimal -- /dev/sdb mklabel gpt parted -s -a optimal -- /dev/sdb mkpart primary 0% 100% parted -s -- /dev/sdb align-check optimal 1
Anschließend formatierst du die Partition mit dem folgenden Befehl:
mkfs.ext4 /dev/sdb1
Du erhältst die folgende Ausgabe:
mke2fs 1.46.2 (28-Feb-2021) Discarding device blocks: done Creating filesystem with 13106688 4k blocks and 3276800 inodes Filesystem UUID: bd18a11d-a9d9-44a2-a381-f30ba0798661 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424 Allocating group tables: done Writing inode tables: done Creating journal (65536 blocks): done Writing superblocks and filesystem accounting information: done
Als Nächstes erstellst du einen Einhängepunkt für die Minio-Festplatte.
mkdir /mnt/minio
Füge den Eintrag in der Datei /etc/fstab hinzu, um die Partition in den Einhängepunkt einzuhängen:
nano /etc/fstab
Füge die folgende Zeile hinzu:
/dev/sdb1 /mnt/minio ext4 rw 0 0
Speichere und schließe die Datei und hänge die Partition mit dem folgenden Befehl ein:
mount -a
Überprüfe die gemountete Festplatte mit folgendem Befehl:
df -h
Du solltest die folgende Ausgabe sehen:
Filesystem Size Used Avail Use% Mounted on udev 976M 0 976M 0% /dev tmpfs 199M 388K 198M 1% /run /dev/sda1 50G 1.6G 46G 4% / tmpfs 992M 0 992M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 199M 0 199M 0% /run/user/0 /dev/sdb1 49G 24K 47G 1% /mnt/minio
Als Nächstes änderst du die Eigentümerschaft des Minio-Mounts in minio:
chown minio:minio /mnt/minio
Minio konfigurieren
Als Nächstes erstellst du mit dem folgenden Befehl ein Minio-Konfigurationsverzeichnis:
mkdir /etc/minio
Ändere als Nächstes die Eigentümerschaft des Minio-Konfigurationsverzeichnisses:
chown minio:minio /etc/minio
Als Nächstes erstellst du eine Minio-Konfigurationsdatei:
nano /etc/default/minio
Füge die folgenden Zeilen hinzu:
MINIO_ACCESS_KEY="minioaccesskey" MINIO_VOLUMES="/mnt/minio" MINIO_OPTS="-C /etc/minio --address 0.0.0.0:9000" MINIO_SECRET_KEY="miniosecretkey"
Speichere und schließe das Feld und lade dann die Minio-Dienstdatei mit dem folgenden Befehl herunter:
wget https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/minio.service
Als Nächstes bearbeitest du die Minio-Dienstdatei mit dem folgenden Befehl:
nano minio.service
Ändere die Datei wie unten gezeigt:
[Unit] Description=MinIO Documentation=https://docs.min.io Wants=network-online.target After=network-online.target AssertFileIsExecutable=/usr/local/bin/minio [Service] WorkingDirectory=/usr/local/ User=minio Group=minio ProtectProc=invisible 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=1048576 # Specifies the maximum number of threads this process can create TasksMax=infinity # Disable timeout logic and wait until process is stopped TimeoutStopSec=infinity SendSIGKILL=no [Install] WantedBy=multi-user.target
Speichere und schließe die Datei und kopiere die Minio-Dienstdatei nach /etc/systemd/system/.
mv minio.service /etc/systemd/system/
Als Nächstes lädst du den systemd-Daemon neu, um die Änderungen zu übernehmen:
systemctl daemon-reload
Starte und aktiviere den Minio-Dienst mit dem folgenden Befehl:
systemctl start minio systemctl enable minio
Als Nächstes überprüfst du den Minio-Dienst mit dem folgenden Befehl:
systemctl status minio
Du solltest die folgende Ausgabe sehen:
? minio.service - MinIO Loaded: loaded (/etc/systemd/system/minio.service; disabled; vendor preset: enabled) Active: active (running) since Mon 2022-02-28 02:18:31 UTC; 4s ago Docs: https://docs.min.io Process: 861 ExecStartPre=/bin/bash -c if [ -z "${MINIO_VOLUMES}" ]; then echo "Variable MINIO_VOLUMES not set in /etc/default/minio"; ex> Main PID: 862 (minio) Tasks: 7 Memory: 55.2M CPU: 759ms CGroup: /system.slice/minio.service ??862 /usr/local/bin/minio server -C /etc/minio --address 0.0.0.0:9000 /mnt/minio Feb 28 02:18:31 debian11 systemd[1]: Starting MinIO... Feb 28 02:18:31 debian11 systemd[1]: Started MinIO. Feb 28 02:18:32 debian11 minio[862]: WARNING: MINIO_ACCESS_KEY and MINIO_SECRET_KEY are deprecated. Feb 28 02:18:32 debian11 minio[862]: Please use MINIO_ROOT_USER and MINIO_ROOT_PASSWORD Feb 28 02:18:32 debian11 minio[862]: API: http://0.0.0.0:9000 Feb 28 02:18:32 debian11 minio[862]: Console: http://209.208.97.78:42459 http://127.0.0.1:42459 Feb 28 02:18:32 debian11 minio[862]: Documentation: https://docs.min.io Feb 28 02:18:32 debian11 minio[862]: WARNING: Console endpoint is listening on a dynamic port (42459), please use --console-address ":PORT" t>
Zugriff auf Minio Dashboard
Öffne nun deinen Webbrowser und rufe die Minio-Weboberfläche über die URL http://your-server-ip:9000 auf. Du wirst auf die Anmeldeseite von Minio weitergeleitet:
Als Nächstes gibst du den Zugangsschlüssel und den privaten Schlüssel aus der Konfigurationsdatei als Benutzernamen und Passwort ein und klickst auf die Schaltfläche Anmelden. Auf der folgenden Seite solltest du das Minio-Dashboard sehen:
Klicke auf die Schaltfläche Bucket erstellen. Du solltest die folgende Seite sehen:
Gib deinen Bucket-Namen ein und klicke auf die Schaltfläche Bucket erstellen. Du solltest die folgende Seite sehen:
Von hier aus kannst du deine Dateien über den Webbrowser hoch- und herunterladen.
Klicke auf die Schaltfläche Überwachung => Metriken. Auf der folgenden Seite solltest du die Metriken deines Buckets sehen:
Klicke auf die Schaltfläche Logs. Auf der folgenden Seite solltest du die Logs des Minio-Servers sehen:
Fazit
Glückwunsch! Du hast den Minio Storage Server erfolgreich unter Debian 11 installiert. Jetzt bist du nicht mehr auf den AWS S3-Speicher angewiesen. Du kannst deinen eigenen S3-kompatiblen Speicherserver für dein Unternehmen erstellen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.