Instanzen anlegen + verwalten: Unterschied zwischen den Versionen

Aus Planet 3DNow! Distributed Computing Wiki
Zur Navigation springen Zur Suche springen
Zeile 33: Zeile 33:
 
====Browsertool====
 
====Browsertool====
  
====Script====
+
====Script (Linux only)====
 +
Als Arbeitsverzeichnis empfiehlt sich: /opt/boinc/config_repo/boinc_accounts#
 +
 
 +
==Vorbereitung==
 +
cd /usr/local/bin/
 +
wget https://raw.githubusercontent.com/MBlenn/BOINC/master/BOINC%20instancer/boinc-instancer.sh
 +
apt install net-tools
 +
chmod +x boinc-instancer.sh
 +
boinc-instancer.sh -E http://kerbodyne.com/icc.tar
 +
 
 +
Um sich die weitere Arbeit zu erleichtern, können jetzt die Account-Dateien aus der Hauptinstanz umkopiert werden,
 +
sodass beim anlegen einer neuen Instanz, diese Projekte gleich angemeldet werden. Beispielhaft sei dies am Projekt
 +
SiDock gezeigt:
 +
 
 +
cd /var/lib/boinc-client/
 +
cp account_www.sidock.si_sidock.xml /opt/boinc/config_repo/boinc_accounts/
 +
 
 +
In dem Verzeichnis config_repo liegen u.a. vorbereitete cc_config.xml und global_prefs_override.xml
 +
Beim anlegen einer neuen Instanz, greift das Script auf diese Dateien zu. Darum emphielt es sich, diese Datei an das
 +
eigene System anzupassen.
 +
 
 +
In der Datei cc_congi.xml sind das in der Hauptsache:
 +
 
 +
<max_file_xfers>128</max_file_xfers>
 +
<max_file_xfers_per_project>'''20'''</max_file_xfers_per_project> (In Abhängigkeit der Internetverbindung)
 +
...
 +
<ncpus>'''16'''</ncpus> (In Abhängigkeit der Anzahl der Threads)
 +
 
 +
Den Inhalt der Datei global_prefs_override.xml sollte komplett mit dem Inhalt der Datei aus dem Verzeichnis
 +
/var/lib/boinc-client/global_prefs_override.xml ersetzt werden, denn dort wurden diese Einstellungen bereits vorgenommen.
 +
 
 +
Damit sind die Vorbereitungen abgeschlossen.
 +
 
 +
==Arbeiten mit dem Script==
 +
Als erstes kann die richtige Funktionsweise überprüft werden, indem mit dem ersten Script-Befehl -l (kleines L) gearbeitet wird. In welchem Verzeichnis dies erfolgt, ist egal.
 +
 
 +
boinc-instancer.sh -l
 +
 
 +
[[Datei:Screenshot Hauptinstanz.png|links]]
 +
 
 +
In der Auflistung wird uns die Hauptinstanz angezeigt. Diese trägt immer den Namen 31416.
 +
 
 +
Über "boinc-instancer.sh -h" lassen sich alle Befehlsstrings aufrufen. Sie sind selbsterklärend.
 +
 
 +
Wurden einige Instanzen angelegt, sie es dann wie folgt aus:
 +
 
 +
[[Datei:Script2.png|links]]
 +
 
 +
Die Instanzen boinc_31422 und boinc_31423 wurden angelegt, aber nicht gestartet.
 +
 
 +
Wenn gerade mit Komandobefehlen gearbeitet wird, emphiehlt es sich, gleich noch den Benchmark pro Instanz anzustossen:
 +
 
 +
boinccmd --host localhost:31424 –run_benchmarks
 +
 
 +
Mit dem folgenden Befehl läßt sich die Auflistung, je nach eingestelltem Zeitablauf, mit aktuallisiertem Stand aufrufen:
 +
 
 +
while true; do clear; date; boinc-instancer.sh -l; sleep 60; done
 +
 
 +
