おは代々木ダイアリー

いろいろ試したメモを書きます

【WireGuard】VPNで自宅サーバーを公開する その2

以前こんな記事を書きました。

ohayoyogi.hatenablog.com

ConoHa上に安いインスタンスを立て、そことWireGuardでVPNを張り、そのインスタンスに来た通信を自宅サーバーに流し公開サーバーとして振舞えるようにするという内容です。

今回の内容

f:id:ohayoyogi:20210515214251p:plain

今回は家庭内のルーター(OpenWRT)にWireGuardを導入し、Conohaとの接続をそのルーターに受け持たせ、その配下のPCたちに参加させるという格好です。

メリット1. 通信に専念させられる

VPN内にサーバーを置きたいと考えたときに、極力省エネなマシンを使うことを検討することがあると思います。ぼくの場合はThinkPad X220とかいう10年ぐらい前のノートパソコンをマイクラサーバーにしようと考えました。

それが前回記事の内容にあたるわけですが、意外にもVPNの処理にリソースを持っていかれるようで、ファンが煩くなりがちでした。

サーバーにはサーバーのプロセスに専念させることができるというのがメリットの1つかなと思います。

メリット2. 1つのクライアントで複数つなげられる

今回のパターンでは、VPNルーター(OpenWRT)のLAN側の機器には、そのVPNルーターに割り当てたサブネット 10.0.2.0/24IPアドレスDHCPで割り当てることにしたので、 本来であればつなぐ台数に応じて複数台WireGuardをセットアップしなければいけなかったのですが、LANポートにつなぐだけでVPNに参加できるようになりました。

(つなぐだけでVPNって物理的なセキュリティホール感ありますが、自宅に侵入されている時点でいろいろとお察しですw)

メリット3. 同一サブネット内の通信が速くなる

VPNルーターがルーティングを行い、10.0.2.0/24 はWANへ向かないので同一サブネット内の通信が速くなります(多分)

これがVPS上に立てたWireGuardにクライアントごとに接続していると 10.0.2.4 から 10.0.2.5 への通信も WAN を経由することになりそうです。

手順

では構築手順です。

ネットワークインタフェースの作成

OpenWRTに WireGuardクライアントをさせます。この手順についてはいろんなサイトで言及されているので、以下のようなサイトを参考にしてください。

komone-life.com

この時、注意するのは Allowed IPs0.0.0.0/0 を指定し、すべてのIPアドレスへの通信をこのインタフェース経由にすることです。

f:id:ohayoyogi:20210609233521p:plain
全IPへの通信をこのインタフェースで

WireGuardで接続でき、wg0が作られました。(管理画面トップのStatus)

f:id:ohayoyogi:20210609231513p:plain
wg0

IPv4のルーティングテーブルが以下のように、0.0.0.0/0 が wg0 に向くようになっていればOKです。

f:id:ohayoyogi:20210609233713p:plain
IPv4ルーティングテーブル

ブリッジの作成

ルーターのLANをVPNのサブネットにしたいので、ブリッジを作成します。

  1. IPアドレスはWireGuardでOpenWRTに割り当てるIPアドレス
  2. サブネットも同様、割り当てるサブネット
  3. DNSは適当

f:id:ohayoyogi:20210609235238p:plain
ブリッジ作成
ブリッジするのは eth0.1, wg0 です。

f:id:ohayoyogi:20210609232747p:plain
インタフェースのブリッジ

DHCPはそのままの設定でOK(有効になってるはず)

f:id:ohayoyogi:20210609232825p:plain
DHCPは有効に。

通信できていることの確認

LANにつないだパソコンから taruo.net の診断くんなどを使って、REMOTE_ADDRVPSサーバーになっていればOK

f:id:ohayoyogi:20210609234047p:plain
REMOTE_ADDRの確認

Webサーバーを公開してみる

VPS上の iptables を使って 10.0.2.100 など、LANに配置したサーバーへフォワーディングするとサーバーを公開することができます。詳細は 前回記事 を読んでください。

