Konfiguration von einem Linux Cluster

Ein Linux-Cluster ist eine Gruppe von vernetzten Computern, die zusammenarbeiten, um Aufgaben zu bewältigen, die einzelne Maschinen nicht bewältigen können. Ein Cluster kann für viele Zwecke eingesetzt werden, z.B. für Lastverteilung, Hochverfügbarkeit oder für das Hochleistungsrechnen. Dieses Tutorial zeigt die Installation und Konfiguration eines einfachen Linux-Clusters mit dem Open-Source-Tool OpenMPI (für paralleles Rechnen) und NFS (für gemeinsamen Dateizugriff).

Voraussetzungen

  • Mindestens zwei Linux-Rechner
  • Grundlegende Kenntnisse der Linux-Befehlszeile
  • Netzwerkverbindung zwischen den Rechnern
  • Root-Zugriff auf allen Maschinen

Schritt 1: Vorbereitungen

  1. IP-Adressen und Hostnamen festlegen Notiere die IP-Adressen und Hostnamen aller Rechner im Cluster. Beispielsweise:
    • Node1: 192.168.1.101
    • Node2: 192.168.1.102
  2. Hosts-Datei aktualisieren Auf jedem Rechner die /etc/hosts Datei bearbeiten und die IP-Adressen und Hostnamen der Cluster-Rechner eintragen:
sudo nano /etc/hosts

Einträge hinzufügen:

192.168.1.101 node1
192.168.1.102 node2

Schritt 2: SSH-Konfiguration

Um eine einfache Kommunikation zwischen den Rechnern zu ermöglichen, richten wir passwortloses SSH ein.

  1. SSH-Schlüssel erzeugen Auf jedem Rechner den SSH-Schlüssel erzeugen:
ssh-keygen -t rsa

(Drücke Enter, um die Standardpfade zu akzeptieren und kein Passwort einzugeben)

2.SSH-Schlüssel verteilen Den öffentlichen Schlüssel von Node1 zu Node2 kopieren:

ssh-copy-id node2

Dasselbe für Node2:

ssh-copy-id node1

Schritt 3: Installation von OpenMPI und NFS

  1. OpenMPI installieren Auf jedem Rechner:
sudo apt-get update
sudo apt-get install openmpi-bin openmpi-common libopenmpi-dev

2.NFS installieren und konfigurieren

  • Auf dem Server (z.B. Node1):
sudo apt-get install nfs-kernel-server
sudo mkdir -p /srv/nfs/shared
sudo chown nobody:nogroup /srv/nfs/shared
sudo nano /etc/exports

Folgendes hinzufügen:

/srv/nfs/shared 192.168.1.102(rw,sync,no_subtree_check)

Änderungen übernehmen und NFS-Server neu starten:

sudo exportfs -a
sudo systemctl restart nfs-kernel-server

Auf dem Client (z.B. Node2):

sudo apt-get install nfs-common
sudo mkdir -p /mnt/shared
sudo mount 192.168.1.101:/srv/nfs/shared /mnt/shared

Schritt 4: Test des Clusters

  1. MPI-Programm schreiben Erstelle eine einfache MPI-C++-Datei hello_mpi.cpp:
cpp

#include <mpi.h>
#include <iostream>

int main(int argc, char** argv) {
    MPI_Init(&argc, &argv);
    int world_size;
    MPI_Comm_size(MPI_COMM_WORLD, &world_size);
    int world_rank;
    MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);
    std::cout << "Hello world from rank " << world_rank << " out of " << world_size << " processors\n";
    MPI_Finalize();
    return 0;
}

2.Kompilieren und Ausführen Auf einem der Nodes:

mpic++ hello_mpi.cpp -o hello_mpi
mpirun -np 2 --host node1,node2 ./hello_mpi

Wenn alles korrekt eingerichtet ist, sollten beide Nodes die Ausgabe des MPI-Programms anzeigen.

Fazit

Dieses Tutorial bietet eine grundlegende Anleitung zur Einrichtung eines einfachen Linux-Clusters mit OpenMPI und NFS. Der Cluster kann weiter konfiguriert und optimiert werden, je nach den spezifischen Anforderungen und Anwendungen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert