boinc: Another instance of boinc is running.

Boinc 7.0.28 を動かしている Atom D510 FreeBSD 8.3 サーバー の /usr などをNFS で公開し、Athlon X2のノートPCをディスクレスでpxeboot すれば状況に応じてOSを切り替える事が出来、 boincに参戦させるマシンを増やせるのではないかとディスクレスFreeBSDを画策

細かい設定は、別のメモに書くとして、ディスクレス化に成功した。

NFSサーバー上に boinc 用バイナリーがあり、Athlon X2 ディスクレスクライアント側でネットマウント。/var/db/boinc は共用出来ないから、ディスクレスでは boinc用 $HOME は /home/boinc/pc01 に設定。(うまく行けば /home/boinc の下に、pc02, pc03 と増やして行けばよい。)

しかし、この後が落とし穴。/usr/local/bin/boinc を起動すると、”Another instance of boinc is running.” と出て、boinc がすぐに停止してしまう。要するに別のboincが既に動いているよって事。そんなわけないのに。

/var はメモリファイルシステム上にあるため、容量の関係でプロジェクトに参加することは出来ないが、切り分けのために本来の /var/db/boinc をHOMEとしてboinc を起動すれば、問題なくboincが起動する。ということは、boinc は NFS上では動かないということ?と疑問が湧いてくる。

いろいろ調べて見ると、ファイルのロック機構の問題らしい。
ディスクレス・NFSサーバー側の rc.conf は次のようにスイッチを設定している。

nfs_client_enable=”NO”
nfs_server_enable=”YES”
mountd_enable=”YES”
rpcbind_enable=”YES”

ここに、更に

rpc_statd_enable=”YES”
rpc_lockd_enable=”YES”

をサーバー、クライアント側両方に追加すれば、”Another instance of boinc is running.” が出なくなり、boinc クライアントが起動するようになった。
しかし、トラブルは続く。

Boinc自体は手動で起動出来たが、rc.dから自動起動出来ない。原因は、boinc フォルダーの下に boinc起動時に作られる lockfile というサイズ0 のファイルが、boincダウン時に消えない事と思われるが詳しい調査は出来ていない。
その他、boinc がプロジェクトをダウンロードするのだが、全てのプロジェクトが「ダウンロードエラー」または「計算エラー」となり、全く計算出来ない。

これら二種類のトラブルはAthlon X2とAtom D2700で試したので、CPUアーキテクチャの問題では無さそうだ。根本的にどこかに問題がありそう。 NFSの設定のどこかを間違っているのかな〜?

Comments

  1. /usr/local/etc/rc.d/boinc-client 起動スクリプトが自動起動しない問題は解決していないが、「ダウンロードエラー」または「計算エラー」で計算できないという問題は解決した。rc.conf に、
    「linux_enable=”YES”」
    が入っていなかった。
    Linuxエミュレーションがアクティブになっていないのでエミュレーションで参加していたプロジェクトの計算がエラーとなっていたわけだ。
    凡ミスでした。
    しかし、これで全てが解決したわけではなく、調査はまだ続く。

コメントを残す