あたご工房
天文と電子工作とコンピュータなどについて日々の出来事を書いています。
| ホーム |
マイニングリグの掃除と強化
マイニングリグのGPUがだいぶホコリまみれになってきたので掃除をします。
ついでに色々と改良をします。
一般家庭だとどうしてもホコリが多くなってしまいます。
リグ全体に冷却風を送るファンはこの通り。
マザーボードに至っては雪が降ったような感じになってます。
こちらは電源ユニットのフィルターです。
SilverStoneの電源ですが、フィルターは磁石で留めるタイプになっていて掃除がしやすいです。
リグの電源を落として、全て掃除機をかけました。
まだ埃っぽい感じですが、だいぶましになりました。
さて、ここから色々と不具合の修正と改良を行っていきます。
まずは消費電力モニタの不具合解消です。
表示がFullになってしまいました。
通常は3つのボタンを長押しするとリセットされるのですが、バグってしまったようでリセットされません。
コンセントから抜いてリセットしました。
お次はGPUの排気効率Upです。
現状はGPUを留めるL字金具をスチールラックのフレーム上方になるようにしています。
このためファウンダーズエディションタイプのスロット後方に排気するGPUだと熱気がモロに黒いフレームに当たって、触れないほどの熱さになります。
このフレームを1段上げて、L字金具を逆さまにすることで熱気がフレームに当たらないようにしました。
これでメインリグは完了です。
さて、今回はさらにリグの強化を行います。
メインのUbuntuサーバはPT2を載せるためPCIスロットのあるタイプにしてありますが、逆にPCIeのスロットに空きがあります。
ここにGPUを載せてマイニング強化を図ります。
ただ、PCケースがコンパクトタイプのため、フルサイズのGPUだとHDDに干渉してしまいます。
パワーは一段劣りますが、コンパクトタイプのGTX1070(玄人志向)にしました。
コンパクトタイプではありますが、しっかり2スロット占有するので厚み方向が結構キツイですね。
で、リグを組もうとしていつもやってしまう失敗がBIOSの設定です。
今回も忘れてました。
GPUを差す前にオンボードVGAを常にONにして、メインGPUとして使われるようにしておく必要があります。
最後にマイニングプログラム(ccminer)の自動起動です。
あたごはマイニングは1GPUに1つの仮想マシン(正確にはDockerコンテナ)を割り当てて、VIP POOL側ではそれを1つのワーカに割り当ててます。
こうすることでホストOSのアップデートとかに影響されて動かなくなるといった可能性を減らしています。
一方でコンテナの自動起動が少々厄介で手付かずでした。
1.dockerコンテナそれぞれからホストOSの特定のディレクトリを共有させる。
2.共有ディレクトリにマイニング開始スクリプトを置いておく。(スクリプトA)
3.スクリプトAを起動コマンドとして指定してコンテナを起動するスクリプトBを作っておく。
4.ホストの起動時にスクリプトBを起動する起動スクリプトCを作り、有効化する。
1は/dataというディレクトリをそれぞれのコンテナでも/dataとして割り当てます。これはdocker起動時にパラメータとして渡しますので、スクリプトBの説明で記述します。
スクリプトAはccminerを起動しますが、メインのマイニングリグのように複数のGPUがある場合はGPU番号とワーカを振り分けられるようにします。
実際には以下のようなスクリプトとしました。
gpu番号をパラメータとして渡します。
/data/mining.sh
スクリプトBは以下のようにしました。
ループとか使ってスマートに書けるのでしょうが、せいぜい4つなのでコピペしました。
-vオプションでホストの/dataをコンテナ側でも/dataとしてアクセスできます。
mining.shのパラメータを変えています。
/usr/local/bin/startmine.sh
最後にホスト起動時にstartmine.shが起動されるように起動スクリプトを以下のように作りました。
/etc/init.d/mining
このスクリプトが各ランレベルで有効となるように以下を実行しました。
これでPC起動時に自動的にマイニングが実行されるようになりました。
↓押していただけると嬉しいです。

ついでに色々と改良をします。
一般家庭だとどうしてもホコリが多くなってしまいます。
リグ全体に冷却風を送るファンはこの通り。

マザーボードに至っては雪が降ったような感じになってます。

こちらは電源ユニットのフィルターです。
SilverStoneの電源ですが、フィルターは磁石で留めるタイプになっていて掃除がしやすいです。

リグの電源を落として、全て掃除機をかけました。
まだ埃っぽい感じですが、だいぶましになりました。

さて、ここから色々と不具合の修正と改良を行っていきます。
まずは消費電力モニタの不具合解消です。
表示がFullになってしまいました。

通常は3つのボタンを長押しするとリセットされるのですが、バグってしまったようでリセットされません。
コンセントから抜いてリセットしました。

お次はGPUの排気効率Upです。
現状はGPUを留めるL字金具をスチールラックのフレーム上方になるようにしています。

このためファウンダーズエディションタイプのスロット後方に排気するGPUだと熱気がモロに黒いフレームに当たって、触れないほどの熱さになります。

このフレームを1段上げて、L字金具を逆さまにすることで熱気がフレームに当たらないようにしました。

これでメインリグは完了です。

さて、今回はさらにリグの強化を行います。
メインのUbuntuサーバはPT2を載せるためPCIスロットのあるタイプにしてありますが、逆にPCIeのスロットに空きがあります。

ここにGPUを載せてマイニング強化を図ります。
ただ、PCケースがコンパクトタイプのため、フルサイズのGPUだとHDDに干渉してしまいます。
パワーは一段劣りますが、コンパクトタイプのGTX1070(玄人志向)にしました。

コンパクトタイプではありますが、しっかり2スロット占有するので厚み方向が結構キツイですね。

で、リグを組もうとしていつもやってしまう失敗がBIOSの設定です。
今回も忘れてました。
GPUを差す前にオンボードVGAを常にONにして、メインGPUとして使われるようにしておく必要があります。

最後にマイニングプログラム(ccminer)の自動起動です。
あたごはマイニングは1GPUに1つの仮想マシン(正確にはDockerコンテナ)を割り当てて、VIP POOL側ではそれを1つのワーカに割り当ててます。
こうすることでホストOSのアップデートとかに影響されて動かなくなるといった可能性を減らしています。
一方でコンテナの自動起動が少々厄介で手付かずでした。
1.dockerコンテナそれぞれからホストOSの特定のディレクトリを共有させる。
2.共有ディレクトリにマイニング開始スクリプトを置いておく。(スクリプトA)
3.スクリプトAを起動コマンドとして指定してコンテナを起動するスクリプトBを作っておく。
4.ホストの起動時にスクリプトBを起動する起動スクリプトCを作り、有効化する。
1は/dataというディレクトリをそれぞれのコンテナでも/dataとして割り当てます。
スクリプトAはccminerを起動しますが、メインのマイニングリグのように複数のGPUがある場合はGPU番号とワーカを振り分けられるようにします。
実際には以下のようなスクリプトとしました。
gpu番号をパラメータとして渡します。
/data/mining.sh
#!/bin/sh ifconfig /root/ccminer-2.2-mod-r2/ccminer -a lyra2v2 -o stratum+tcp://vippool.net:8888 -u ワーカ名共通部$1 -p パスワード -d $1 |
スクリプトBは以下のようにしました。
ループとか使ってスマートに書けるのでしょうが、せいぜい4つなのでコピペしました。
-vオプションでホストの/dataをコンテナ側でも/dataとしてアクセスできます。
mining.shのパラメータを変えています。
/usr/local/bin/startmine.sh
#!/bin/sh nvidia-docker run --rm -v /data:/data ccminer:ccminer-2.2-mod-r2 /data/mining.sh 0 & nvidia-docker run --rm -v /data:/data ccminer:ccminer-2.2-mod-r2 /data/mining.sh 1 & nvidia-docker run --rm -v /data:/data ccminer:ccminer-2.2-mod-r2 /data/mining.sh 2 & nvidia-docker run --rm -v /data:/data ccminer:ccminer-2.2-mod-r2 /data/mining.sh 3 & |
最後にホスト起動時にstartmine.shが起動されるように起動スクリプトを以下のように作りました。
/etc/init.d/mining
#!/bin/bash # # mining # # chkconfig: 2345 90 20 # description: Mona coin mining # # processname: mining # source function library ### BEGIN INIT INFO # Provides: mining # Required-Start: $local_fs # Required-Stop: $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: mining ### END INIT INFO . /etc/rc.d/init.d/functions RETVAL=0 DAEMON=/usr/local/bin/startmine.sh prog="startmine.sh" lockfile=/var/lock/subsys/$prog runlevel=$(set -- $(runlevel); eval "echo \$$#" ) start() { echo -n $"Starting $prog: " /usr/local/bin/$prog & RETVAL=$? echo return $RETVAL } stop() { echo -n $"We can't stop $prog: " return 0 } restart() { stop sleep 5 start } case "$1" in start) start ;; stop) stop ;; restart) restart ;; *) echo $"Usage: $0 {start|stop|restart}" RETVAL=2 esac exit $RETVAL |
このスクリプトが各ランレベルで有効となるように以下を実行しました。
sudo apt-get install chkconfig sudo update-rc.d mining defaults |
これでPC起動時に自動的にマイニングが実行されるようになりました。
↓押していただけると嬉しいです。
- 関連記事
-
- VPNから自宅マシンへのアクセス
- 無線LANブリッジ不調
- マイニングリグの掃除と強化
- キーボードクリーニング
- マイニングの異変
コメント
コメントの投稿
トラックバック
| ホーム |