2018年2月18日日曜日

リグの安定運用のための cron

こんにちはドリ助です。
私のリグには7枚の玄人志向の GPU が刺さっているのですが、7枚中1枚の GPU が外れの GPU らしく、たまに確認するとその1枚だけ動いていないことがあります。再起動するとまたちゃんと動くので、壊れているというわけではないのですが、当たり外れはどうにもならないですね。
ただ、このままだと毎日リグがちゃんと動いているのを確認して、動いていないときは再起動をかけてあげないと6枚で動かしている時間が長くなり、思った通りの運用ができません。
また、毎日リグを確認して動いているかどうか確かめるのは正直面倒です。理想は GPU が一枚動かなくなったのを検知したら、勝手に再起動して復旧するのが理想です。
ただまぁそこまでするのも大変そうだったので、1日1回勝手に再起動してくれれば1日5分ほど動いていない時間ができますが、ほぼ7枚フルで動くかなと思い、1日1回再起動するように設定することにします。

cron について

1日1回なんかしてほしいというものを探していたら、cron というものを見つけたのでこれで設定することにします。
以下は引用です

cron とは

cron とは、ジョブ(スクリプト)を自動実行するためのデーモンプロセスです。そして、Linux システムの管理を行なう場合、ログのローテートや、バックアップなど、定期的に自動実行したいジョブが数多くあります。特に、バックアップなどは、システムへの負荷が大きいため、通常は、ユーザからのアクセスが少ない、深夜や早朝に行なわれます。
このように、定期的に実行されるジョブは、crond というデーモンによって、自動的に行なうように管理することができます。そこで、今回は、cron の設定を行なうために必要なコマンドや、設定ファイルについて説明していきたいと思います。

cron の設定方法

1日1回再起動すればいいと考えていましたが、minestop というコマンドを使えばリグ自体を再起動しなくても GPU のみを再起動すできるようなので一日一回 minestop コマンドが動くようにします。
以下のコマンドを打って cron のエディタを開きます。
# crontab -e
cron の設定は以下のように書けばいいので
分 時 日 月 曜日 <実行コマンド>
実際に書く内容は以下になります。
0 10 * * * minestop
この意味は毎日 10 時に minestop コマンドを実行するという意味です。
これで無事毎日 10 時に再起動するようになりました。 実際にこれを使って運用を始めましたが、たまに確認しても大体の時間フルで動いているようです。たまに6枚になっているようですが、次の日には復活してるようなので許容範囲かなと。
以上です。

2018年2月3日土曜日

[ethOS] 1.2.9 release

こんにちは、ドリ助です。
マイニング専用 OS の ethOS の 1.2.9 がリリースされました。 1.2.8 は欠番のようです。テスト中に不具合が見つかったとかなのかな?もしくは2チームで作業していてたまたま同時にに作業が終わったとか?まぁ何にせよ使い勝手がよくなったりハッシュレートが上がるのは大歓迎ですね。
また、私の残念な英語読解能力で解読してみました。間違っていたら指摘していただけると嬉しいです。
全体を見てみると NVIDIA 関連の不具合修正がいくつかあります。GTX 系を使っている人は今すぐupdate!
update 方法はこちら。

ethOS 1.2.9 更新履歴 (2018年1月6日リリース)

大きな変更点

  • ethOS のサイズを 8G から 5G にしました。
  • より信頼できる GPU が報告したパラメータを集めるために、カスタムツールを実装しました。
  • すべてのマイナーとそれに伴うパッケージをアップデートしました。
  • claymore-xmr を最新の安定版にアップデート。
  • ethminer で最新の GPU を使うと遅い不具合を修正。
  • 750MB の不必要なパッケージを削除
  • worker 名を使わない pool に globalname, [worker] を使用しない ethOS config オプションを追加
  • ethOS config の pool or wallet が変更されたとき、明示的に再起動、再始動しなくても自動的に再始動するように変更
  • すべての claymore 設定を flag option とともに ethOS conf に移動
  • ethOS が disk への書き込みを監視、抑制して boot disk の寿命をのばすように変更

