先日、サーバーを動かしていたハードウェアの i810 メインボード TX810EU が故障し、サーバーをリプレースしたのですが、故障したPCをそのままにしておくわけにもゆかず、古いパーツをかき集めてサーバーを構成することにしました。
私の持っているATマザーボードで一番高速なCPUに対応していた FIC VA-503+ というマザーボードで、以前動かしていた K6-2 450MHz が乗っていて、これをそのまま使う事にしました。今の時代に 450MHz のプロセッサーはないだろうと思うものの、サーバーの第一条件は安定動作。また、高負荷にはならないはずの用途を予定しているので、コストの掛からないハードウェアで構成することにしました。
OS は FreeBSD 9.3 をCD-ROMからインストール。FreeBSD 10.2 を直接入れたかったのですが、10.2 のCDイメージは何か変で、インストール画面まで進まないため、9.3 を使用しました。9.3 でも ATA関係のエラーが大量に出るものの、インストール画面まで進みますからね。あ〜、USBメモリからブートできるマザーボードがありがたかった。
FreeBS 9.3 自体は問題なくインストールできたので、まずは安定動作するかどうかのテスト。freebsd-update コマンドで、FreeBSD 9.3-p43 まで上げて、同時に portsnap をインストールする程度の負荷には楽々耐えるようなので、続いて Boinc を頑張って貰おうと Linux エミュレーションをインストールすることにしました。
手順は、Linux エミュレーション のメモを見ながら実施。(手順は FreeBSD 10 用ですが、9.2でも
共通のはず。)しかし、今回は
===> linux_base-c6-6.8 compat.linux.osrelease: 2.6.16 is not supported, please use 2.6.18, BEWARE this is highly experimental.
で、Linux パッケージと Boinc が入りません!
検索してみたところ、 https://www.freebsd.org/doc/handbook/linuxemu-lbc-install.html に情報がありました。しかし、これを見ると、手順が細かく書いてあるだけでやることは、上のメモページと変わらないはずなんですが、、、
実際、手順に従ってコマンドを発行してみると実行済み。
# kldload linux kldload: can't load linux: module already loaded or in kernel # kldstat Id Refs Address Size Name 1 7 0xc0400000 128a11c kernel 2 1 0xc4629000 4b000 linux.ko
次のコマンドで違いが発生。
# printf "compat.linux.osrelease=2.6.18\n" >> /etc/sysctl.conf # sysctl compat.linux.osrelease=2.6.18 compat.linux.osrelease: 2.6.16 -> 2.6.18
Linux の OSバージョンがちょっと違っています。
このあとで、linux_base-c6 を入れたところ、一応入ったものの
Jul 19 23:15:14 pc32 pkg: linux_base-c6-6.8 installed Jul 19 23:15:14 pc32 kernel: pid 898 (ldconfig), uid 0: exited on signal 4 (core dumped)
core 吐いて落ちてるじゃない!
一応、linux エミュレーションをリスタートしてみる。今度は core dump しない。
# /etc/rc.d/abi restart Additional ABI support: linux.
その後、boinc を /usr/ports/net/boinc-client でソースからビルド。これは、ビルド済みバイナリーには Linux エミュレーションが含まれていないためです。
ビルドと言っても、make config で、Linux Emulation を入れて、make するだけですけどね。
19-Jul-2016 23:24:59 [---] Starting BOINC client version 7.2.33 for i386-pc-freebsd 19-Jul-2016 23:24:59 [---] log flags: file_xfer, sched_ops, task 19-Jul-2016 23:24:59 [---] Libraries: libcurl/7.49.1 OpenSSL/0.9.8zh zlib/1.2.8 19-Jul-2016 23:24:59 [---] Running as a daemon 19-Jul-2016 23:24:59 [---] Data directory: /var/db/boinc 19-Jul-2016 23:24:59 [---] No usable GPUs found 19-Jul-2016 23:24:59 [---] Host name: pc32 19-Jul-2016 23:24:59 [---] Processor: 1 i386 AMD-K6(tm) 3D processorAMD-K6(tm) 3D processor [] [3dnow mmx] 19-Jul-2016 23:24:59 [---] Processor features: 19-Jul-2016 23:24:59 [---] OS: FreeBSD: 9.3-RELEASE-p43 19-Jul-2016 23:24:59 [---] Memory: 491.41 MB physical, 0 bytes virtual 19-Jul-2016 23:24:59 [---] Disk: 7.62 GB total, 5.87 GB free 19-Jul-2016 23:24:59 [---] Local time is UTC +9 hours
動きました。
以前、K6-2 で Boinc を動かしていましたが、結構計算が異常終了するプロジェクトが多くて、参加プロジェクトが限られていたのですが、計算異常になる典型的なプロジェクト Milkyway@home が動き始めました。
19-Jul-2016 23:38:54 [Milkyway@Home] Started download of milkyway_1.37_i686-pc-linux-gnu 19-Jul-2016 23:38:54 [Milkyway@Home] Started download of parameters-15-3s-ModfitConstraints2-fast.txt 19-Jul-2016 23:38:56 [Milkyway@Home] Finished download of parameters-15-3s-ModfitConstraints2-fast.txt 19-Jul-2016 23:38:56 [Milkyway@Home] Started download of stars-15.txt 19-Jul-2016 23:39:01 [Milkyway@Home] Finished download of milkyway_1.37_i686-pc-linux-gnu 19-Jul-2016 23:39:03 [Milkyway@Home] Finished download of stars-15.txt
こんな感じで、 i686-pc-linux-gnu バージョンバイナリーが動いています。
少し不思議なのは、K6-2 は 586 クラスCPUとして、FreeBSD では扱われるはずなのですが、何かうまく回避したんでしょうか 686 クラスとして動いています。
目的はCPU負荷を掛けた時の安定動作チェックなので、しばらく様子見です。Linuxエミュレーションが入らなかったのは、Linuxバージョン違いだったようです。