sobota 11. července 2015

BOINC: Instalace a nastavení vzdáleného přístupu

Po delší odmlce jsem si konečně našel chvíli čas a opět se zapojil do výpočtů prostřednictvím BOINC. Nastavil jsem si boinc na serveru tak, aby počítal při jeho nečinosti (což je zhruba 90% z celého dne). A jak jsem to udělal?

Server běží na distribuci Debian. BOINC je v repozitářích a tak je stačilo nainstalovat příkazem:
$ sudo aptitude install boinc-client

Určitě chci aby se mi spouštěl i po restartu počítače a toho docílím následujícím nastavením:
$ sudo update-rc.d boinc-client defaults 98

Pokud si to rozmyslím, mohu spouštění zrušit příkazem:
$ update-rc.d boinc-client remove

Nyní spustím BOINC manuálně:
$ sudo systemctl start boinc-client.service

Jestli je BOINC spuště zjistím pomocí systemctl status:
$ sudo systemctl status boinc-client.service

BOINC lze pomocí systemctl i vypnout:
$ sudo systemctl stop boinc-client.service

Pro správu projektu v konzoli existuje i textový manager:
$ sudo aptitude install boinctui



Projekt přidáme zvolením Activity - Add project, kde projekt vybereme ze seznamu. V mém připadě jsem vybral víceprojektový World Community Grid, který je pod křídly firmy IBM.


Jakmile se stáhnou všechna potřebná data výpočet může začít a jeho průběh můžete sledovat pomocí boinctui:


Pro BOINC existuje i GUI, tzv. boinc-manager, který umožnuje se vzdáleně připojit k serveru. Na to však musí být server, na kterém je BOINC spuštěn nastaven.

Pro vetší bezpečnost si nastavím heslo pomocí kterého se pak budu přihlašovat ke správě.
Heslo napíši jako text do souboru gui_rpc_auth.cfg:
$ sudo vim /var/lib/boinc-client/gui_rpc_auth.cfg

Lze jej také zadat pomocí příkazu echo:
$ echo *somepassword* > /var/lib/boinc-client/gui_rpc_auth.cfg

Poté v souboru remote_hosts.cfg nastavíme IP adresu, na které budeme naslouchat (IP adresa serveru):
$ sudo vim /var/lib/boinc-client/remote_hosts.cfg 

Poté nezapomeneme povolit vzdálené připojení:
$ sudo vim /var/lib/boinc-client/cc_config.xml 

Kde do souboru, přidáme parametr allow_remote_gui_rpc a soubor pak může vypadat následovně:
<cc_config>
  <log_flags>
    <task>1</task>
    <file_xfer>1</file_xfer>
    <sched_ops>1</sched_ops>
  </log_flags>
  <options>
        <allow_remote_gui_rpc>1</allow_remote_gui_rpc> 
  </options>
</cc_config>

Používáte-li firewall nezapoměňte povolit port 31416:
$ sudo iptables -A INPUT -p tcp --dport 31416 -j ACCEPT

Nyní je vše nastaveno a je čas na restart BOINC:
$ sudo systemctl restart boinc-client.service

Na počítači ze kterého se budeme připojovat si nainstalujeme boinc-manager. V mém případě se budu připojovat z distribuce Fedora 22, kde si boinc-manager nainstaluji z repozitářů:
$ sudo dnf install boinc-manager.x86_64

Nyní spustím boinc manager a přepnu se do advanced view (pokročilého zobrazení). Tam zvolím z menu Advanced - Select computer a zadám IP adresu serveru a heslo které jsme si zvolili:


Nyní můžeme spravovat projekty a sledovat jejich průběh vzdáleně:


Vše nám krásně beží a nyní si můžeme říct, že jsme součástí výzkumu, který pomáhá vědcům při hledání léků a výzkumu nemocí. Pokud byste měli zájem jsou zde i jiné projekty z různých oborů jako je Biologie Astrofyzika, Matematika či Multiprojektové (kam spadá i WCG). Jejich přehled můžete vidět na stránkách Czech National Team. Pokud se rozhodnete si boinc nainstalovat, připojte se také do týmu CNT. Na jejich stránkách budete mít krásný přehled vašich výpočtů spolu s porovnáním ostatních účestníku z CNT.