最近、Windowsノートをサーバーに使うのがもったいなく感じたので転がってたLarkboxにサーバーをやらせてます。

終わりに

OpenWRT を VPN(WireGuard)ルーターとして構築する方法をご紹介しました。VPN内でもIPv6使えるようにしてみようかと思いましたが、Luciでの設定方法がイマイチわからず断念しました。

【マクロ・広角】Amazonでスマホ用の外付けレンズを購入しました

スマホに取り付けられる外付けレンズがあるのは知っていたのですが、今回初めて試したので紹介します。

購入したもの

今回購入したのはコチラ↓です。

f:id:ohayoyogi:20210525235802p:plain
商品ページはこんな感じ。400円クーポン付きでした。

届いたもの

箱に入って届きました。

f:id:ohayoyogi:20210525235539j:plain
着弾(商品名が書いてない潔いパッケージ)

商品名が書かれていない、いかにも使いまわせそうな便利なパッケージです笑

f:id:ohayoyogi:20210606015718j:plain
ケース付き

レンズ2つを収納できるケースが付いています。無駄にカワイイ

f:id:ohayoyogi:20210606020025j:plain
ケースに収納されているもの

ケースにレンズ2つとレンズカバー、レンズをスマホに装着するためのクリップが2つ付いています。(クリップにはそれぞれすでにレンズが装着された状態で入っていました。)

f:id:ohayoyogi:20210606020353j:plain
クリップに装着されたレンズ

こんな感じです。分厚いのが広角レンズです。

使ってみた感想

いい感じの被写体がなかったので、商品に同梱されていた「レビュー投稿で1000円分ギフト券プレゼント」という内容のカードを撮影してみました。

まずはPixel3でそのまま撮影しています。

f:id:ohayoyogi:20210606020623j:plain
Pixel3でそのまま撮影したもの

マクロレンズを使用した場合

マクロレンズで撮影してみました。

f:id:ohayoyogi:20210606020758j:plain
マクロレンズで撮影

なんといってもやはり、すごく寄れるのが特徴です(めちゃくちゃ近寄ってもピントが合う)。ピントが合う部分がすごく狭いため、かなりダイナミックな絵が撮れます。

f:id:ohayoyogi:20210606021347j:plain
寄るとピントが合わない(素のPixel3)

試しに同じ距離でマクロレンズを外して素の状態でPixel3で撮影してみましたが、「被写体から離れてください」という警告が。

広角レンズを使用した場合

広角レンズはこんな感じ。

f:id:ohayoyogi:20210606021805j:plain
広角レンズで撮影

狭い部屋とかで撮ると映えそうですね。まぁでもスマホってもともと広角なレンズを積みがちなので、見違えてよくなった!という感じを覚えにくいかもしれませんね。

植物撮ってみた

f:id:ohayoyogi:20210606022220j:plainf:id:ohayoyogi:20210606022238j:plain
マクロレンズで撮影した多肉

マクロレンズ多肉植物撮ってみました。簡単お手軽にダイナミックな写真を撮ることができました。

終わりに

この手のグッズ、初めて試してみたんですが、ポン付けで上に被せるだけでいつもとは違うように撮影できるのにすごく感動しました。オートフォーカスなども自由に使えますし、これを買うだけでスマホで撮影できる幅が広がって楽しくなりますね。

ただ、ちょっと暗いのには弱いらしく、被写体を明るくするライトなどで照らすなど、コツがいるような気がしました。

今回のレンズキットを買って、特にマクロレンズが楽しいことがわかったので、一眼用にもマクロレンズを買ってしまおうかなんて考えています笑。このマクロレンズ、LEDが付いているという個性的なレンズなのですごく気になってます。

WSL2でXFSをマウントして使ってみる

21H1のアプデで入ると予想されていた WSL2 で Linuxファイルシステムを使えるようになる機能ですが依然入っていません。

ascii.jp

この記事に踊らされて、21H1をインストールしてみたんですが、そんな機能ははいってなくてガッカリしました。

Windows Insider Program で試す

Microsoftのドキュメントにあるように、この機能を使用するには Windows 10のビルド20211以降が必要となっています。

Get started mounting a Linux disk in WSL 2 | Microsoft Docs

というわけで、Devチャンネルにしてみました。

f:id:ohayoyogi:20210531222447p:plain
Windows Insider Program Devチャンネル

インストールされたか確認する

この機能が使えるかどうかを確認するにはそのオプションが使えるかどうかを確認する必要があります。

wsl -h などで wslコマンドのヘルプを表示して --mount オプションがあるかを確認するといいでしょう。

wsl -h

として、

f:id:ohayoyogi:20210531224659p:plain
wsl -h 結果

のように、--mount オプションが確認できればオッケーです。

バイスリストの表示

wmic diskdrive list brief

このコマンドを実行して、繋がってるディスクのデバイスリストを確認します。

f:id:ohayoyogi:20210531225011p:plain
バイスリスト

今回は HITACHI の 320GB HDD を使いたかったので、 \\.\PHYSICALDRIVE2 が今回のマウント対象です。

このHDD、昔のレノボのノートパソコンから抜いたシロモノですが、もう新品では手に入らなそうですね。Amazonで中古で1280円とかw

ディスクのマウント

wsl --mount <DiskPath>

マウントするには、--mount <DiskPath> としてwslコマンドを打ちます。<DiskPath> には \\.\PHYSICALDRIVE2 といった感じで先ほどのコマンドで取得できるデバイスIDを指定します。以下、例

wsl --mount \\.\PHYSICALDRIVE2

デフォルトだと ext4 で自動的にパーティションをマウントしようとするので、--bare オプションでマウントをしないように指定したり、--typeファイルシステムを指定するとよいと思います。

ディスクのフォーマット

今回はディスク全体をマウントしたので、パーティションを切って xfs なファイルシステムを構築します。

parted コマンドの使い方などは趣旨から外れるので書きませんが、以下手順

バイスファイルの確認

lsblk コマンドや dmesg コマンドをたたくと、なんというデバイスファイルでアクセスできるかを確認できます。

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   256G  0 disk
sdb      8:16   0 298.1G  0 disk
sdc      8:32   0   256G  0 disk /
sdd      8:48   0   477G  0 disk

lsblk を叩いてみましたが、容量的に /dev/sdb が今回のディスクっぽいですね。

パーティションの作成

parted で作成していきます。

 $ sudo parted /deb/sdb

(parted) mklabel gpt
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to
continue?
Yes/No? y
(parted) print
Model: HITACHI HTS543232A7A384 (scsi)
Disk /dev/sdb: 320GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start  End  Size  File system  Name  Flags

(parted) mkpart
Partition name?  []?
File system type?  [ext2]? xfs
Start? 0%
End? 100%
mkfs.xfs /dev/sdb1

なんか NTFSでフォーマットされてますけど…? みたいな警告が出るので -f オプションで強制的に作成してしまいました(なぜ・・・?)

マウント

適当にフォルダを作ってマウントします。

sudo mkdir /hdd
sudo mount /dev/sdb1 /hdd

メモリを増設する(オマケ)

xfsはメモリを食うという噂なので、念のためメモリを増設しました。といっても16GBにしただけだけど。

