Fallstudie

NFS-Server für CloudStack mit Puppet konfigurieren

Bild des ITGix-Teams
ITGix-Team
Passionierte DevOps- und Cloud-Ingenieure
20.03.2023
Lesezeit: 3 Minuten.
Zuletzt aktualisiert: 22 .06.2026

Inhaltsübersicht

Ein Unternehmen aus dem Bereich Streaming & Media benötigte einen neuen NFS Network File System-Server, der von seinen Streaming-Servern zur Übertragung großer Aufzeichnungsdateien für die Time-Shift-Funktion genutzt werden sollte.

Was ist ein Netzwerk-Dateisystem NFS?

NFS (Network File System) ist ein System für die Zusammenarbeit, das es Benutzern ermöglicht, Dateien auf einem entfernten Computer anzuzeigen, zu speichern, zu aktualisieren oder freizugeben, als wäre es ein lokaler Computer. Neben der Erleichterung des lokalen Zugriffs auf entfernte Dateien ist NFS auch wegen seiner Host-Authentifizierung bemerkenswert. Sie ist recht einfach und ermöglicht es, sich mit einem anderen Dienst nur über eine IP-Adresse zu verbinden. Darüber hinaus bietet die NFS-Dateifreigabe die unten genannten Vorteile:

  • bietet eine zentrale Verwaltung;
  • ermöglicht es, sich bei jedem Server anzumelden und auf Dateien zuzugreifen;
  • kann mit Firewalls und Kerberos gesichert werden;
  • gibt es schon seit geraumer Zeit, so dass es leicht ist, sich mit den Anwendungen vertraut zu machen;
  • erfordert keine manuelle Aktualisierung für neue Dateien.

 DIE LÖSUNG

Als erstes haben wir eine neue virtuelle Maschine erstellt. Wir haben sie zu Testzwecken verwendet, um zu prüfen, ob die Maschinen, die das NFS nutzen werden, sie sehen und eine Freigabe einhängen können, die in diesem Fall die NFS-Freigabe darstellt. Für diesen Client verwenden wir CloudStack, um virtuelle Maschinen zu erstellen und zu verwalten. Da also noch keine LUN mit dem NFS verbunden war, haben wir, um ein freigegebenes Volume zu imitieren, ein zusätzliches 5-GB-Volume in CloudStack erstellt und es in die Maschine eingebunden.

Konfigurationsmanagement:

Außerdem verwenden wir Puppet für das Konfigurationsmanagement.

In Puppet mussten wir also eine neue Konfigurationsdatei für das NFS erstellen. Hier liefern wir eine Beschreibung:

  • Welcher Bereich von IPs kann sich mit dem NFS-Server verbinden und welche Ports sind zu öffnen? Sie sollten den Bereich anhand der Rechner bestimmen, die den NFS-Server nutzen werden.
  • Der Einhängepunkt ist der Ort, an dem der LUN-Speicher angeschlossen wird.
  • Der Typ des Dateisystems.
  • Welches Gerät wird verwendet (z. B. /dev/sda1) und welche Optionen gibt es?

Eine weitere wichtige Sache wird ebenfalls von Puppet verwaltet, und zwar der Inhalt der Datei etc/exports. Diese Datei gibt im Grunde an, welche Klienten das NFS benutzen werden, welche Rechte sie haben und auch welche Freigabe des NFS sie benutzen werden.

Dann haben wir getestet, ob die NFS-Klienten den Testrechner sehen und einbinden können.

Der Test war erfolgreich, so dass wir bereit waren, die Konfiguration für den echten NFS-Server hinzuzufügen. Hier gibt es ein paar wichtige Dinge zu konfigurieren. Da wir wiederum Puppet für die Konfigurationsverwaltung verwenden, mussten wir diese Konfigurationen an der richtigen Stelle in unserem Puppet-Repository hinzufügen:

  • Das Protokoll, das die Clients verwenden, um Befehle an das Speichergerät zu senden - in unserem Fall ist dies ISCSI, ein IP-basierter Netzwerkstandard für die Verbindung von Datenspeichereinrichtungen.
  • Benutzername und Kennwort für die ISCSI-Verbindung. Wir mussten mit dem NFS-Anbieter kommunizieren, um uns auf diese beiden Dinge zu einigen.
  • Die Authentifizierungsmethode wird für die ISCSI-Sitzung verwendet.

In unserem Fall ist es CHAP

  • Der Name des ISCSI-Initiators wird nach der manuellen Installation des ISCSI-Pakets auf einem der Rechner generiert, das automatisch eine Datei mit dem Namen des Initiators erzeugt. Die Datei befindet sich im Verzeichnis ISCSI config
  • Um die neue NFS-Freigabe automatisch in die Clients einzubinden, mussten wir ein neues Modul in Puppet erstellen, das speziell für diese NFS-Freigabe entwickelt wurde.

Als Beispiel haben wir ein bereits bestehendes Programm verwendet, aber einige der darin enthaltenen Klassen und Manifeste geändert.

 DIE SCHLUSSFOLGERUNG

Nachdem wir die oben genannten Konfigurationen in Puppet angewandt hatten, verteilten wir sie an die NFS-Klienten, die die neue NFS-Freigabe erfolgreich einhängten. Kurz gesagt, diese Fallstudie schließt unsere Erfahrung mit dem Hinzufügen einer neuen NFS-Verbindung ab.

Wenn Sie Fragen zu einem beliebigen Schritt unserer Konfiguration haben, können Sie sich an uns wenden, und wir werden Ihnen die erforderlichen Antworten geben.

Weitere Fallstudien

Ein Unternehmen aus dem Bereich Streaming & Media benötigte ein neues Monitoring-System für seine Oracle-Datenbank. VORAUSSETZUNGEN DIE HERAUSFORDERUNG Wir alle wissen, was ein Prometheus-Operator ist, und mehr...
Lesen
Ein führendes globales Marketingunternehmen, das strategische, kreative und integrierte Marketingdienstleistungen für das Gesundheitswesen und die medizinische Kommunikation anbietet, hat uns kontaktiert, um eine Umgebung innerhalb von Amazon Web Services (AWS) aufzubauen. Die...
Lesen

Blog-Beiträge

Es wurden keine Daten gefunden
Kontakt aufnehmen
ITGix bietet Ihnen fachkundige Beratung und maßgeschneiderte DevOps-Services, um Ihr Unternehmenswachstum zu beschleunigen.
Newsletter für
Technik-Experten
Schließen Sie sich 12.000+ Geschäftsführern, Designer und Entwickler, die Blogs, e-Books und Fallstudien Fallstudien über neue Technologie erhalten.