10. Pentathlon Linux VM-Image

Nero24

Administrator
Teammitglied
Mitglied seit
01.07.2000
Beiträge
24.058
Renomée
10.440
  • BOINC Pentathlon 2019
  • BOINC Pentathlon 2020
  • BOINC Pentathlon 2018
  • BOINC Pentathlon 2021
Hallo liebe Gemeinde,

wie jedes Jahr gibt es auch beim diesjährigen Pentathlon wieder CPU-Projekte, die unter Linux wesentlich schneller laufen als unter Windows. Einige behelfen sich hier mit einem vollwertigen Desktop-Linux samt grafischer Oberfläche in einer VM und müssen sich dann mit dem unbekannten System herumschlagen. :o
Aber das geht wesentlich einfacher! Ein vorgefertigtes, schlankes Server-Linux ohne grafische Oberfläche, mit BOINC als einzigem Dienst installiert, den man von Windows aus mit dem BOINC-Manager steuert, ohne auch nur einen Linux-Befehl eingeben zu müssen. :D Und das geht so.


0. Bitte vorab sicherstellen, dass im BIOS die Virtualisierungsfunktion aktiviert ist.
Der Windows Taskmanager gibt darüber Auskunft, ob das der Fall ist:
taskmgr.png



1. Voraussetzung ist, dass die Virtualisierungssoftware VirtualBox in einer aktuellen Version auf dem Windows-PC installiert ist:
https://www.virtualbox.org/wiki/Downloads


2. Vorgefertigtes P3D-Linux-Image herunterladen
(Anfrage per PN an mich)


3. Heruntergeladenes Image in VirtualBox importieren.
virtualbox-importieren.png



4. Anzahl der CPU-Kerne anpassen
virtualbox-cpu.png

Das Muster-Image wurde für 4 Kerne ausgelegt. Bitte dem eigenen PC anpassen. Vorschlag: CPU mit HTT/SMT: Anzahl der echten CPU-Kerne. CPU ohne HTT/SMT: Anzahl der CPU-Kerne -1.


5. Netzwerk checken
virtualbox-nic.png

Wichtig ist, dass die VM via Netzwerkbrücke über die reale Netzwerkkarte läuft, die mit dem Router verbunden ist, damit die VM eine IP-Adresse per DHCP bekommt und im LAN erreichbar ist.

Falls die VM im LAN mehrfach zum Einsatz kommen soll, muss in Virtualbox / Netzwerk / Erweitert die MAC-Adresse verändert werden, weil sonst der Router durcheinander kommt, wenn ein Gerät scheinbar mehrfach im LAN vorhanden ist. Im ungünstigsten Fall kriegt dann nur eine VM eine IP-Adresse und die anderen sind offline :( Standardmäßig hat die VM die MAC-Adresse 08002755E7E3. Man könnte einfach hochzählen für jede weitere VM im LAN: 08002755E7E4, 08002755E7E5, usw, zu ändern im VirtualBox-Manager.
Und in der VM muss auch jede einen individuellen Hostname bekommen. Wie man den ändert, ist hier zu finden.


6. VM starten
virtualbox-starten.png



7. IP-Adresse der VM herausfinden
Sobald die VM hochgefahren ist, kann man im Router nachschauen, welche IP-Adresse sie bekommen hat.
virtualbox-ip.png



8. Windows BOINC-Manager verbinden
virtualbox-boincmgr.png


Nun kann man den BOINC-Dienst in der Linux-VM über den Windows BOINC-Manager steuern, Projekte verbinden, stoppen, hochladen, usw., indem man sich mit der eben ermittelten IP-Adresse damit verbindet.

Wenn man den BOINC-Manager wieder auf den lokale BOINC-Dienst umstellen möchte, unter Datei / Computer auswählen... einfach wieder "localhost" klicken (Passwort wird automatisch übernommen).

Ach ja: bitte sicherstellen, dass im lokalen BOINC nicht auch noch Projekte laufen! Ansonsten bremsen sich die WUs in Windows und die in der VM gegenseitig!

Wie man sieht muss man sich hier nicht eine Sekunde mit Linux-Befehlen in der Konsole aufreiben. Einfach runterladen, starten und per Windows-BOINC-Manager verwalten :D Nicht mal zum herunterfahren der VM braucht man Linux-Befehle, das geht ganz simple über das VM-Menü

virtualbox-off.png


Für Interessierte:
Es handelt sich dabei um ein Ubuntu 16.04 LTS out-of-the box mit folgenden Anpassungen: aktueller Stand mittels apt-get upgrade; Installation mc; Installation boinc-client mit Anpassung "allow_remote_gui_rpc 1" und "p3dn" in gui_rpc_auth.cfg. Es ist zwar nicht notwendig, aber falls sich doch jemand in der VM einloggen möchte, um etwas anzupassen (z.B. die cc_config.xml): Sowohl Benutzername, als auch Passwort lauten "p3dn". Nutzung auf eigene Gefahr!
 
Zuletzt bearbeitet:
Also an und für sich ist das eine feine Sache!
Ich hoffe, dass hier nicht das Problem mit den Mac Adressen auftritt.
Wenn man VMs kopiert weiß ich nicht ob sich die ändert.
 
Ich hoffe, dass hier nicht das Problem mit den Mac Adressen auftritt.
Wenn man VMs kopiert weiß ich nicht ob sich die ändert.
Solange man die VMs nicht mehrfach im eigenen LAN einsetzt, sollte das kein Problem sein. Ansonsten kann man in den Einstellungen der VM / Netzwerk / Erweitert die jeweilige MAC-Adresse nach Gutdünken anpassen, falls man sie doch mehrfach einsetzen möchte 8)
 
Zuletzt bearbeitet:
Ich brauch das Image zwar nicht, aber du könntest noch den Ssh-Login bekannt geben, wenn man eben doch etwas im Boinc Verzeichnis erledigen muss.
 
Danke Roland. Ich habe es mal runtergeladen.
 
Danke, habe es zum Laufen gebracht!

P.S.
Wollte nur Anmerken, dass mit Edge kein Runterladen der Datei möglich für mich war, mit Firefox aber keine Probleme gab. Die Berechnungszeit verkürzte sich bei mir um ca. 40 min.
 
Zuletzt bearbeitet:
Meine erste VM läuft auch schon. Überhaupt kein Problem, wenn man sich an die Anleitung hält.

Der PC wäre eh auf Windows geblieben, weil er einen meiner Radac-Sensoren dran hat, jetzt Boinc unter Win10 mit WUProp und Radac - und auf VB 7 Threads WCG-Zika.
Mal schauen, wie die Laufzeiten aussehen werden. Beim ersten Durchlauf sicher noch schlecht, weil der Host auch noch 8 Threads Zika drin hat und die möchte ich nicht abbrechen.

Auf zum nächsten PC. Danke nochmals an Nero24. :D Das war super.
Bisher laufen bei mir gesamt 3 native Linuxe und zwei VMs.

Eine Frage fällt mir aber doch spontan ein: Wie kann ich in der VM Bunkern? Nur das Netzwerk über den BM abbeißen?
 
Ja klar. Also über den BM.
Oder, spezifischer, analog zu Win (die gleichen Einträge) die Datei /etc/hosts befüllen. Aber dazu müsste man die nat. bearbeiten und sich in der Shell einloggen. Da Nero mc installiert hat, würde der mit sudo eigentlich auch ausreichen, da man mit F4 den internen Editor aufruft.
 
Insofern eigentlich jetzt die ideale Lösung:
Man spart sich den Treiberstress im Linuxteil und macht GPU und eventuell etwas NCI (z.B. Radac) im Windowsteil und auf der VM dann die schnelleren Linux-WUs. Allerdings muss man auch da immer an die benötigten Kerne denken, ggf. die Kerne der VM etwas reduzieren.
(Und wenn sogar ich das im ersten Anlauf hinkriege, ist es auch noch DAU-sicher. ;D)
 
Ich habe das bei meinem GPU Cruncher recht pragmatisch gelöst.
Die GPU WUs laufen unter Windows und was dann noch an CPU Kapazität übrig bleibt (SMT off) geht an Ubuntu in der VM. Da bei dem 8 Kerner die CPU Auslastung mit allen 8 GPUs idR. bei unter 50% gleibt hat die VM 4 Kerne zugewiesen bekommen. Da viele CPU Projekte unter Linux besser laufen als unter Windows ist es für mich das optimale Setting denn die CPU WUs haben eine für sie optimale Umgebung und können so auch nich den GPU WUs die CPU Laufzeit wegfressen oder sie gar pausieren, ein Problem das ich früher mit dem CPU-GPU WU Mix unter Windows des öfteren hatte.
 
