Virtual Box - VMs für Boinc aufsetzen

eratte

Redaktion
☆☆☆☆☆☆
Mitglied seit
11.11.2001
Beiträge
21.837
Renomée
2.807
Standort
Rheinberg / NRW
  • BOINC Pentathlon 2012
  • BOINC Pentathlon 2013
  • BOINC Pentathlon 2014
  • BOINC Pentathlon 2015
  • BOINC Pentathlon 2016
  • BOINC Pentathlon 2017
  • BOINC Pentathlon 2020
  • SETI@Home Intel-Race II
  • BOINC Pentathlon 2021
Moin.

Ich steige gerade ein in Virtual Box (Hostsystem Windows) um VMs mit Linux aufzusetzen um z.B. für CPU Projekte die damit besser rennen auf die Linux VM zu switchen. Zum Beispiel Universe. Umgekehrt, also Linux Host und Windows VM geht natürlich auch.

Bis jetzt habe ich mich - ausser etwas Citrix beruflich - davor gedrückt.

Stehe noch am Anfang, gerade auf 2. Rechner installiert und erste Linux Mit 17.3 VM aufgesetzt, mit etwas spielen erklärt sich das meiste von selber aber die folgende Anleitung spart einem Ausprobierversuche:

Anleitung Teil 1 von 2 - Linux Mint Cinnamon 17.3 in VirtualBox 5.0.10 installieren
Anleitung Teil 2 von 2 - Linux Mint Cinnamon 17.3 in VirtualBox 5.0.10 installieren

Download Virtual Box von www.virtualbox.org

Grundlage ist ein Hostsystem mit ausreichendem Arbeitsspeicher und freien Platz auf HDD/SSD.

Habe jetzt per schneller Suche nichts entsprechendes im Forum gefunden. Können wir diesen Thread zum austauschen von Infos bezüglich Virtual Box/VM/Bonic nutzen.

Mehr dann ggf wenn ich selber weiter bin mit dem ausprobieren. Sehe ich das richtig das es für GPU Projekte nicht geeignet ist?
 
Wenn man ein Linux ohne XServer, also ohne Grafik, in einer VM startet, dann ist der RAM Verbrauch verschwindend. Auch die Festplattenzugriffe und Systembelastung. Dann brauch man nur so viel RAM zuweisen, wie BOINC dafür benötigt.

Mehr dann ggf wenn ich selber weiter bin mit dem ausprobieren. Sehe ich das richtig das es für GPU Projekte nicht geeignet ist?
Meines Wissens ist das mit Virtualbox nicht möglich. Also 3D Beschleunigung ist innerhalb der VM möglich, aber OpenCL wohl nicht. Professionelle Virtualisierungslösungen wie XEN können so was.
 
Ich bin faul und will klicken ;). Jeden falls cruncht meine Mint VM gerade 12 x Universe. Das geht ja echt recht einfach und das denke ich können die meisten die hier aktiv sind sich antun. Ich war erst mal großzügig mit den Resourcen, die VM darf sich 12 GB RAM genehmigen (Rechner hat aber auch 32 GB) und maximal 64 GB Platz auf einer SSD.

Macht Spass, werde das mal auf Rechner mit ordentlich RAM installieren aber nicht auf allen.

Wenn man nicht GPU haben muss die finde ich bessere Alternative als eine parallele Installation.
 
Zuletzt bearbeitet:
Das doofe ist, wenn der Host eine GPU hat. Denn dann muss man den auf "immer ausführen" setzen, weil er sonst durch die VM Last aussetzen würde. Dann müsste man je nach GPU Projekt auf dem Host entsprechend viele Kerne der VM entziehen.
Ein Vorteil ist allerdings, dass NCI Projekte wie WUProp sowohl auf Host als auch in der VM laufen können.
Den Boinc in der VM kann man durch NAT und Portweiterleitung in den VBox Einstellungen auch von Außen erreichen. Womit man die VM eigentlich überhaupt nicht mehr anfassen muss (grafisch schon gar nicht). Statt Herunterfahren ist auch ein Snapshot möglich.
Das Linux in der VM kann man übrigens so konfigurieren, dass der XServer+grafische Oberfläche nur bei Bedarf, also nicht automatisch, gestartet wird.
 
Ja da ist noch viel Luft nach oben bei mir zum ausprobieren, ohne die Feinheiten ist man aber grundsätzlich schnell am Start und kann ggf beim Pentathlon bei einem Projekt was unter Linux besser läuft schnell switchen. Meine Stammprojekte haben das nicht so was es für mich eher dann für so etwas ist.

Zu dem wollte ich schon länger erste Schritte in die Virtualisierung machen und nutze es als Einstieg - und um Linux Distris fix mal auszuprobieren zu können. Den richtigen Einstieg in Citrix hat mein Chef mir leider nicht angeboten sonder gezielt den jüngsten Kollegen.
 
Wieviele CPU's lassen sich denn durchrouten? Wär interessant für meinen 48-kerner, nur Blöd, wenn man pro VM nur eine Node durchreichen kann.
 
Kann ich dir nicht sagen da keine Systeme mit mehreren Sockel vorhanden, laut "Google" sollte das gehen. Probier es aus, sollte recht schnell gehen auch das ggf wieder entfernen.

--- Update ---

So sieht es dann aus, Windows 8.1 Hostsystem und Linux Mint 17.3 Cinamon als VM mit Boinc:

 
Ich würde meinen, mit VBox gibt es für privat da keine reelle Beschränkung.
 
Zusammenfassung wenn man das schnell für Boinc an den starten bringen möchte als kurze Alternative zur ausführlich Anleitung oben.

- Download Virtual Box (VB) und ggf Extension Pack für USB2/3, PXE etc
- Installation VB
- Installation Extension Pack - per Doppelklick (muss man nicht unbedingt wenn man das nur zum crunchen nutzen möchte)
- starten VB und Grundeinstellungen machen (Speicherort für VMs, Bildschirmauflösung etc)
- per klick auf Neu eine VM anlegen und die Einstellung einrichten (Speicher, Platte...)
- per klick auf Ändern restliche Einstellungen für die VM einrichten (Kerne, 3D Beschleuningung, USB, NAT....)
- wenn noch nicht vorhanden ISO der gewünschten Distri downloaden (z.B. Mint 17.3 Cinamon oder Ubuntu 15.10 .....)
- klick auf Starten der angelegten VM und danach die ISO anwählen
- Linux installieren und danach Reboot
- anmelden und schauen ob es startet
- Gasterweiterungen installieren (per Geräte/Gasterweiterungen einlegen)
- Betriebsystem updaten (sudo apt-get update und sudo apt-get dist-upgrade)
- Boinc per Paketverwaltung installieren
- Boinc starten und an Projektverwaltung anmelden oder Projekte einrichten
- crunchen

Virtual Box bietet natürlich noch vieles mehr was man einstellen kann.

--- Update ---

Virtual Box unterscheidet wohl bei CPUs mit Hyper Threading Technology (im Moment noch nur Intel) zwischen echten und virtuellen Kernen.

Beispiel an einer 6/12 CPU. Damit man alle 12 Threads hat muss der Regler trotz der Meldung ganz an den Anschlag nach rechts in den roten Bereich:



Funktioniert einwandfrei, steht der Regler nur bis grün sind es nur logischerweise 6 Threads die zur Verfügung stehen
 
Zuletzt bearbeitet:
Als Grundvoraussetzung wurde noch nicht erwähnt, dass der Rechner die Virtualisierungsbefehle der CPU (sowohl Intel als auch AMD) aktiviert haben sollte. Dabei ist es ratsam auch die IOMMU mit zu aktivieren.
 
Sicher?

No hardware virtualization required. For many scenarios, VirtualBox does not require the processor features built into newer hardware like Intel VT-x or AMD-V. As opposed to many other virtualization solutions, you can therefore use VirtualBox even on older hardware where these features are not present.

Ich habe es zwar aktiviert aber nach dem sollte es auch ohne gehen.

10.3. Hardware vs. software virtualization

Besser man hat es aktiv.
 
