ブログの記事から検索

2020年4月2日木曜日

Ubuntu Server に BOINC Client を設定する

今回は VMWare ESXi 上にリソースを制限した複数のノードを追加して、BOINC の見かけ上の参加ノードを増やすというとても無駄な事をして遊んだ。
事の発端は下記のツイートを邪悪な方向に曲解した私が「じゃぁ実際に水増ししてやろうじゃないか」と思ったから。

実際には30%程度に制限したVMを3つ用意した。
よい子のみんなはホストプロセスのリソースまでVMにつぎ込んで、ESXiの応答を損なわないように注意して遊ぼう。






1. Ununtu Server 19.10 Install


 ・User: boinc を作成しておく
 ・FireWall の設定で 31416/tcp は開けておく(開いてるか確認する)




2. BOINC Client の導入と各種設定

  $ sudo apt-get install aptitude
  $ sudo aptitude install boinc-client
Ubuntu のパッケージはインストール時に daemon として設定されます。

/etc/default/boinc-client

下記の項目を設定し、リモートコントロールを有効化する。
# Here you can specify additional options to pass to the BOINC core client.
# Type 'boinc --help' or 'man boinc' for a full summary of allowed options.
BOINC_OPTS="--allow_remote_gui_rpc"
#BOINC_OPTS=""

/var/lib/boinc-client/gui_rpc_auth.cfg

Boinc Client の Authentication Token を任意に設定する。
qawsedrftgyhujikolp;@:[]

/var/lib/boinc-client/remote_hosts.cfg

Boinc Manager を利用するホストのIPアドレスか名前解決可能なホスト名を登録する。
# This file contains a list of hostnames or IP addresses (one per line)
# of remote hosts, that are allowed to connect and to control the local
# BOINC core client via GUI RPCs.
# Lines beginning with a # or a ; are treated like comments and will be
# ignored.
#
#host.example.com
#192.168.0.180
192.168.yyy.zzz



3. サービスの再起動とプロジェクトの追加

サービスの再起動を行ったら、Boinc Manager からプロジェクトの登録は可能になる。
だが、既にプロジェクトに参加済みの場合は、プロジェクトのプロフィールからアカウント・キーを取得してコマンドで追加してしまったほうが早い。
  $ sudo service boinc-client restart
  $ boinccmd --passwd  <authentication token> --project_attach <URL> <boinc account key>



4. Boinc Manager でノードを管理する

Boinc Manager では「新しいBoinc Managerウィンドウ」を選択して、ノードのIPアドレスと Authentication Token を入力すると管理できるようになる。これ以後は、Manager の画面からプロジェクトの追加や更新などが可能であり、ノード上のコンソールから操作する必要は無い。














また、複数のホストを指定して BOINC Manager をバッチファイル等で起動するには、以下のようなコマンドを発行すれば良い。
  > "C:\Program Files\BOINC\boincmgr.exe" /s /p <authentication token> /n <IP Address>

プロジェクトに参加させているホストの一覧を表示した例。 この3つのノードは、1台の物理マシンの VMWare ESXi 上に構築した VM である。各リソースは概ね物理リソースの30%程度を上限に設定している。











0 件のコメント:

コメントを投稿