Insofern eigentlich jetzt die ideale Lösung:
Man spart sich den Treiberstress im Linuxteil und macht GPU und eventuell etwas NCI (z.B. Radac) im Windowsteil und auf der VM dann die schnelleren Linux-WUs. Allerdings muss man auch da immer an die benötigten Kerne denken, ggf. die Kerne der VM etwas reduzieren.
Man kann und sollte dann NCI Projekte wie WUProp und Goofyxgrid parallel laufen lassen.
 
Mal in die Runde gefragt, falls Seti@home als GPU Projekt drankommt. Das läuft unter Linux ja auch deutlich schneller.

In der VM funktionieren die GPU im BM nicht. Könnte man Linux nativ vom USB Stick starten (mit "UNetbootin" erstellt) und dann die GPU nutzen? Gibt es spezielle Linuxe für solche Vorhaben? Hatte was mit "Live" gefunden. Wenn ich aber nach AMD Grafiktreibern und Linux google, wird mir eher schlecht.
 
Ja das geht han schon Monate lang mit ein USB Sticker gerechnet als ich keien SSD über hatte fraglich ist nur der gpu Treiber in meinnfall warst ne ur alt Karte die ohne zutuen ging
 
Wenn Ihr in der VM mit der GPU hantieren wollt, müsstet Ihr bei den Einstellungen der VM vorab aber erstmal die 2D- und 3D-Beschleunigung aktivieren. Sonst kommt die VM an die GPU gar nicht ran. :)
 
Dachte in der VM (von Windows Host aus) geht das gar nicht. Jeder Versuche (ob mit Geforce oder Radeon) führte zu einer Vernichtung der Installation. Es kam bestenfalls noch beim Start von Linux zu einem schwarzen Bildschirm mit blinkendem Cursor oben links. Was wohl auf einen Grafiktreiberproblem hinweisen soll. In die Shell kam ich zwar noch, aber alle im Internet gefundenen Tipps das zu beheben führten zu nichts. Da in der VM schon >500 Zikas fertig sind, möchte ich da auch nicht dran rumspielen.

Die 2D Beschleunigung kann ich auch gar nicht aktivieren:

2019_05_02_14_19_48_Boinc_2_Einstellungen.png

Mit "lspci -nnk | grep -i VGA -A2" (habe keine Ahnung ob ich damit alles auslese, auf chip.de gefunden) erhalte ich folgende Angaben zur Grafikkarte:
Code:
00:02.0 VGA compatible controller [0300]: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter [80ee:beef]
	Kernel driver in use: vboxvideo
	Kernel modules: vboxvideo

Also keine (echte) Grafikkarte verfügbar!? *noahnung*
 
hi,
zur info wer seine ganzen kerne einsetzen möchte beim Ryzen kann die Einstellung in Virtual Box setzen nutze höchsten Prozessor Auslastung standard mäßig steht sie auf 100% stellt diese auf 99% und schon laufen auch die SMT Kerne sauber ohne das das Wirts system "abstirbt"
lg
 
Mal in die Runde gefragt, falls Seti@home als GPU Projekt drankommt. Das läuft unter Linux ja auch deutlich schneller.
Eigentlich nicht. Nur mit Nvidia und optimierten CUDA-Apps rennt Linux auf und davon - denn die gibt es nicht für Windows.
Aber OpenCL nimmt sich meiner Meinung nach nichts. Vielleicht 10% Vorteil für Linux.
 
Ich muss am Samstag mal ein wenig mit dem Hypervisor und iommu rumprobieren damit ich in einer VM (nicht VirtualBox) auch OpenCL nutzen kann.
 
Also durchschleifen kann man vieles … zB Radeon HD Karten oder Geforce Karten (hat selbst Linus hinbekommen) … geht auch mit Windows Hyper Dings (durch umständlicher)
 
Kann man die Host Datei in Linux verändern?

--- Update ---

Also ich hab es gefunden aber es hilft nichts. Wenn ich hier was eintrage, werden trotzdem die WUs hochgeladen.
 
Zuletzt bearbeitet:
Ich hab einfach im BOINC-Manager Steuerung Netzwerkzugriff pausieren eingestellt *noahnung* Das genügt!
 
Zurück
Oben Unten