Zuletzt bearbeitet:
Klar. Aber HW ist fast immer von Vorteil.
 
Wenn jetzt noch jemand exakt erklärt, am besten mit Bildern für die ganz Blöden wie mich, wie Daten aus der VM an BoincTasks übergeben werden können. Mit diesem Portweiterleitungsgedöns habe ich mich bisher nie befasst. Wobei, Teamvier funzt auch unter Linux.
 
Da muss ich erst mal passen da BoincTasks bisher nicht genutzt.
 
BT ist erst mal uninteressant. Denn man kann auch ohne auf den Client zugreifen. Und wenn das geht, wird auch BT funktionieren.
Die Sache ist eigentlich rel. einfach. Also eigentlich genau dasselbe wie mit dem Internetrouter, wenn man einen DynDNS Dienst nutzt, um vom draußen, also vom Internet, auf des eigene LAN zugreifen will.

Denn VBox lässt die virtuellen Maschinen in einem eigenen Netz laufen. Meine VM bekommt intern die IP 10.0.2.15.

Was ist nun zu tun?
Nachdem man die VM bereits angelegt und das OS installiert hat, geht man auf "ändern" der VM Einstellungen. Danach auf "Netzwerk". Dort gibt es die Reiter "Adapter" 1 bis 4 - das sind die virtuellen Netzwerkkarten. Wir brauchen bloß eine, also die erste aktivieren, wenn noch nicht geschehen.

Bei "angeschlossen an" wählt man aus der Liste schlicht "NAT" aus. Dann müssen wir auf den blauen Pfeil bei "erweitert" klicken. Dort könnte man eine andere emulierte Netzwerkkarte wählen, falls das OS nur beschränkte Treiberunterstützung hat.
Lassen wir aber alles so. Denn uns interessiert nur die letzte Schaltfläche "Port-Weiterleitung". Damit öffnet sich ein Fenster, in dem man die nötigen Regeln eingibt.
Die ist natürlich leer.
Deshalb ganz rechts auf das Plus klicken, um eine neue Regel einzufügen. Nun erscheint eine neue Zeile.
"Name" kann frei gewählt werden, doch "Boinc" einzugeben macht einfach Sinn.
Die Spalte "Protokoll" belassen wir auf "TCP". Bei "Host-IP" wird exakt die IP des Windows Rechners im normalen LAN eingegeben. Jetzt kommt die Spalte "Host-Port" dran. Dort ist die Wahl eigentlich auch frei, jedoch sind viele Ports für Standard Dienste vorgesehen und wir wählen deshalb einen relativ hohen. Beispielsweise geben wir "40000" ein. In der Spalte "Gast-IP" wird die IP des Gast OS in der VM angegeben.

Wie oben schon erwähnt ist das in meinem Fall die 10.0.2.15. Herausfinden kann man das z.B. im Gastsystem, wenn es ein Linux ist, am einfachsten in dessen Konsole mit /sbin/ifconfig oder sudo ifconfig.
Als letzte Spalte der "Gast-Port". Für die Boinc RPC Fernsteuerung wird dafür bisher der Port "31416" verwendet; das tragen wir dort ein. Schlussendlich "Ok" klicken und im vorigen Fenster ebenfalls.
Diese Einstellungen kann man übrigens auch im laufenden Zustand der VM ändern.

VBox setzt jetzt mittels NAT das interne Netz (IP 10.0.2.255) auf den LAN Adressbereich (bsp: 192.168.178.255) um. Speziell der für Boinc nötigen Kommunikations-Port 31416 wird auf den Port 40000 der IP des Windows Rechners umgemappt.


Zu erreichen ist der Boinc Client in der VM nun wie folgt:

