どうも安定しないリグがあったのですが、最近やっと原因が分かりました。

 

動作が安定しないというと真っ先にライザーケーブルを疑うのですが

ライザーを交換してみても、BIOSアップデートしてみても、GPU自体を交換してみても

いまいち安定しないリグがありました。

 

結論からいうと電源不足でした(^_^;)

 

今まではGTX1060×6個の構成に対してCorsairの850W電源を1個使用していました。

ワットチェッカーで消費電力を測定しながらやっていたので、

6個構成でも600Wもいってないので大丈夫かと思っていましたが。。。(^o^;)

 

ワットチェッカーで消費電力を測定しながらやっていたので、

電源を増やして750W×2個に電源連動ケーブルを使うことで
驚くほど安定するようになりました。

 

 

この後検証した結果、GTX1060×6個構成だと1000W電源1個、または750W電源2個だと安定します。

GTX1070×6個構成の場合は850W×2個が推奨です。

 

この結果からすると1GPUあたり必要な電源容量は下記です。

 

 GTX1060は200W (実消費電力は80~100W)

 GTX1070は250W (実消費電力は120~140W)

 

( )内はワットチェッカーで測定した値です。

だいたい実消費電力の2倍の容量の電源を使わないと安定しないということですね。

 

また、電源について詳しく調べるうちに他に注意しなければならないことを見つけました。

ライザーカードのSATA電源ケーブルが燃えるという話は良く聞きますが、

調べてみると、詳しくは下記のようになります。

 

GPUのPCIe補助電源は、6pinで最大75W、8pinだと150Wを供給できます。

例えばGTX1070一枚が210W使用する場合、PCIe補助電源8pinで150Wを供給、

ライザーカードへ繋ぐ方の電源ケーブルは、残りの不足分(210-150=60W)を供給しなければなりません。

 

SATA電源ケーブルは、仕様上、定格電流は4.5A(×12V=54W)となっており、

ここに60Wを供給しようとすると過電流となり、発火する恐れがあるということです。

もともとSSDやHDDへの電源供給目的のケーブルなので、

そこまで大きな電流が流れるのを想定されていません。

 

なので、ライザーカードに繋ぐ方の電源ケーブルも6pinを使うのが良いです。

私はGPU側もライザーカード側も全て電源から直接6pinで繋ぐようにしました。

ここがリグを安定させるためのかなり重要な要素だと思います。

 

私はこのように別途追加のPCIeケーブルを購入して繋ぐようにしてます。

青いケーブルが追加したケーブル(^_^)

 

 

 

ただ、電源1個構成だと電源側のコネクタが足りなくなってしまうので、

2個構成というのはコネクタ数という意味でも必須かなと思いました。

 

もしどうしても電源1個構成(1000W以上)でやる場合は、SATA電源は使用せずに

ペリフェラル4pinのケーブルを使用するようにしましょう。  ※勿論、1ケーブル1口しか使用しない

こちらは定格電流が10A(×12V=120W)近くまで出るので、SATAより安全です。

このケーブルはHDDやドライブ用途のみではなく、インタフェースカードやGPUの補助電源としても

使用されていた経緯があるので、SATAケーブルより定格電流が大きいわけです。

 

SATA電源ケーブルを数珠つなぎにして繋ぐような構成は絶対に禁止です。

 

電源はコネクタ数も多く、マイナーも多く使用しているCorsairの電源で850W以上がおすすめです。

なぜ850W以上かというと、単純にコネクタ数が多いからです。

750Wだと電源側のPCIeのコネクタ数が3個、850Wだと5個あります。

内1つはマザーボード側に繋ぐEPS12Vで使用してしまうので、

PCIeのコネクタとして使えるのは実質750Wで2個、850Wで4個です。

 

 ↓RM750x

 

 ↓RM850x

 

RM750xだと2個構成にしたとしても明らかにコネクタ数が足りないです(^o^;)

8GPU構成にする場合は850W×2個構成だとコネクタ数がピッタリです。

 

RMシリーズはGold、HXシリーズはPlatinumなので好きな方を選びましょう。

Platinumの方が電源効率が良いので、できればそちらをお勧めします。

(電源効率が良いということは、電気代が安くなるということです)

 

HXiはCorsairの統合管理機能を使えるらしいですが、それようのソフトが必要らしいので、

主にサーバ用途などで使用する以外はいらないでしょう。

/home/ethos/local.confで設定した

memコマンドですが、より確実な設定方法がありました(^o^;)

 

memコマンドだとGPUを追加したりメンテナンスで外したりすると

GPU番号が変わってしまうので、そのたびに設定を書き換えなければいけません。

 

n-vidia-settingsコマンドというものがあり、こちらはGPU毎に独自決められたUUIDで指定することができます。

まずはUUIDを確認しましょう。

 

◆各GPUの情報表示(GeForce)

# nvidia-xconfig -query-gpu-info

 

Number of GPUs: 3
GPU #0:
  Name      : GeForce GTX 1060 6GB
  UUID      : GPU-a962dc65-1612-39c9-5219-847c7c1da892 
※これがUUID
  PCI BusID : PCI:1:0:0

  Number of Display Devices: 0

GPU #1:
  Name      : GeForce GTX 1070
  UUID      : GPU-f71454bb-7bd6-4b79-1bac-a1a17bad0882 
※これがUUID
  PCI BusID : PCI:2:0:0

  Number of Display Devices: 0

GPU #2:
  Name      : GeForce GTX 1070
  UUID      : GPU-fdb755d7-5bb8-5618-b4e7-1c18b7351c2c 
※これがUUID
  PCI BusID : PCI:3:0:0

  Number of Display Devices: 0

 

 

◆オーバクロック設定

nvidia-settings -c :0 -a '[GPU-a962dc65-1612-39c9-5219-847c7c1da892]/GPUMemoryTransferRateOffset[3]=520'

nvidia-settings -c :0 -a '[GPU-f71454bb-7bd6-4b79-1bac-a1a17bad0882]/GPUMemoryTransferRateOffset[3]=800'

nvidia-settings -c :0 -a '[GPU-fdb755d7-5bb8-5618-b4e7-1c18b7351c2c]/GPUMemoryTransferRateOffset[3]=800'

 

最後に指定している数値の半分の値がメモリクロックとしてオーバークロックされます。

520であれば+260MHzの意味。800であれば+400MHzの意味。

Biostarのマザーボードを使っているとこのような画面が表示されるようですね(^_^)

CUIに見えて実はGUIでも使えます(^o^;)

    

 

大きな流れとしてはこのようになります。

 ①ethOS設定

  ◆一般ユーザーethos,特権ユーザーrootのパスワードの設定

  ◆ネットワーク設定(静的IP設定)

  ◆リモートコンフィグを無効

  ◆キーボードタイプの変更

 ②local.conf設定

  ◆ウォレット,プール,ファン回転数,自動再起動の設定

 ③Claymore設定

  ◆使用するマイニングソフトの設定(Claymoreを指定)

  ◆Claymoreの設定

 ④OC(オーバークロック)設定

 

①ethOS設定

◆ethos,rootのユーザパスワードの設定
# passwd ethos
Changing password for ethos.
(current) UNIX password: (デフォルトはlive)
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
# su
Password: (デフォルトはlive)
# passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

◆ネットワーク設定 /etc/network/interfaces を編集

# vi /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
auto eth0
iface eth0 inet static
address 192.168.1.X  ※環境によって変えて下さい。ルータによっては192.168.0.Xのパターンも多いです。
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.1  ※環境によって変えて下さい。ルータによっては192.168.0.1のパターンも多いです。
dns-nameserver 192.168.1.1   ※環境によって変えて下さい。ルータによっては192.168.0.1のパターンも多いです。
dns-nameserver 8.8.8.8

post-up /etc/network/if-up.d/writehost

◆リモートコンフィグを無効(ethOS 1.2.4以降で使えるコマンド)
# force-local


◆キーボードレイアウトの変更 /etc/default/keyboardを編集
# sudo vi /etc/default/keyboard
 # Check /usr/share/doc/keyboard-configuration/README.Debian for
 # documentation on what to do after having modified this file.# The following variables describe your keyboard and can have the same
 # values as the XkbModel, XkbLayout, XkbVariant and XkbOptions options
 # in /etc/X11/xorg.conf.
 XKBMODEL=”jp106″ <<<変更
 XKBLAYOUT=”jp” <<<変更
 XKBVARIANT=””
 XKBOPTIONS=””# If you don’t want to use the XKB layout on the console, you can
 # specify an alternative keymap. Make sure it will be accessible
 # before /usr is mounted.
 # KMAP=/etc/console-setup/defkeymap.kmap.gz

②local.confの設定
◆ウォレット,プール,ファン回転数,自動再起動の設定

# vi local.conf
maxgputemp 85
stratumproxy enabled
proxywallet [自分のウォレットアドレス]
proxypool1 pool-asia.ethosdistro.com:5001 ※各自使うプールがあれば変更ここで変更
proxypool2 pool-eu.ethosdistro.com:5001
flags --cl-global-work 8192 --farm-recheck 200
globalfan 85 ※FANの回転率を指定します。10-100まで%の値で指定します。
autoreboot 3 ※指定した回数だけソフトクラッシュの場合にリグを自動復帰させる。

◆設定反映とマイニング開始
# putconf && minestop

③Claymoreの設定
◆使用するマイニングソフトの設定(Claymoreを指定)

/home/ethos/local.confで設定できます。

ETHマイニングで有名なClaymore以外にもZEC、XMR用のソフトも使用できます。

今回はClaymoreを使用する設定をします。

 

# vi /home/ethos/local.conf
globalminer claymore ※この一文を追記するだけです
maxgputemp 85
stratumproxy enabled
proxywallet [自分のウォレットアドレス]
proxypool1 pool-asia.ethosdistro.com:5001
proxypool2 pool-eu.ethosdistro.com:5001
flags --cl-global-work 8192 --farm-recheck 200
globalfan 85
autoreboot 3

 

◆Claymoreの設定

/home/ethos/claymore.stub.confで設定していきます。

# vi /home/ethos/claymore.stub.conf
-colors 0
-mode 1 ※ETHをシングルモードでマイニングします。デュアルの場合はこの行は消して下さい
-dbg -1
-esm STRATUMTYPE
-epool asia1.ethermine.org:4444 ※各自使っているプールを指定します
-ewal [自分のウォレットアドレス] ※local.confで指定しているウォレットは無視されます
-epsw x
-eworker [ワーカー名]
-allpools 1
-gser 2
-allcoins 1
-wd 0

 

④各GPU毎のファン回転数、パワーリミットの設定

/home/ethos/local.confで設定できます。

 

ここだけ苦労しました(^o^;)

他のサイトを参考にBiosNameでの設定を試したのですが、

同じ型番のGPUはBiosNameが同じで、1060と1070が混同するリグで

1060に設定した値が1070へ反映されてしまったりと、中々うまくいきませんでした。。。

最終的に出来たのは以下による指定方法でした。

# SAMPLE FORMAT:
# [type] [worker] [gpu0 value] [gpu1 value] [gpu2 value] [gpu3 value]
# ------------------------------------------------------
# cor c94e13 950 1000 1050 1025 980

ただし、これにも罠(バグ?)があって
fan指定は以下のようにGPU番号が前後しています。

どうやらgpu0が一番後ろの引数となるようです。


fan c94e13 [gpu1 value] [gpu2 value] [gpu3 value] [gpu0 value]

 

 

pwrによる指定では、例の通りgpu0が先頭のようです。

pwr c94e13 [gpu0 value] [gpu1 value] [gpu2 value] [gpu3 value]

というわけで、local.confに下記のような追記をします。

 

# vi /home/ethos/local.conf

fan c94e13 90 60 60 60 90 ※ファンの回転率を%の値で指定していきます。

pwr c94e13 120 70 70 70 70 120 ※ワット数を指定します。パワーリミットのように%ではないので気を付けて下さい。

 

1060だとだいたい60~70W、1070だと120~130Wほどが限界のようです。

これ以上下げるとハッシュレートが大幅に下がりはじめます。


④OC(オーバークロック)設定
/home/ethos/local.confで設定できます。

同様にmem設定で指定していきます。

mem指定もfan指定同様にGPU番号が前後しています。
mem c94e13 [gpu1 value] [gpu2 value] [gpu3 value] [gpu0 value]

 

# vi /home/ethos/local.conf

mem c94e13 4262 4152 4152 4152 4262 ※OC後のメモリ値(MHz)を指定していきます。

以上でマイニング設定は全部完了です!

一番苦戦するのは問題の無いライザーケーブルを探すことですね(^o^;)

基本的にはライザーケーブルがまともであれば、後は安定したOC設定を探していくだけです(^_^)v

~~~よく使うコマンド一覧~~~

◆マイニングステータス確認
# show miner

 

◆ステータスを確認

# show stats

 

◆各GPUの情報表示(GeForce) ※UUIDを確認できます。

nvidia-xconfig -query-gpu-info

GeForce関連情報表示
nvidia-smi

 

◆設定反映とマイニング開始
# putconf && minestop

 

◆オーバークロック設定を反映

putconf && ethos-overclock

 

◆シャットダウン

# sudo shutdown -h now


◆再起動
# r