<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.bralug.de/wiki-common/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>http://wiki.bralug.de/index.php?action=history&amp;feed=atom&amp;title=BraLUG-Cluster%3A_PVM-Master</id>
		<title>BraLUG-Cluster: PVM-Master - Versionsgeschichte</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.bralug.de/index.php?action=history&amp;feed=atom&amp;title=BraLUG-Cluster%3A_PVM-Master"/>
		<link rel="alternate" type="text/html" href="http://wiki.bralug.de/index.php?title=BraLUG-Cluster:_PVM-Master&amp;action=history"/>
		<updated>2026-04-04T05:40:24Z</updated>
		<subtitle>Versionsgeschichte dieser Seite in BraLUG-Wiki</subtitle>
		<generator>MediaWiki 1.19.1</generator>

	<entry>
		<id>http://wiki.bralug.de/index.php?title=BraLUG-Cluster:_PVM-Master&amp;diff=2117&amp;oldid=prev</id>
		<title>MaD: mal kopiert...</title>
		<link rel="alternate" type="text/html" href="http://wiki.bralug.de/index.php?title=BraLUG-Cluster:_PVM-Master&amp;diff=2117&amp;oldid=prev"/>
				<updated>2005-05-29T10:16:30Z</updated>
		
		<summary type="html">&lt;p&gt;mal kopiert...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Projekte]]&lt;br /&gt;