言い忘れましたが、今回使用したのはDELLのゲーミングデスクトップ「G5 5000」です。下記メモリに換装しましたが、全く問題ありません(最近メモリ値上がりしたっぽいのでつらいなー

G5については見た感じ 2666MHz が上限っぽいので、コレ↓とかでも大丈夫そうですね。(未検証

完成!

これでディスクにゴリゴリ書いていけます!

f:id:ohayoyogi:20210601102739p:plain
平均応答時間がすごいことになっているが…

おわりに

Windowsが標準で使用できるファイルシステム以外が使えるようになったのは大きいですね。 ファイルシステムによる性能の違いなど、検証してみると楽しいかもしれませんね~

【HDDマイニング】NASをChiaのハーベスタにする

みなさん、HDD容量がモノを言うHDDマイニング(Chiaのファーミング)ですが、楽しんでますか?

ぼくは絶対に赤字になるとはわかっていつつもハードウェア構成試したりしてみるのに好奇心を抱いてしまってズブズブと沼にはまっています。

HDDマイニングの機器を選定しよう

Chiaのファーミングとは、巨大(現在100GB)な宝くじ券をHDDに当たるまで保存しておくゲーム(イメージ)なので、HDDに保存されている宝くじ券が当選しているか確認する という処理は常に動かしておく必要があります。一定時間以内に応答できないと報酬がもらえないようです。

つまり、HDDだけを繋いだような専用サーバーを用意するのがよいでしょう。アイドル100Wとかのマシンを使うのは電気代的にもベターではありません。

そこで今回使うのは、、、

f:id:ohayoyogi:20210523231557j:plain
NAS~~~~

NASゥゥゥ

プリンストンNAS 「PAV-HMS420」

2018年に購入したNAS筐体ですが、ちょっと写真撮って愛でた後、ほったらかしになってました(もったいない

何かに使えるかも?とメモリを換装して8GBに増やしたりもしましたが何もしていませんでした(オイ

f:id:ohayoyogi:20210523232939j:plain
増設の様子

検証は何でやらせる?

ストレージはNASにモリモリにするとして、そこに保存された宝くじ券は何に検証させようか?と考えました。

64bitのアーキCPU積んだマシンなら検証させることができるみたいなので、Raspberry Pi や Jetson Nano なども考えましたが、1つの役割に対して複数台構成にするとトラブった時に面倒くさそうなので1台にやらせたいと考えました。(トラブルのもとになる予感)

NAS は パソコン!!!

別にNASだってパソコンですし。

f:id:ohayoyogi:20210523233554j:plain
NASはパソコン!

キーボードとディスプレイを繋げばただHDDがリムーバブルで、NICが二個ついているだけのCPUが非力なパソコンなんですよね。

手順

では、NASをChiaのハーベスタにしていきましょう。(ここからの手順は別にNASに限ったモノではなく、一般的なパソコンに対して行える内容です。)

使用するもの

  • USB メモリ
  • PCまたはそれに準ずるモノ(今回はNAS

USBにUbuntuをインストールする

PAV-HMS420には2.5インチSSDを搭載することもできるんですが、今回はオタメシの側面が強いので、USBにOSをインストールします。適当なUSBで大丈夫です。今回使ったのはコレ↓

ここでは紹介しないので、適当にほかのサイトを参考にしてください。20.04を利用しました。

chia-blockchainのインストール

git clone https://github.com/Chia-Network/chia-blockchain
cd chia-blockchain
sh ./install
. ./activate

chiaノードの初期化

新たにノードを作る場合

chia init

他のノードのカギを使用する場合

ノードの ~/.chia/mainnet/config/ssl/ca の中身を ./ca フォルダにコピーし、下記を実行。

chia init -c ./ca

ハーベスターとして設定する

ハーベスタとしての設定はコチラに書きましたのでそれを参照してください。

ohayoyogi.hatenablog.com

ハーベスターをスタートする

上記記事にありますが、ハーベスターをスタートするのは下記コマンドです。

chia start harvester

ハーベスターにプロットを投入する

設定ファイルに記入したディレクトリに対して、作ったプロットを投げ込んでいけばオッケーです。試しに scp で投げ入れてみましたが、うまく動いているようです。rsyncを定期的に回すことでプロット担当のマシンから自動的にプロットを転送できる仕組みが実現できると思います。

なお、プロットはハーベスタが定期的に指定したディレクトリに新しいのがないか確認してくれるので、わざわざ再起動する必要はありません。

終わりに

以上、NASハーベスタにしてみるというネタでした。

ただこのNAS、PWMでファンを制御できないので、結構うるさいことが判明しました。PAV-HMS420のファン制御の方法をどなたかご存じでしたら教えていただきたいです…!!

Dell G5 5000 に ストレージを増設する

購入即システムディスクを M.2 SSD に換装した DELL のゲーミングデスクトップ G5 5000ですが、使用したのが Thinkpad E495 から抜いて余った 128GBのSSDであったため、いろいろと不安が残ります。

ohayoyogi.hatenablog.com

HDDがゴリゴリ~~っていうのが解消された時点でやりたいことは達成されたのですが、128GBではいろいろと足りないのでデータ保存用ディスクを追加します。

手順

まずはストレージを購入します。G5 5000は、シャドウベイとして、

  • 3.5インチ ×1 (もともとOSが入っていたディスクがあった場所)
  • 2.5インチ ×2

が使えますので、今回は 2.5インチ HDDを突っ込んでいきます。

買ったもの

最近見かけるようになったSUNEAST(旭東エレクトロニクス)という会社のSSDと、何だったか忘れたけど安かった 9.5mm厚 5400rpm の東芝HDD。

装着手順

まずは ストレージをマウンタに取り付けます。多分 180度回転した状態でもマウンタ取り付け可能だと思いますが、ケーブル接続で困りますので 向きに注意です

f:id:ohayoyogi:20210524161139j:plain
マウンタに取り付け

写真向かって左側(マウンタのつまみがある側にコネクタが来るように)を向くように取り付けます。

所定の箇所に差し込みます

写真ではすでにケーブルまで接続してしまっていますが、マウンタを取り付け部分に装着します。

f:id:ohayoyogi:20210524161407j:plain
接続したところ

で、ケーブルを繋いで終了。

おまけ:SSDを増設したらUNEXPECTED_STORE_EXCEPTIONでブルスクが出るようになった。

SSDとHDDを増設した後、負荷をかけると落ちるようになりました。リモートで触ってたので、何が何やらわかりませんでしたが、ディスプレイを見てみると UNEXPECTED_STORE_EXCEPTION が出ていることがわかりました。

Google検索の予測変換で「UNEXPECTED_STORE_EXCEPTION DELL」といったのが出てきたので、DELLBIOSがそういう地雷を抱えているのか?と思いましたが違いました。

なんと仮想メモリがDドライブも使うように割り当てられていて、Dドライブの負荷が上がった時に当該エラーのブルスクが出るようでした。

f:id:ohayoyogi:20210525001953p:plain
仮想メモリをCドライブのみに

上記のようにCドライブのみに仮想メモリを割り当てるように設定し、今のところそのブルースクリーンは出なくなりました。

おまけ:SSDを見失うようになった

アエエエエなぜえええ

f:id:ohayoyogi:20210525002436p:plain
ディスク0 が突然取り外されました

ディスク0 が突然取り外されました

いやいや取り外してない… うーむ、ディスク壊れたか??

DELLのゲーミングPC G5 5000が届いた

4月4日に購入した DELL のゲーミングデスクトップPC G5 5000 ですが、4月21日に届きました。

届いたものの、諸事情でブログに書くのが遅くなりましたが、写真などを撮影したのでここに供養。

写真

まずは箱。デカいです。

f:id:ohayoyogi:20210524001918j:plain
箱。デカい

箱を開けるとまずはキーボード・マウスの箱とケーブル類の箱がお目見え。

f:id:ohayoyogi:20210524001938j:plain
キーボード類とケーブル類

それらをどけると本体が!

f:id:ohayoyogi:20210524002015j:plain
本体

ファーストインプレッション、小さい。

f:id:ohayoyogi:20210524002037j:plain
小さい

使う前に外してねってフィルムが付いていますが、これ貼ったままだと給気口を塞いでしまうので外したほうがよいでしょう。

配置してみた

こないだ購入したケースPS09の隣に置いてみました。

SilverStone Precisionシリーズ Micro-ATX PCケース SST-PS09

SilverStone Precisionシリーズ Micro-ATX PCケース SST-PS09

  • 発売日: 2018/05/24
  • メディア: Personal Computers

ohayoyogi.hatenablog.com

するとこんなかんじ。

f:id:ohayoyogi:20210524002137j:plain
配置。PS09とG5

一回り小さいです。これは 5インチベイがないことが省スペースに寄与してる気がしますね。

サイドパネルオープン

開けてみるとカスタマイズで付けた3060tiがドカッと。使っている補助電源は8pin一本ですが、電源から生えている補助電源ケーブルは 8pin と 6pin が付いたやつでした。(3070用?)

f:id:ohayoyogi:20210524002417j:plain
G5 サイドパネルオープン

HDD 取り外し

起動即 HDDがうるせえっ となったので換装していきます。まずは取り外し。6-32と書いてあるところのネジを取り外して上に持ち上げると外れます。

f:id:ohayoyogi:20210524002758j:plain
上に持ち上げる

SSD 取り付け

空いているM.2スロットに Thinkpad E495から取り外したSSDを取り付けていきます。

SSD 選びの注意点

DELL G5, なかなかの変態仕様で、取り付けられるSSDのサイズは「2230」「2280」 の二択です。

「小さいSSD買っとけばいいかー」と安直に「2242」買うと泣きを見ます。小さいのがよければ↓のような「2230」です。

まぁあとは「2280」のやつでも買っておけばよいでしょう。

Thinkpadには「2242」を「2280」サイズにする変換が付いていたのでそれを流用して事なきを得ました。

SSD スペーサー

M.2 SSDの取り付けにはスペーサー(名称あってる?)の位置を正しい位置につける必要があります。2230用の位置と2280用の位置にスペーサーの取り付けができるので、プラスドライバーでスペーサーを取り外して、付け直す必要があります。

デフォルトでは2230の場所についているので無理に2280をつけようと押し込むと最悪SSDが破損します。(写真撮り忘れた)

取り付け後

こんな感じで取り付けられます。

f:id:ohayoyogi:20210524002913j:plain
M.2 SSD 取り付け

終わりに

以上、DELLのゲーミングデスクトップ G5 5000でした。LEDが結構まぶしいので消してしまいましたが、結構この筐体気に入ってます。

【HDDマイニング】Chiaで複数PCを利用してファーミングする

はじめに

みなさんHDDマイニングしてますか?

GPUみたいに瞬間計算速度勝負にはならないので、ネットワークの維持にかかる消費電力が少なく済む、エコな仮想通貨(ほんとか?)として話題のアレです。

特別なデバイスが必要になるものではないので、試しに外付けHDDを買ってくれば試せる手軽さはGPUマイニングにない良さですね。

こういう、SSD+外付けケースだったり、適当に容量があるHDDを使えば、一応始められます(あたるかは完全に運)

当方の環境としては「当たれば御の字」という感じで、家にあった上記のような製品を使ってオタメシしています。

Chiaのファーミングとは

世間では「HDDマイニング」と呼ばれますが、Chia用語的には「ファーミング」です。

ファーミング とは HDDに保存されている宝くじのようなもの(100GBぐらい) が、 Chiaネットワークで要求されているものかを確認し、もし、それが運よく要求されているものだったら報酬がもらえる、といったものです。

2021年5月現在、1つのプロットにかかるのは 6時間、300GB超のディスク容量(一時ファイル) と言われており、 この途方もなさが瞬間火力勝負のGPUマイニングとの最たる違いで、条件が提示されてから計算してからはもう遅いという話です。

プロットを管理するharvester

雑なイメージ図を書いてみました。

f:id:ohayoyogi:20210520141612p:plain
プロットを管理するのがハーベスタ

  • ハーベスタ(Chia用語 harvester )は作成されたプロット(Chia用語 plot )を管理する役割
  • ファーマー(Chia用語 farmer )はハーベスタに対して、要求される要件を満たすプロットを提供

ハーベスタに要求される性能

上の図の通り、プロットは他のマシンで作成してハーベスタにアップロードする、というやり方も実現できます。

つまり、プロット作成に要求されるようなマシンスペックは必要ありません。よって、いかに プロットを格納できるHDDを確保できるか? がポイントです。筐体の出来の良さとかを考えれば、NASハーベスタをやらせるのもよいと思います。

問題は、プロットが要件に合致するものか検証するためにどれぐらいのスペックが必要になるか?ということですが、これについては負荷を見ていい感じにハーベスタにプロットを割り振れば負荷を分散できるのではないかと思っています。(具体的な値は持ち合わせていないので、何かご存じでしたらコメントとかもらえると嬉しいです)。

  • 容量モリモリにするのがハーベスタ
  • CPU・リードライト性能モリモリにするのがプロッター

と考えて準備すればよいのではないかなと思います。

ハーベスタのセットアップ

ここからはコマンドラインを多用します。

初期化

ルノードを担っているメインマシンのカギをダウンロードします。デフォルトでは ~/.chia/mainnet/config/ssl/ca に格納されているので、ca フォルダごとローカルにコピーします。

私の環境はフルノードをUbuntuで動かしていて、ハーベスタWindowsにしようと思っているので、Zipに圧縮して持ってきました。

# フルノードで↓
cd ~/.chia/mainnet/config/ssl
zip ~/ca.zip ca  -r

# 新しく作るハーベスタ側で
scp <FULL_NODE_IP>:~/ca.zip ./

で、ダウンロードできた ca.zipC:\ca などに展開します。で、ダウンロードしてきたcaフォルダを使ってハーベスタを初期化します。

# 新しく作るハーベスタ側で
chia init -c C:\ca

こうすると新しく鍵がインポートされ初期化されます。

設定

ハーベスタの設定は ~/.chia/mainnet/config/config.yaml に書かれています。(フルノードを動かしたりするための設定も記載されているのでファイルがデカい)。

harvester: から始まる行以降がハーベスタの設定部分です。

まずは farmer の指定。ハーベスタの設定部分内の farmer_peer: から始まる部分を探して、hostにファーマーのIPアドレスを記入します。

  farmer_peer:
    host: <FARMER_IP_ADDRESS>
    port: 8447

次にプロットを格納する場所を指定します。下記のようにフォルダを列挙すると、そのフォルダに格納されたプロットをハーベスタが扱ってくれるようになります。

  plot_directories:
  - D:\plots
  - E:\plots
  - F:\plots

ハーベスタの起動

下記コマンドで起動できます。

chia start harvester

起動していることの確認

先ほどのコンフィグファイルのログレベルの指定箇所の log_levelINFO に指定することで動作している様子を確認することができます。

  logging: &id001
    log_filename: log/debug.log
    log_level: INFO
    log_maxfilesrotation: 7
    log_stdout: false

こんな感じに。

2021-05-20T14:07:46.124 harvester chia.plotting.plot_tools: INFO     Searching directories ['E:\\plots', 'D:\\plots']
2021-05-20T14:07:46.135 harvester chia.plotting.plot_tools: INFO     Loaded a total of 4 plots of size 0.39592934947722824 TiB, in 0.058008432388305664 seconds
2021-05-20T14:07:46.137 harvester chia.harvester.harvester: INFO     0 plots were eligible for farming 0000000000... Found 0 proofs. Time: 0.06001 s. Total 4 plots
2021-05-20T14:07:46.139 harvester harvester_server        : INFO     -> farming_info to peer <FARMER_IP_ADDRESS> 1234567890123456789012345678901234567890123456789012345678901234
2021-05-20T14:07:54.438 harvester harvester_server        : INFO     <- new_signage_point_harvester from peer 1234567890123456789012345678901234567890123456789012345678901234
 <FARMER_IP_ADDRESS>

といった感じで指定されたディレクトリからプロットが読み込まれて、ファーミングされることがわかります。(まだ4プロットしかないw

終わりに

プロットを作成する方法などもいずれ書きたいと思いますが、個人的に詰まったポイントを先に書きました。

参考URL

今回の記事は下記の Chia-Network の GitHub Wiki の下記ガイドの内容をベースに記載しています。

Farming on many machines · Chia-Network/chia-blockchain Wiki · GitHub