In der Auflistung wird in der letzten Spalte die Information ausgegeben, mit der der Boinc-Manager mit der entsprechenden Instanz gestartet wird. Hier am Beispiel der Instanz 31417:
 +
 
 +
boincmgr -m -g 31417 &
 +
 
 +
Oder im Boinc-Manager über Datei -> Computer auswählen -> Rechnername: 127.0.0.1:31417
 +
 
 +
 
 +
Durch häufigs nutzen des Scriptes, werden Arbeitsschritte automatisch durchgeführt, die eventuell in dieser Beschreibung fehlen, und darum die Verbindung zum nächsten Befehl fehlen, dann dies bitte im

Version vom 1. Mai 2021, 07:59 Uhr

Bei manchen Projekten reicht es nicht aus, nur mit der Hauptinstanz zu arbeiten. Entweder arbeitet man dann mit Virtuellen Maschinen, oder mit zusätzlichen Instanzen. Hier zeigen wir, wie sich Instanzen unter Windows und Linux anlegen lassen.

Windows

  1. BOINC-Manager ganz normal offen lassen, aber die Ur-Instanz anhalten (Steuerung / pausieren).
  2. Neuen Bunkerordner anlegen, z.B. C:\Benutzer\p3d-cluster\boinc\b01
  3. Konsole öffnen (und offen lassen!) und dort folgenden Befehl eintragen:
    "cd\"
    "%ProgramFiles%\BOINC\boinc.exe" --allow_multiple_clients --dir C:\Users\p3d-cluster\boinc\b01 --allow_remote_gui_rpc --gui_rpc_port 9001
  4. Mit STRG-C die neue Instanz nochmal kurz stoppen und im Bunker-Ordner in der Datei gui_rpc_auth.cfg, die eben unter anderem erstellt worden ist, das gewünschte Passwort für den Fernzugriff eintragen, z.B. p3d
    Es muss nicht zwingend ein Passwort vergeben werden. Bleibt die Datei leer, ist später auch im Feld Passwort kein Eintrag erforderlich.
    Passwort ändern: Mit Notepad "\Users\p3d-cluster\boinc\b01\gui_rpc_auth.cfg" öffnen
  5. Mit dem Befehl aus 3.) in der Konsole die Instanz wieder starten
  6. Im BOINC-Manager unter Datei / Computer verbinden die Adresse 127.0.0.1:9001 eintragen und das unter 4.) hinterlegte Passwort und schon bist Du mit der ersten Instanz verbunden und kannst ein Projekt verbinden


Linux

  1. BOINC-Manager ganz normal offen lassen, aber die Ur-Instanz anhalten (Steuerung / pausieren).
  2. Neuen Bunkerordner anlegen, z.B. /home/p3d-cluster/boinc/b01
  3. Konsole öffnen (und offen lassen!) und dort folgenden Befehl eintragen: /usr/bin/boinc --allow_multiple_clients --dir /home/p3d-cluster/boinc/b01 --allow_remote_gui_rpc --gui_rpc_port 9001
  4. Mit STRG-C die neue Instanz nochmal kurz stoppen und im Bunker-Ordner in der Datei gui_rpc_auth.cfg, die eben unter anderem erstellt worden ist, das gewünschte Passwort für den Fernzugriff eintragen, z.B. p3d
    Es muss nicht zwingend ein Passwort vergeben werden. Bleibt die Datei leer, ist später auch im Feld Passwort kein Eintrag erforderlich.
    Passwort ändern: gedit /home/p3d-cluster/boinc/b01/gui_rpc_auth.cfg
  5. Mit dem Befehl aus 3.) in der Konsole die Instanz wieder starten
  6. Im BOINC-Manager unter Datei / Computer verbinden die Adresse 127.0.0.1:9001 eintragen und das unter 4.) hinterlegte Passwort und schon bist Du mit der ersten Instanz verbunden und kannst ein Projekt verbinden


Verwaltung

  • Um den Überblick aller Instanzen zu bewaren, hat ydeeps ein Browsertool entwickelt.
  • Um sich unter Linux eine Übersicht zu verschaffen, hat koschi ein Script geschrieben.


Bedienungsanleitungen

Browsertool

Script (Linux only)

Als Arbeitsverzeichnis empfiehlt sich: /opt/boinc/config_repo/boinc_accounts#

Vorbereitung

cd /usr/local/bin/ wget https://raw.githubusercontent.com/MBlenn/BOINC/master/BOINC%20instancer/boinc-instancer.sh apt install net-tools chmod +x boinc-instancer.sh boinc-instancer.sh -E http://kerbodyne.com/icc.tar

Um sich die weitere Arbeit zu erleichtern, können jetzt die Account-Dateien aus der Hauptinstanz umkopiert werden, sodass beim anlegen einer neuen Instanz, diese Projekte gleich angemeldet werden. Beispielhaft sei dies am Projekt SiDock gezeigt:

cd /var/lib/boinc-client/ cp account_www.sidock.si_sidock.xml /opt/boinc/config_repo/boinc_accounts/

In dem Verzeichnis config_repo liegen u.a. vorbereitete cc_config.xml und global_prefs_override.xml Beim anlegen einer neuen Instanz, greift das Script auf diese Dateien zu. Darum emphielt es sich, diese Datei an das eigene System anzupassen.

In der Datei cc_congi.xml sind das in der Hauptsache:

<max_file_xfers>128</max_file_xfers>
<max_file_xfers_per_project>20</max_file_xfers_per_project> (In Abhängigkeit der Internetverbindung)
...
<ncpus>16</ncpus> (In Abhängigkeit der Anzahl der Threads)

Den Inhalt der Datei global_prefs_override.xml sollte komplett mit dem Inhalt der Datei aus dem Verzeichnis /var/lib/boinc-client/global_prefs_override.xml ersetzt werden, denn dort wurden diese Einstellungen bereits vorgenommen.

Damit sind die Vorbereitungen abgeschlossen.

Arbeiten mit dem Script

Als erstes kann die richtige Funktionsweise überprüft werden, indem mit dem ersten Script-Befehl -l (kleines L) gearbeitet wird. In welchem Verzeichnis dies erfolgt, ist egal.

boinc-instancer.sh -l

Screenshot Hauptinstanz.png

In der Auflistung wird uns die Hauptinstanz angezeigt. Diese trägt immer den Namen 31416.

Über "boinc-instancer.sh -h" lassen sich alle Befehlsstrings aufrufen. Sie sind selbsterklärend.

Wurden einige Instanzen angelegt, sie es dann wie folgt aus:

Script2.png

Die Instanzen boinc_31422 und boinc_31423 wurden angelegt, aber nicht gestartet.

Wenn gerade mit Komandobefehlen gearbeitet wird, emphiehlt es sich, gleich noch den Benchmark pro Instanz anzustossen:

boinccmd --host localhost:31424 –run_benchmarks

Mit dem folgenden Befehl läßt sich die Auflistung, je nach eingestelltem Zeitablauf, mit aktuallisiertem Stand aufrufen:

while true; do clear; date; boinc-instancer.sh -l; sleep 60; done

In der Auflistung wird in der letzten Spalte die Information ausgegeben, mit der der Boinc-Manager mit der entsprechenden Instanz gestartet wird. Hier am Beispiel der Instanz 31417:

boincmgr -m -g 31417 &

Oder im Boinc-Manager über Datei -> Computer auswählen -> Rechnername: 127.0.0.1:31417


Durch häufigs nutzen des Scriptes, werden Arbeitsschritte automatisch durchgeführt, die eventuell in dieser Beschreibung fehlen, und darum die Verbindung zum nächsten Befehl fehlen, dann dies bitte im