[[Category:Cluster]]&lt;br /&gt;
&lt;br /&gt;
=Softwarevoraussetzungen=&lt;br /&gt;
&lt;br /&gt;
* Ziel: möglichst hardware- und distributionsunabhängig:&lt;br /&gt;
** Linux/x86&lt;br /&gt;
** NFS-Server (am besten den Kernel-NFS-Server)&lt;br /&gt;
** libc (2.3.x?, sollte ungefähr mit der der Clients übereinstimmen)&lt;br /&gt;
** PVM (siehe auch [[#PVM-Konfiguration|PVM-Konfiguration]])&lt;br /&gt;
** ANSI-C-Compiler (hier: gcc 3.3.4), kompiliert wird nur auf dem Master&lt;br /&gt;
** Make (z.B. GNU Make 3.80)&lt;br /&gt;
** Remote Shell (ssh? - siehe [1][2])&lt;br /&gt;
&lt;br /&gt;
* eigener Benutzer/Gruppe für PVM-Master und PVM-Clients, Vorschlag:&lt;br /&gt;
** User  &amp;quot;pvmmaster&amp;quot; : UID 2345 (HOME=$MASTERROOT/home/pvmmaster)&lt;br /&gt;
** User  &amp;quot;pvmclnt&amp;quot;   : UID 2346 (HOME=$MASTERROOT/home/pvmclient&lt;br /&gt;
::::LTSP-Clients muessen diesen kennen und pvmclient@master muss ohne Passwort Programme auf den Clients pvmclient@client) aufrufen koennen)&lt;br /&gt;
** Group &amp;quot;pvm&amp;quot;       : GID 2345 (nicht ganz so wichtig, sollte aber einheitlich sein)&lt;br /&gt;
::::Sollten die UIDs/GIDs mit moeglichen Master-Distributionen (habe hier Debian) kollidieren, bitte melden&lt;br /&gt;
&lt;br /&gt;
* Wenn irgendwelche Bibliotheken und Programme zusaetzlich gebraucht werden, sollten diese mit --prefix=$MASTERROOT installiert werden.&lt;br /&gt;
&lt;br /&gt;
* Wenn genannte Voraussetzungen erfüllt sind, sollte(!) der PVM-Master durch Kopieren des MASTERROOT-Verzeichnisses (s.u.) repliziert werden koennen.&lt;br /&gt;
&lt;br /&gt;
* In $MASTERROOT wird ein Skript namens &amp;quot;install.sh&amp;quot; liegen, welches die Konfiguration überprüft und simple Anpassungen auch machen kann (Rechte, User, Gruppe...)&lt;br /&gt;
&lt;br /&gt;
[1] in der sshd_config der Clients muss eine Zeile&lt;br /&gt;
 &amp;quot;PermitUserEnvironment yes&amp;quot;&lt;br /&gt;
stehen, und im Home-Verzeichnis des pvmclnt-Benutzers müssen in der Datei ~/.ssh/environment einige Umgebungsvariablen (PVM_ROOT, PVM_ARCH) definiert werden, da beim direkten Ausfuehren eines Befehls per SSH (z.B. Start des PVM-Daemons) die Login-Skripte nicht ausgefuehrt werden&lt;br /&gt;
Test: &lt;br /&gt;
 pvmclnt@pvmmaster:~$ ssh ws-190 set | egrep '^PVM'&lt;br /&gt;
muss PVM_ARCH und PVM_ROOT ausgeben&lt;br /&gt;
&lt;br /&gt;
[2] Tests mit meiner SSH-Version haben gezeigt, dass publickey-Authentifizierung unabhängig vom Hostnamen ist, der hinter dem Schlüssel in der ~/.ssh/authorized_keys steht. Somit ist passwortloser Befehlsaufruf in alle Richtungen möglich, wenn der User ein Home-Verzeichnis auf verschiedenen Rechnern nutzt, z.B. per NFS&lt;br /&gt;
    &lt;br /&gt;
=Netzwerkkonfiguration=&lt;br /&gt;
&lt;br /&gt;
* Fester Hostname:  pvmmaster (LTSP-Clients sollten diesen auflösen koennen)&lt;br /&gt;
* Feste IP-Adresse: 10.1.2.250&lt;br /&gt;
* DNS:              10.1.2.249 (LTSP-Server, termserv)&lt;br /&gt;
* Gateway           unnötig (vielleicht 10.1.2.249)&lt;br /&gt;
&lt;br /&gt;
=NFS-Root-Layout=&lt;br /&gt;
&lt;br /&gt;
 MASTERROOT=/cluster&lt;br /&gt;
           # sollte an Clients und Master an der selben Stelle sein&lt;br /&gt;
 &lt;br /&gt;
 $MASTERROOT (pvmmaster:pvm, 755)    &lt;br /&gt;
           # DAS Cluster-Verzeichnis&lt;br /&gt;
           # NFS-Export (rw,async)&lt;br /&gt;
 &lt;br /&gt;
 $MASTERROOT/bin&lt;br /&gt;
           # Skripte und aehnliches&lt;br /&gt;
 &lt;br /&gt;
 $MASTERROOT/home&lt;br /&gt;
           # Home-Verzeichnisse der o.g. User&lt;br /&gt;
 &lt;br /&gt;
 $MASTERROOT/home/pvmclnt (pvmclient:pvm, 755)&lt;br /&gt;
           # koennte (!) auch Home-Verzeichnis des pvmclient-Users auf&lt;br /&gt;
           # den LTSP-Clients sein&lt;br /&gt;
 &lt;br /&gt;
 $MASTERROOT/home/pvmmaster (pvmmaster:pvm, 755)&lt;br /&gt;
 &lt;br /&gt;
 $MASTERROOT/lib&lt;br /&gt;
           # sollte ein Cluster-Programm andere Bibliotheken als PVM und&lt;br /&gt;
           # libc benoetigen, liegen sie hier&lt;br /&gt;
 &lt;br /&gt;
 $MASTERROOT/pvm3&lt;br /&gt;
           # PVM-Root (komplilierter PVM-Baum, weiter nichts) (PVM_ROOT)&lt;br /&gt;
           # (siehe $MASTERROOT/pvm3/Readme)&lt;br /&gt;
           # siehe auch [PVM-KONFIGURATION]&lt;br /&gt;
 &lt;br /&gt;
 $MASTERROOT/pvm3/lib&lt;br /&gt;
           # muss im LD_LIBRARY_PATH und PATH stehen (hier liegen auch&lt;br /&gt;
           # die Skripte pvm und pvmd&lt;br /&gt;
 &lt;br /&gt;
 $MASTERROOT/pvm3/*&lt;br /&gt;
           # weitere PVM-Quellen und aehnliches, sollte dort bleiben&lt;br /&gt;
 &lt;br /&gt;
 $MASTERROOT/src&lt;br /&gt;
           # ein Makefile oder Make-Include mit Include/Library-Pfaden&lt;br /&gt;
           # und anderen Standardwerten, aktuell: pvm.make, setzt u.a.:&lt;br /&gt;
           #   * CC&lt;br /&gt;
           #   * CFLAGS&lt;br /&gt;
           #   * LIBS&lt;br /&gt;
 &lt;br /&gt;
 $MASTERROOT/src/$PROJECT&lt;br /&gt;
           # jedes Cluster-Projekt bekommt ein Verzeichnis&lt;br /&gt;
           # Programm wird auch in diesem Verzeichnis ausgefuehrt?&lt;br /&gt;
           # Rechte u.U. noch anpassen (schreiben ausserhalb /$MASTERROOT/tmp?)&lt;br /&gt;
           # Makefile sollte &amp;quot;include ../pvm.make&amp;quot; machen, um Regeln zu&lt;br /&gt;
           # bekommen&lt;br /&gt;
 &lt;br /&gt;
 $MASTERROOT/tmp (pvmmaster:pvm 777)&lt;br /&gt;
           # schreibbar fuer alle&lt;br /&gt;
           # evtl. weiteres Verzeichnis fuer Ergebnisse, etc.&lt;br /&gt;
&lt;br /&gt;
* Wird PVM-Povray &amp;quot;global&amp;quot; (Prefix $MASTERROOT) oder unter $MASTERROOT/src/pvmpov o.ä. installiert?&lt;br /&gt;
* Backup/automatische Veröffentlichung von Ergebnissen?&lt;br /&gt;
&lt;br /&gt;
=PVM-Konfiguration=&lt;br /&gt;
&lt;br /&gt;
* aktuell PVM 3.4.5&lt;br /&gt;
* statisch gelinkt, dadurch unabhängig von Bibliotheken&lt;br /&gt;
* PVM_ARCH=LINUXI586, folgende Änderungen gegenueber LINUX:&lt;br /&gt;
** CFLAGS += -mcpu=i586 -march=i586 -O2&lt;br /&gt;
** rsh-Kommando /usr/bin/ssh (änderbar durch PVM_RSH)&lt;br /&gt;
&lt;br /&gt;
=Initialisierung=&lt;br /&gt;
&lt;br /&gt;
* LTSP-Clients müssen ein init-Skript besitzen, dass folgende Dinge macht:&lt;br /&gt;
** $MASTER:$MASTERROOT per NFS auf $MASTERROOT mounten &lt;br /&gt;
:: (Namen werden fest sein), falls noch nicht per fstab gemountet&lt;br /&gt;
** ein Skript aus $MASTERROOT/bin aufrufen&lt;br /&gt;
:: (dieses wird die IP-Adresse des Clients auslesen und ihn beim Server registrieren)&lt;br /&gt;
:: z.B. ueber einen Eintrag im Init-Skript der Clients:&lt;br /&gt;
:: su -c '/cluster/bin/client_register.sh' pvmclnt&lt;br /&gt;
:: [!] Clients wuerden dafuer 'su' benoetigen...&lt;br /&gt;
&lt;br /&gt;
=Laufzeit=&lt;br /&gt;
&lt;br /&gt;
* Jobs werden auf dem Master angeschubst (Batchsystem nicht notwendig, oder?)&lt;br /&gt;
* lokale (X-)Session oder SSH&lt;br /&gt;
* Alle Ausgaben der Jobs sollten protokolliert werden&lt;br /&gt;
* &amp;quot;Ergebnisse&amp;quot; müssen irgendwo hin&lt;br /&gt;
* &amp;quot;Watchdog&amp;quot; überprueft regelmässig, ob noch alle Rechner da sind und kickt nicht funktionierende raus (TBD, MaD)&lt;br /&gt;
&lt;br /&gt;
=Sicherheit=&lt;br /&gt;
&lt;br /&gt;
* Sind wir am Internet?&lt;br /&gt;
* Welche Ports müssen auf dem PVM-Master offen sein?&lt;br /&gt;
** 22    tcp        ssh&lt;br /&gt;
** 111   tcp/udp    rpcbind/portmapper&lt;br /&gt;
** 2049  tcp/udp    nfs&lt;br /&gt;
** ...&lt;br /&gt;
** pvmd  udp  32826 o.ä. (automatische Vergabe, wie es aussieht)&lt;br /&gt;
&lt;br /&gt;
-- Markus Dahms, 14.12.2004&lt;/div&gt;</summary>
		<author><name>MaD</name></author>	</entry>

	</feed>