不具合修正

  • worker 名が不要なピリオドをつける不具合を修正 (@ 1.2.8)
  • NVIDIA 関連のハッシュレートが ethOS-smi 設定の誤ったメモリクロックによって下げられるのを修正 (@ 1.2.8)
  • iGPU が NVIDIA GPU 数を誤って計算する不具合を修正 (@ 1.2.8)
  • ethOS config の再起動設定をちゃんと動くように
  • いくつかの ethOS config オプションが適切にコメントになっていないのを修正
  • ethOS local.conf の異なる改行コードによって適切に動かないことがあるのを修正
  • dstm-zcash とすべての claymore マイナーが ssl:// pool URL を使える機能を追加
  • alt-tab キーでブラウザ、ターミナル間のフォーカスを変更できるように
  • miner が、ethOS config を変更しても変わらないことがあるのを修正
  • ccminer のハッシュレートが 0 として報告される不具合を修正
  • ethOS リグが ethOS stats パネルに update 報告を送れない不具合を修正
  • dstm-zcash 実行中の rigpool1, rigpool2 の順序指定を修正
  • ethOS stats パネルの表示が正しくないのを修正
  • update-miner に終了時 update script を入れることでより便利に
まぁたいした修正でもないようなので、以降の訳は気が向いたら。。

表面的な変更とクリーンアップ

  • Added total GPU count to ethosdistro.com
  • Added rig counts, separated by driver, to ethosdistro.com/versions
  • Added documentation about removing worker names for pools that don't support them to the ethOS Knowledge Base.
  • Added best-effort stats collection to continue to report to ethOS stats panel despite unforseen conditions.
  • Added GPU crash detection to report crashed GPUs on the ethOS desktop.
  • Made ethOS motd (helpme) slightly smaller.
  • Fixed the order of core and memory clocks to continue to report properly when an NVIDIA GPU crashes.
  • Added remove-teamviewer for users who wish to remove teamveiwer packages.
  • Prompted users who have ethOS installations with known malware (from torrents) to reimage to a legitimate gpuShack version of ethOS.
  • Added nano guide to ethOS knowledge base.
  • Listed more possible parameters that ethos-readconf can accept.
  • Added a notification to ethOS stats panel and ethOS desktop when NVIDIA GPUs do not have all PCI-E power cables connected properly.
  • Made ethOS stats panel webserver perform more reliably.
  • Added documentation to regarding poolemail rigpool1 rigpool2 poolpass1 poolpass2 to the sample config.
以下原文のまま

ethOS 1.2.9 changelog (released January 6th 2018)

Major Changes

  • Resized ethOS live image from 8 gigabytes to 5 gigabytes, to reduce the imaging time by 35%.
  • Built a custom tool for gathering GPU-reported parameters more reliably.
  • Updated all installed miners to their latest versions and added packages necessary to support them.
  • Updated claymore-xmr to its latest stable version (fix for ethOS 1.2.8).
  • Fixed an issue that caused the last GPU to mine slowly when using ethminer.
  • Removed 750 megabytes of cruft by cleaning up unnecessary packages.
  • Added ethOS config options globalname disabled and name [worker] disabled for pools that don't use worker names.
  • Allowed miner to restart automatically if pool or wallet changes in ethOS config, without requiring manual restart or reboot.
  • Removed all claymore stubs, claymore confs moved to ethOS conf with flags option (now remote.conf is possible with claymore).
  • Audited and prevented more ethOS disk writes, thereby increasing the longevity of the boot drive.

