Instanzen anlegen + verwalten: Unterschied zwischen den Versionen

Aus Planet 3DNow! Distributed Computing Wiki
Zur Navigation springen Zur Suche springen
Zeile 40: Zeile 40:
 
=====Vorbereitung=====
 
=====Vorbereitung=====
 
  cd /usr/local/bin/
 
  cd /usr/local/bin/
  wget https://github.com/MBlenn/BOINC/tree/master/BOINC%20instancer
+
  wget https://github.com/MBlenn/BOINC/blob/master/BOINC%20instancer/boinc-instancer.sh
 
  apt install net-tools
 
  apt install net-tools
 
  chmod +x boinc-instancer.sh
 
  chmod +x boinc-instancer.sh

Version vom 17. Mai 2021, 16:17 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 (Hinweis: Es kann sein, dass Passwörter automatisch erstellt sind und man keinen Zugriff auf die Instanz bekommt. Dann muss man wie beschrieben ein eigenes Passwort festlegen.)
  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
  7. Die Berechnungseinstellungen anpassen, z.B. unter "Sonstiges" einstellen, dass mindestens 9 Arbeitstage gespeichert werden.
  8. Hinweis: Wer über die Host-Datei den Zugriff zum Server gesperrt hat, erhält natürlich keinen Zugriff auf das Projekt. Hier muss die Host-Datei also zum Besorgen der WUs vorübergehend angepasst werden.


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://github.com/MBlenn/BOINC/blob/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 im Vorfeld 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)

Der 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 die Nummer 31416.

Über "boinc-instancer.sh -h" lassen sich alle Befehlsstrings aufrufen.

Wurden einige Instanzen angelegt, sieht 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