Von demselben Rechner, auf dem die VM läuft, wäre das im BM (Extras ->Rechner auswählen") mit "localhost:40000" und Ok bestätigen.
Von außerhalb des Win Rechners mit der VM wäre halt die IP des Win Rechners anzugeben, Doppelpunkt, gefolgt von dem Port 40000.

Bei BoincTasks ist das selbstverständlich genau so. Dort ebenfalls die IP des Win Rechners eingeben; bei der Spalte Port unsere 40000. Das war's.


Sollte der BC nicht erreichbar sein, dann das übliche abklappern:
Schauen (in dem VM OS), dass in der /etc/boinc-client/gui_rpc_auth.cfg kein Passwort gesetzt ist (außer man will das so),
eventuell in der /etc/boinc-client/remote_hosts.cfg die IP der VM aus Sicht des Linux in der VM eintragen; das ist meist die 10.0.2.2.
Notfalls mit traceroute schauen:
traceroute google.de
traceroute to google.de (172.217.18.35), 30 hops max, 60 byte packets
1 10.0.2.2 (10.0.2.2) 0.441 ms 0.180 ms 0.213 ms^C
(mit STRG+C abbrechen)
Dort ist die 10.0.2.2 zu ersehen.


Auf die gleiche Weise kann man auch andere Dienste in der VM von Außen erreichbar machen. Beispielsweise ssh, um sich von außen in das Linux der VM einzuloggen. Dort eine neue Regel hinzufügen (das Plus rechts) und dieselben IPs wie oben eintragen. Nur der die Host und Gast Ports auf 22 ändern - das ist der standard SSH Port. Da Windows normalerweise nicht so was tolles wie SSH an Bord hat, kommt die VM auch nicht mit dem Win Host in Konflikt.

So kann man letztendlich, nur zum crunchen, den gefräßigen Xserver beenden und so die "Grundlast" (die ja eh schon gering ist) minimieren.
 
Zuletzt bearbeitet:
Na das ist doch mal ne verständliche Anleitung, werd ich morgen mal ausprobieren.
 
BT ist erst mal uninteressant.

Da ich BT nicht kannte wusste ich auch nicht was es macht und wie es funktioniert - daher war das schon aus meiner Sicht "interessant" ;)
 
Na das ist doch mal ne verständliche Anleitung, werd ich morgen mal ausprobieren.
Hat funktioniert. Allerdings muß man für BT noch die cc_config ändern, das passwort in die gui_rpc_auth.cfg und die Host-IP in die remote_hosts.cfg eintragen. Dann Boinc beenden und neu starten. In BT muß noch das Passwort welches vorher vergeben wurde, eingetragen werden. Läuft.
 
Ich habe mir auch mal BT installiert, klappt auch soweit nur folgendes Problem: installiere ich auf dem Rechner wo BT läuft auch noch Virtual Box findet BT die Clients nicht mehr im Netz. VB wieder runter dann findet BT auch wieder die anderen Rechner. Ich denke das hat was mit dem Netzadapter zu tun den VB installiert, geht man auf Computer suchen in BT steht mit installiertem VB da 192.169.56.1 statt wie es richtig wäre 19.168.1.1.
 
Zuletzt bearbeitet:
Hm, das Prob habe ich nicht. Ich habe auf meinem Rechner BT und VB installiert. Nach cyrus Anleitung die Portweiterleitung vorgenommen. Beide Rechner werden in BT angezeigt. Nur im Gastsystem (Mint) wird der BM nicht mehr angezeigt bzw er bekommt keine Verbindung zum Boinc-Client mehr.<br><br>
 
Zuletzt bearbeitet:
Blöd. Wollt grad auch die Virtual Box auf meinem 48er Opti-Sys probieren, da sagt die doch tatsächlich, es wär keine Hardware Virtualisierung vorhanden, obwohl aktiviert. Vermutlich kommt manche Software mit 8 CPU's durcheinander, denn z.B. der Phenom MSR Tweaker stellt mir nur noch bei 2 CPU's die Wunschspannungen ein.

Zum anderen kann Virtual Box maximal 32 Kerne durchreichen.
 
Zuletzt bearbeitet:
Das ist schade aber auch ein nicht gerade gängiges System.
 
Kurz nach VirtualBox 5.0.18 hat Oracle die Version 5.0.20 zum Download bereit gestellt.
 
Oracle VirtualBox 5.0.22 steht zum Download bereit.
 
Zurück
Oben Unten