Bug Fixes

  • Fixed a bug that caused some worker names to have an extra period (fix for ethOS 1.2.8).
  • Fixed an NVIDIA-related hashrate decrease caused by ethOS-smi setting an incorrect memory clock (fix for ethOS 1.2.8).
  • Fixed an issue that caused iGPU to count NVIDIA GPUs incorrectly (fix for ethOS 1.2.8).
  • Made ethOS config reboots (reb) work more reliably.
  • Fixed cases where some ethOS config options did not honor comments (#) properly.
  • Forced cleanup of foreign line-breaks in ethOS local.conf which prevented it from working properly.
  • Added ability for dstm-zcash and all claymore miners to support and accept ssl:// pool URLs.
  • Allowed alt-tab to switch focus between browser, ethOS terminal, and ethOS fullscreen terminal without using a mouse.
  • Fixed cases where certain miners did not switch properly after changing ethOS config.
  • Fixed hashrate collection bugs that caused ccminer to report hashrates as "0".
  • Fixed cases where ethOS rigs failed to send updates to ethOS stats panel.
  • Fixed ordering of rigpool1 and rigpool2 when running dstm-zcash.
  • Fixed a problem associated with ethOS stats panel reporting live mining instances inaccurately.
  • Allowed update-miner to be more robust by supporting post-update scripts.

Cosmetic Changes and Cleanup

  • Added total GPU count to ethosdistro.com
  • Added rig counts, separated by driver, to ethosdistro.com/versions
  • Added documentation about removing worker names for pools that don't support them to the ethOS Knowledge Base.
  • Added best-effort stats collection to continue to report to ethOS stats panel despite unforseen conditions.
  • Added GPU crash detection to report crashed GPUs on the ethOS desktop.
  • Made ethOS motd (helpme) slightly smaller.
  • Fixed the order of core and memory clocks to continue to report properly when an NVIDIA GPU crashes.
  • Added remove-teamviewer for users who wish to remove teamveiwer packages.
  • Prompted users who have ethOS installations with known malware (from torrents) to reimage to a legitimate gpuShack version of ethOS.
  • Added nano guide to ethOS knowledge base.
  • Listed more possible parameters that ethos-readconf can accept.
  • Added a notification to ethOS stats panel and ethOS desktop when NVIDIA GPUs do not have all PCI-E power cables connected properly.
  • Made ethOS stats panel webserver perform more reliably.
  • Added documentation to regarding poolemail rigpool1 rigpool2 poolpass1 poolpass2 to the sample config.
以上です。

2018年1月28日日曜日

nanopool で email をちゃんと設定する方法

こんにちは、ドリ助です。
以前こちらの記事で、Zcash での nanopool, flypool の払い出し量の変更方法についての記事を書きました。 nanopool では、メールアドレスを払い出し量変更のためのパスワードとして使っており、 そのときは、結局メールアドレスをちゃんとセットすることはできなかったのですが、まぁ問題なく払い出し量の変更はできたので、気にしていませんでしたが、ちゃんと先日 offline 通知のためにメールアドレスの設定をしたいという方のコメントをいただいてちゃんと調べてみました。
一応メールアドレスのセットは出来るようになったのですが、いくつか問題が残っています。
  1. 不通にならないとメール飛ばないこともあり、確認していません。
    • ただしこれはメールアドレスで払い出し量が変更できたので、まぁ問題なく出来るかと思います。
  2. ethOS のシステムを変更していること。
    • 結構コアなところをいじっているので version up のタイミングで、この設定が元に戻る可能性があります(私は 1.2.7 で行いました)。
    • また保障が一切できません。まぁ一応無事に動いているので大丈夫かとは思いますが。w

やり方

まず ewbf-zcash の仕組みとして ethOS で ewbf-zcash を使うときは config ファイルを用意してそれを読みこんでいるようです。その config ファイルは↓です。
/var/run/ethos/ewbf-zcash.conf
また nanopool のヘルプを見ると、user には wallet.worker/mailaddress とかけば OK のようです。
あとは config をどうやって作っているかわかればどうにかなりそうです。
で、この config ファイルを作ってるプログラムを探してみると以下のファイルが見つかりました。
/opt/ethos/lib/minerprocess.php
です。php と拡張子がついているので、php 言語なのでしょう。まぁ正直 php はさっぱり触ったことないですが、大体で読み進めていくと、488 行目に以下のような文がありました。
488 行目
$config_string = $config_string . "\n[server]\nserver " . $pool_split[1]     . "\nport " . $pool_split[2] . "\nuser " . $proxywallet . "." . $worker . "\npass " . ${'poolpass'.$i} .     "\n";
この文は↓の [server] の設定に書いてある箇所と同じです。
/var/run/ethos/ewbf-zcash.conf
そこで以下の用に書き換えました。どうやら wallet + .worker にしているようです。 そこで488 行目は // でコメントアウトして 489 行目はを以下のように変更しました。
//488 行目
//$config_string = $config_string . "\n[server]\nserver " . $pool_split[1]     . "\nport " . $pool_split[2] . "\nuser " . $proxywallet . "." . $worker . "\npass " . ${'poolpass'.$i} .     "\n";
//489 行目
$config_string = $config_string . "\n[server]\nserver " . $pool_split[1] .     "\nport " . $pool_split[2] . "\nuser " . $proxywallet . "\npass " . ${'poolpass'.$i} . "\n";
そして保存して local.conf 側の wallet は以下のようにして保存しました。
proxywallet <自分の wallet>/<自分の mail address>
worker も入れるなら以下でしょうか。ちょいこちらは試してないです。
proxywallet <自分の wallet>.<自分の worker>/<自分の mail address>
再起動させると無事 config が反映され、一定時間立つと自分の mail address での払い出し量の変更が出来るようになりました。
これでおそらく切断時のメールも飛ぶでしょう。ってかどの設定を反映させたときかかわかりませんが、この実験してるときに切断のお知らせメールが来ました。
もう少し検証が必要そうですが、取り急ぎ。
以上です。

2018年1月3日水曜日

2017年の収支

私は8月からマイニングをやっているのですが、新年ですので、今年の収支をさらしてみたいと思います。
通貨採掘量JPY
ETH2.684219,060
ZEC2.567151,369
8月12日のスタートから去年いっぱいでこんな感じの結果になりました。電源が壊れて稼働してない時間が1週間ほどありましたが、それは無視しています。 稼働日数は141日で1日539円の電気代がかかるので、 141 x 539 = 75,999 円の電気代がかかっています。また税金などが引かれるので、浮きは20 万くらいでしょうか。まぁ電気代を経費として計上すれば幾分増えるかもしれません。スタート当時は回収には2年弱かかる予定でしたが、この分だと来年の半ばには回収できそうです。
はじめは ETH を掘っていましたが、diff の上昇にともない ZEC に切り替えました。またその後にフォークがあってから ETH の diff が半減したため、ETH に戻っています。現在は1日に22ドルほど掘れているようです。
調子にのって増設を考えていましたが、残念ながらウチの電気容量ではこれが限界っぽいので、地味にこのまま続けていきたいと思います。電気容量の増加も借家のため難しそうです。
今年も順調に上がっていきますように!

2017年12月30日土曜日

電源復活?

最近、電源が調子悪いことをずっと調査していましたが、ようやく原因がわかりました。まったく電源は関係なく、ウチのアンペアの問題でした。
我が家では冬は基本エアコンでしのいでいるのですが、乾燥機、レンジ、エアコンを同時につけるとブレーカーが飛ぶそうです。 嫁に言われて初めて気づきました。最近はちょこちょこ飛んでたらしい。夏はエアコンはたまにで、乾燥機は滅多に使わなかったため気づかなかったのですが、40アンペアで常に10アンペアをマイニングに使っているため、かなりギリギリだったようです。最近増設しようかなと思っていたのですが夢でおわりました。

2017年12月11日月曜日

GPU 故障??電源だ!

こんにちはドリ助です。 ここのところ久しぶりに GPU の1枚が調子悪くて、気がつくとリグがフリーズしているという現象が起きています。
不具合の出た GPU を外して、ライザーカードが原因だろう!と決め付けて、とりあえず新しいライザーカード買うために。アマゾンでポチっと。そのまま1枚外した状態で、走らせていると同じ電源のを使っていた GPU まで不調に。。。ありゃ?もしかして電源か??もうすでにポチった後やないか!
とりあえず1GPU分の電源は余ってたので、繋げて様子をみます。ちょっと前に買い換えようかな?と思っていたところだったので、ちょうどいい?
これで原因が電源なことを確認できたら、今週末は秋葉原いってあまった GPU 分増設だな~。困るな~。わーい!
今回ライザーカードx3 の商品を買ったので、1枚検証用にとっておくとして2枚増設かぁ~。電源も買いかえないとですね。750w の 80plus GOLD の電源がかなり要領あまっているのでちゃんと使いたいのですが、補助電源を指す穴がないのでこちらはこれ以上使えないようです。
ここらへんもちゃんと考えてから買わないとただの安物買いの銭失いになってしまいますね。。後悔。。。
以上です。

2017年12月3日日曜日

量子コンピュータと仮想通貨

こんにちはドリ助です。 仮想通貨楽しいですね。日々勝手に PC が働いてくれていて、自分はそれを眺める。私が夢見た生活が近づいているような気がします。
しかし、世の中そんなに簡単ではないのかもしれません。 どうやら量子コンピュータが実用一歩手前まで来ているようです。一部の量子コンピュータは一般公開もされるものもあるようです。たとえばこちら ですね。
さてここで量子コンピュータってなんでしょう?

量子コンピュータとは

量子コンピュータは、量子力学的な重ね合わせを用いて並列性を実現するとされるコンピュータ。
従来のコンピュータの論理ゲートに代えて、「量子ゲート」を用いて量子計算を行う原理のものについて研究がさかんであるが、他の方式についても研究・開発は行われている。

いわゆる電子式など従来の一般的なコンピュータの素子は、情報について、「0か1」などなんらかの2値をあらわす何いずれかの状態しか持ち得ない「ビット」で扱う。量子コンピュータは「量子ビット」 により、重ね合わせ状態によって情報を扱う。

n量子ビットがあれば、2^n の状態を同時に計算できる。
もし、数千qubitのハードウェアが実現した場合、この量子ビットを複数利用して、量子コンピュータは普通のコンピュータでは実現し得ない規模の並列コンピューティングが実現する。
だそうです。wiki からパクってみました。 まぁ要は一部の計算が今までのスパコンを超えて爆速で計算できるというものです。
また、量子コンピュータが実用化されると、仮想通貨が危うくなるかもと言われています。なんででしょう?

仮想通貨と暗号化技術

現在の仮想通貨は暗号化技術を元に成り立っています。そしてこの暗号化技術は絶対に破れないというものではなく、普通のPCで解読するには数百年かかったり、スパコンを使っても10年程度かかるなど、現実的な時間では破れないというものです。
ここでこの暗号が一瞬で敗れるとしたらどうでしょうか?仮想通貨の暗号が勝手に破られ誰かに送金しようとしたお金がいつの間にか別の人のお金になってたり??なんてことがあるかもしれません。

将来的には?

結論からいうと将来的にも仮想通貨は大丈夫だと思います。理由としては量子コンピュータの実現にはまだ10年単位で時間がかかること、さらにその間にも新しい暗号化技術が生み出されているからです。たとえばこちらですね。 こちらは正直極端な例で、おそらく実用化も厳しいとは思いますが、量子コンピュータでも破れないという点ではこういった技術を使った仮想通貨が現れたらビットコインに代わる基軸通貨になるのかもしれません。正直実用レベルの量子鍵を使った仮想通貨があったらガツガツ掘りにいきたい思います。
以上です。