マイニングプールの自動切り替えをした
TL;DR
マイニングプールが落ちた時に自動的に切り替わるといいなぁ haproxyを使って各マイニングプールを自動で切り替えよう
#!/bin/bash minerd -a yescrypt -o stratum+tcp://mproxy.coiner.site:11000 -u User.worker -p password
振り分け先
名称 | stratum接続先 |
---|---|
銭プール(ZNY) | stratum+tcp://zny.coiner.site:19666 |
bunnymining | stratum+tcp://mining.bunnymining.work:19332 |
※ポートは変わっても大丈夫。ユーザー名とワーカー名・パスワードは同一!
手順書 haproxyをインスコ
環境:Ubuntu16.04TLS
$ sudo apt-get install haproxy $ sudo mv /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.org $ vim /etc/haproxy/haproxy.cfg
config書くよ
global maxconn 32768 # concurrent connections limit user nobody spread-checks 5 defaults timeout connect 50000 #timeout client 5000ms timeout server 50000 frontend http-in bind *:80 mode http stats enable stats uri /admin?stats frontend stratum-in # proxy stratum bind *:11000 default_backend stratums backend stratums balance source hash-type consistent server stratum1 zny.coiner.site:19666 check inter 20s rise 5 fall 2 server stratum2 mining.bunnymining.work:19332 check inter 20s rise 5 fall 2
※check inter 20sやtimeoutの部分はstratum (yay!!!) の出る秒数以上に設定!
接続テストする(Failoverテスト)
./minerd -a yescrypt -o stratum+tcp://mproxy.coiner.site:11000 -u User.worker -p password
$ nc -U /tmp/haproxy-cli.sock prompt > set weight stratums/stratum1 0 #接続先が変わるか確認 > set weight stratums/stratum1 1 #元に戻す
作った理由
しばしば自分のサーバーが落ちてしまうのでマイニングのダウンタイムを減らすためにLB導入した。
悩んだ点
初回はroundrobinで設定をしていましたが、server1に接続、server2に接続と繰り返すとリクエスト<=>レスポンスの宛先がおかしくなり正常稼働せず。 出来る限り、スティッキーセッションのように接続されるようにしました。
参考
暗号通貨BitZenyまとめWiki bunnymining
追記
マイニングプール、各種コインに対応したよ!
名称 | stratum接続先 |
---|---|
円天恋なープール | stratum+tcp://ytn.coiner.site:19000 |
Riecoin マイニングプール | stratum+tcp://ric.coiner.site:12100 |
Zcashほしいなー(ZNY) | stratum+tcp://zec.coiner.site:11100 |
ドージ鯉なープール | stratum+tcp://doge.coiner.site:19000 |