Baikal Giant Nの安定稼働を目指して

以前の記事にも書いたとおりBaikal Giant Nは一定時間過ぎるとWeb GUI/SShともにアクセスできなくなります(1)。さらにAEONを採掘しているとRejectが頻発したときにマイニングプールから切り離されてしまいます(2)。

Baikal Giant Nが届いて6日たちました。 細かいトラブルはありますが、順調に稼働しています。 Baikal Gian...
Nicehashでの掘れ高がダダ下がりの状態でAEON掘りがメインになってきましたがこれにも問題があります。 1.AEONMiningPo...

これらの問題のうち(1)はBaikal Miner社がファームウェアの改善をしない限りどうしようもありません。

(2)はログインさえできればsgminerをリスタート(minerメニューにある)することでreject件数をリセットしてマイニングプールに再接続することができます。

そこでsgminerを一定時間おきにリスタートするシェルスクリプトを作りました。もっとスマートにやる方法もあるかとは思いますがLinuxはあまり得意ではないのでこれで勘弁してください。また、これで別なトラブルが引き起こされたとしても責任はとれませんのでご了承ください。

1.sgminer関係のプロセス
スーパーユーザーになってps -efコマンド実行するとそれらしいプロセスが発見できます。
root 4105 1 0 22:06 ? 00:00:00 /usr/bin/SCREEN -dmS sgminer /opt/scripta/bin/sgminer -c /op
root 4106 4105 17 22:06 pts/2 00:01:18 /opt/scripta/bin/sgminer -c /opt/scripta/etc/miner.conf –ap
2.スタート、ストップスクリプトの場所

/opt/scripta配下が怪しいので調べるとすぐに見つかりました。

(1)スタートアップスクリプト:/opt/scripta/startup/miner-start.sh

(2)ストップスクリプト:/opt/scripta/startup/miner-stop.sh

3.sgminerリスタートシェルスクリプト

1.でプロセス一覧を見るとwatchdogというものもいます。これはsgminerを監視しているプロセスで、sgminerが何らかの理由で死ぬとsgminerを起動するようにできています。

今回のシェルはwatchdogによる再起動を利用します。

while文を使った無限ループで4時間おきにsgminerを停止しています。sgminerを停止すると数秒~10秒程度でwatchdogが検知して再起動してくれます。4時間は長すぎるという場合は14400(秒)を適当な長さに変更してもいいと思います。

こうやって作ったシェルスクリプトのファイル(ここではcont.sh)に実行権限を与え、以下のコマンドで起動して後は放置すればいいです。

# nohup ./cont.sh &

nohupはログアウトするときにプロセスを停止させる信号を無視するものです。nohupで起動されたプログラムはsshをログアウトしても動き続けます。&はバックグラウンド実行です。
このあたりの言葉に慣れない方はググって調べてみてください。詳細な解説がいくらでもあります。

4.効果
で、効果ですが1時間おきに起動するようにしたスクリプトを仕込んで1日超放置しました。
グラフを見る限りハッシュレートが落ち込んでも回復している様子がわかります。平均値でも5台フル稼働時の200KH/sを維持していました。何とか目的は達成したようです。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする