momius - Fotolia
Open Source Storage im Netzwerk nutzen
Open Source Storage ermöglicht die Integration von sehr leistungsstarken Speicherlösungen im Netzwerk. Wir zeigen in diesem Beitrag, was bei der Einrichtung wichtig ist.
MinIO und OpenIO sind beides Lösungen für die Implementierung von Objektspeichern in Netzwerken. Objektspeicherung ist eine Methode zum Speichern und Verwalten von großen Datenmengen in Form von Objekten, die als Einheit behandelt werden. Beide Lösungen bieten Möglichkeiten zur Speicherung und Verwaltung von Daten in großen Mengen, jedoch unterscheiden sie sich in einigen Punkten.
MinIO kann auf verschiedenen Betriebssystemen installiert werden, darunter Linux (einschließlich CentOS, Debian, Fedora, Red Hat Enterprise Linux, Ubuntu), Windows und macOS. Es gibt auch Docker- und Kubernetes-Images für MinIO, die eine einfache und skalierbare Installation ermöglichen.
OpenIO unterstützt ebenfalls verschiedene Betriebssysteme, darunter Linux, Windows und macOS. Auch hier kann die Implementation als Docker-Container oder in einer VM installiert werden. OpenIO ist essenzieller Teil von OVHcloud.
Es ist jedoch wichtig zu beachten, dass die spezifischen Anforderungen und Einschränkungen der jeweiligen Betriebssysteme berücksichtigt werden müssen, um eine erfolgreiche Installation und Verwendung von MinIO oder OpenIO zu gewährleisten. Vor der Installation sollten daher die Systemanforderungen und Empfehlungen der jeweiligen Objektspeicherlösungen überprüft werden, um sicherzustellen, dass die gewählte Plattform für den jeweiligen Einsatz geeignet ist.
MinIO versus OpenIO
MinIO ist eine softwaredefinierte Open-Source-Objektspeicherlösung, die speziell für den Einsatz in Cloud-Umgebungen entwickelt wurde. MinIO ist bekannt für seine hohe Leistung und Skalierbarkeit. Die Lösung verwendet eine erweiterbare Architektur, die es ermöglicht, den Speicherbedarf durch Hinzufügen von zusätzlichen Servern zu erhöhen. MinIO ist einfach zu installieren und zu konfigurieren, was es zu einer beliebten Wahl für Entwickler und DevOps-Teams macht. Die Lösung ist Kubernetes-nativ und S3-kompatibel (AWS). Darüber hinaus stehen Verschlüsselung, automatisiertes Datenmanagement, Bucket- und Object Immutability (Unveränderlichkeit) sowie Tiering und Data Lifecycle Management zur Verfügung.
OpenIO ist ebenfalls eine Open-Source-Objektspeicherlösung, die sich auf die Verwaltung von großen Datenmengen spezialisiert hat. Die Speicherlösung ist besonders nützlich für Anwendungen, die eine hohe Datensicherheit erfordern, da OpenIO Funktionen wie Datenredundanz und Replikation (aktiv-aktiv) bietet. OpenIO ist ebenfalls sehr skalierbar und kann auf Tausenden von Servern betrieben werden. Die Lösung bietet zusätzliche Funktionen wie intelligente Archivierung, automatisierte Datenmigration und Unterstützung für verschiedene Datenzugriffsprotokolle.
Beide Lösungen können im Netzwerk implementiert werden, indem sie auf einem Cluster von Servern ausgeführt werden. Die Server können physisch oder virtuell sein und werden so konfiguriert, dass sie als Speicher-Cluster fungieren. Die Daten werden in Form von Objekten auf diesen Servern gespeichert und können über verschiedene Protokolle wie S3, NFS oder SMB abgerufen werden.
Um eine erfolgreiche Implementierung zu gewährleisten, müssen die Server auf dem gleichen Netzwerksegment oder VLAN operieren, um eine schnelle Kommunikation zwischen ihnen zu ermöglichen. Es ist auch wichtig sicherzustellen, dass genügend Speicherplatz vorhanden ist, um die Datenmengen zu speichern, die auf dem Cluster gespeichert werden sollen. Eine regelmäßige Überwachung und Wartung der Cluster sind ebenfalls erforderlich, um eine optimale Leistung und Verfügbarkeit zu gewährleisten.
Erste Schritte mit MinIO auf Windows und Linux
Um sich einen Überblick zu MinIO zu verschaffen, kann zum Beispiel Windows zum Einsatz kommen. Die Implementation ist dabei für Windows einfacher als für Linux. Unter Windows reicht es aus, die ausführbare Datei zu starten. Wenn das Produkt für den jeweiligen Einsatz geeignet ist, kann eine erweiterte Installation als Serverdienst oder der Betrieb in einer Container-Umgebung erfolgen.
Die Einrichtung kann durchaus auch auf Linux relativ schnell erfolgen. Die Verwaltung der Umgebung ist dabei immer die gleiche. Der Zugriff erfolgt über einen Webbrowser zum Port 9001. Das gilt für Windows und für Linux. Unter Windows erfolgt zunächst der Download in der PowerShell, zum Beispiel mit dem folgenden Befehl:
Invoke-WebRequest -Uri "https://dl.min.io/server/minio/release/windows-amd64/minio.exe" -OutFile "C:\minio.exe"
Die Konfiguration des Admin-Benutzers lässt sich mit folgenden Befehlen ausführen:
setx MINIO_ROOT_USER admin
setx MINIO_ROOT_PASSWORD <Kennwort>
Danach erfolgt der Start des Servers unter Angabe des Datenverzeichnisses, zum Beispiel mit:
C:\minio.exe server C:\Data --console-address ":9001"
Idealerweise sollte sich der Datenspeicher natürlich auf Datenträgern befinden, die einen hohen Durchsatz und eine schnelle Leistung bieten. Um über das Netzwerk auf den Server per Webbrowser zuzugreifen, muss darauf geachtet werden, in der Firewall die Ports 9000/9001 freizugeben. Die Verwaltungsoberfläche steht über den Port 9000o der 9001 zur Verfügung, die standardmäßige Anmeldung dem Benutzername minioadmin und dem Kennwort minioadmin geben.
Der MinIO-Client lässt sich ebenfalls in der PowerShell herunterladen und starten:
Invoke-WebRequest -Uri "https://dl.minio.io/client/mc/release/windows-amd64/mc.exe" -OutFile "C:\mc.exe"
mc.exe alias set myminio/ http://MINIO-SERVER MYUSER MYPASSWORD
Nach dem Start des Servers, lässt sich mit der Schaltfläche Create bucket ein erster Objektspeicher bereitstellen und anpassen.
Alle Buckets und deren Einstellungen sind bei Buckets in der Oberfläche zu finden. Auf der linken Seite sind weitere Menüpunkte verfügbar, wie Policies oder Identities, mit denen der Zugriff auf die Buckets gesteuert wird.
Hier lassen sich neue Benutzer anlegen und Gruppen steuern, mit denen Anwender im Netzwerk für den Zugriff berechtigt werden.
OpenIO über Docker bereitstellen
Um OpenIO zu testen und in Betrieb zu nehmen, ist die Verwendung eines Docker-Containers am einfachsten. Download und Start der Umgebung erfolgen mit:
docker pull openio/sds:20.04
docker run --name oio-sds openio/sds:20.04
docker run --name oio-sds -p 6007:6007 openio/sds
docker inspect -f "{{ .NetworkSettings.IPAddress }}" oio-sds
Der Zugriff erfolgt auch an dieser Stelle über den Webbrowser. Als Benutzername kommt demo zum Einsatz, als Kennwort DEMO_PASS. In der Dokumentation zu OpenIO sind dazu weitere Tipps zu finden.
OpenIO verwendet standardmäßig den Port 6006 für die Verwaltung des Clusters über die Web-Benutzeroberfläche. Dieser Port kann jedoch während der Installation oder der Konfiguration des Clusters geändert werden, falls erforderlich.