これまで、自宅の自作PCを使ってSugarchainやBellcoinなどのコインをマイニングしてきましたが、パソコンから出火して火事になった話を聞いて心配になり、VPS(レンタルサーバー)を試してみることにしました。
目次
国内VPSと海外VPS
海外VPSは使いにくいか?
VPS業者は国内外にたくさんあります。
国内VPSならば、説明文や操作画面が日本語で表記されており、「普通に読める」安心感があります。
しかし、全作業の99%はVPSにSSHでリモートログインしての作業になります。実際の運用で日本語はそれほど必要とされません。
VPSが日本から遠い場所にあるとレスポンス速度が遅くなります。私は、ある業者の、シンガポールと米国東部に置かれているVPSを利用したことがありますが、シンガポールのVPSは速度面で日本に置かれているものとほとんど変わらない印象で、米国東部のものはこちらがコマンドを実行してから返答があるまで一瞬待たされる感がありました。
海外VPSの中でも、なるべく日本に近い場所に設置できるものを選べば、実際はほとんど困ることもないのではないでしょうか。
Linode
今回は海外VPSのLinodeを使ってみることにします。
Linodeの特徴
Linodeは、2003年に米国ペンシルベニア州で設立されたVPS業者です。海外VPSではありますが、Webサイトは日本語表示可能です。ただし、VPS管理画面(コントロールパネル)は英語のみの表記のようです。
東京を含めた世界各地にデータセンターがあるので、この東京(またはシンガポール)のVPSを選べば、他の国内VPSと同じようなレスポンス速度で利用できます。
どのデータセンターのVPSを利用しても値段は変わりませんが、支払いはUSDになります。
ここからアカウント作成すると60日間 $100 ドル分の無料体験ができます。
仮想通貨マイニングはOKなのか?
利用規約で仮想通貨のマイニングを禁止しているVPS業者も少なくないようですが、Linodeの利用規約では禁止されておらず、公式コミュニティでも「CPUの使用率を75%くらいに抑えてくれれば容認」のように回答されているので、節度を守ればマイニング利用もOKなのだと思われます。
There’s nothing in our Acceptable Use Policy (AUP) that says you cannot run Ethereum or any mining tools. However, typical mining can lead to excessive CPU, which is against our AUP. We recommend either put rate-limiting in place for the CPU to around 75% or use a dedicated CPU instance. Dedicated CPU instances you can use all the CPU without worrying about generating a Terms of Service complaint about excessive CPU, it’s yours to use as you want.
当社の利用規約(AUP)には、Ethereumやマイニングツールを実行できないという記述はありません。しかし、典型的なマイニングはCPUのパワーを過剰に消費する可能性があり、これは当社の利用規約に反するものとなります。したがって、CPUの使用率を75%程度に制限するか、専用のCPUインスタンスを使用することを推奨します。専用CPUインスタンスでは、すべてのCPUを使用することができるので、CPUを使用しすぎて利用規約違反となることを心配する必要はなくなります。(意訳 by まなぶ)
マイニング環境の構築手順
それでは、実際にLinodeでVPSを立ち上げて、マイニング用プログラム(マイナー)をインストールし、マイニング環境をセットアップするまでの手順を紹介します。
VPSを立ち上げる
ログイン画面からログインし、VPSの一覧管理画面を表示します。
[Create] > [Linode] または [Create a Linode] を選択します。VPSのスペックを設定する画面が表示されます。
[Choose a Distribution] で、VPSにインストールするLinuxのディストリビューション(Linuxの種類)を選択します。Ubuntu 20.04 LTS か Ubuntu 18.04 LTS を選択すれば間違いないです。 [Region] は Tokyo か Singapore を選択しましょう。 [Linode Plan] では CPU やメモリ容量を選択します。ここでは一番小さなの「Nanode 1GB」を選ぶことにしますが、より大きくパワフルなものを選んでも良いでしょう。画面を下へスクロールします。
[Linode Label] 欄でVPSの名前を設定します。 [Root Password] には管理者ログイン用のパスワードを入力します。これを紛失するとVPSにログインできなくなるので注意しましょう。 [SSH Keys] では公開鍵暗号方式でログインするための公開鍵を登録できます。公開鍵暗号方式を使うことでセキュリティを高め、さらにログイン時にパスワードを入力する必要がなくなるのですが、説明が長くなるため、ここでは割愛します。 [Create] をクリックすると、指定したスペックや設定でVPSが作成されます。暫く待つと左上に緑色の丸と「RUNNING」が表示されます。これでVPSが作成と起動が完了です。
VPSへのアクセス
Windows環境では「PowerShell」、Mac環境では「ターミナル」などのアプリを起動します。
上図の [SSH Access] 欄に表示されているコマンドをコピーし、アプリに貼り付け、Enterキーを押して実行します。
初回実行時、本当に接続してよいかどうかの確認メッセージが表示されるので、キーボードから「yes」と入力して Enter キーを押します。
パスワードを求められるので、キーボードから入力して Enter キーを押します。入力するパスワードは画面には表示されません。
認証に成功すると、WelcomeメッセージやVPSの情報が表示され、コマンドの入力待ちの状態になります。
以上で、VPSへアクセスして「root」アカウントでログインできることを確認できました。
マイニングに最適なCPUかどうかの確認
Linodeのデータセンターで稼働しているコンピューターのCPUにはいくつかの種類があり、VPSにどれが充てられるかはランダムに決まるようです。
CPUの情報は /proc/cpuinfo というファイルに保存されており、cat
コマンドを次のように実行して確認できます。
cat /proc/cpuinfo | grep "model name"
私が試した範囲では、次の3種類を確認できました。
CPU名 | 周波数 |
---|---|
AMD EPYC 7542 32-Core Processor | 2.9GHz |
AMD EPYC 7601 32-Core Processor | 2.2GHz |
AMD EPYC 7501 32-Core Processor | 2.0GHz |
CPU性能が高いもの(周波数が高いもの)の方がマイニングに適しています。
性能の低いものが当たってしまった場合は、管理画面から [Delete] を選択してVPSを破棄し、もう一度やり直すと良いでしょう。手間がかかりますけど…。
VPS設定
VPSの基本的な設定を行い、環境を整えます。
最新の状態に更新
今回VPSにインストールしたのは、Linuxの一種である「Ubuntu」というオペレーティング・システムです。
Windowsに「Windows Update」があるように、Ubuntuにもアプリを更新したりセキュリティを最新の状態に保ったりするための機能「apt」があります。
次のコマンドを実行して、Ubuntuを最新の状態に更新します。
apt update && apt -y upgrade
完了するまでにしばらく待ちましょう。
スワップファイルの増設
最小プランである「Nanode」で利用できるメモリの容量は1GBです。デフォルトで0.5GBのスワップが用意されていますが、これではちょっと心もとないですね。
そこで「swapfile」という名前のファイルを作成し、これを追加スワップとして利用することにします。ここでは6GBのスワップを追加します。(マイニングするだけなら1GBもあれば十分です)
fallocate -l 6G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
これでルートディレクトリに「swapfile」というスワップファイルが作成されました。
ただ、これだけだとVPSを再起動すると無効に戻ってしまいます。再起動しても有効にするには、この swapfile を /etc/fstab に登録します。
テキストエディタ「vi」を使って /etc/fstab ファイルを編集します。
vi /etc/fstab
- i キーを押す … 編集モード(挿入モード)になる。
- ESC キーを押す … 編集モードから閲覧モードに戻る。
- 閲覧モードで数字キーを押して y キーを2回押す … 現在の行から数字分の行数をコピーする。
- 閲覧モードで p キーを押す … コピーした内容を現在の行の下にペーストする。
- 閲覧モードで : キーを押して w をキーを押して Enter キーを押す … 上書き保存する。(終了しない)
- 閲覧モードで Z キー(大文字)を2回押す … 上書き保存して終了する。
- 閲覧モードで : キーを押して q! と入力して Enter キーを押す … 編集をキャンセルして終了する。
2行目に既存のスワップの記述があるので、これを3行目にコピーし、行頭を /swapfile に書き換え、ファイルを上書き保存します。
/dev/sda / ext4 defaults 0 0
/dev/sdb none swap defaults 0 0
/swapfile none swap defaults 0 0
これで、VPSが起動するときに /swapfile がスワップとして使用されるようになります。
再起動して free -h
コマンドを実行し、スワップの容量が6.5GBになったことを確認します。
VPSの名称変更
コマンドの入力待ちの部分には「root@localhost」と表示されていますが、これは「localhostという名前のサーバーにrootというユーザーでログイン中」という意味です。
複数のVPSを運用する場合、どのVPSにログインしても「root@localhost」と表示されるので、自分がどのVPSを操作しているのかわからなくなり、混乱しがちです。
そこで、VPSの名前「localhost」をわかりやすいものに変更しましょう。ここでは「myvps1」という名前に変更します。
次のコマンドを実行すると、/etc/hostname ファイルに「myvps1」という名前が記入されます。
echo "myvps1" > /etc/hostname
次のコマンドを実行してVPSを再起動します。実行した瞬間にSSHの接続が強制解除されます。
shutdown -r now
VPSの再起動が完了するまでしばらく待ち、再び手元のPCから ssh
コマンドを実行してVPSに接続します。
ssh root@172.104.104.250
下図のように、設定した名称が反映されていることを確認します。
ファイアウォールの設定
デフォルトでは、ファイアウォール機能である「UFW」がインストールされています。UFWの状況は、以下の方法で確認できます。
ufw status
デフォルトでは「Status: inactive」というメッセージが表示されます。これは、インストールされているが有効になっていない(無効状態)であることを表しています。
今回のVPSは、マイニング用プログラムを実行するだけのためのもの。自分のPCからSSHで接続する以外、外部からのアクセスは不要なので、SSH以外のポートを塞ぎます。
次のコマンドを実行してSSH用のポートを開きます。(TCP 22番ポートを開きます)
ufw allow ssh
必要に応じて他のポートを追加することもできます。例えば、TCP 80番ポートを開く場合は次のようにします。
ufw allow 80/tcp
開くポートの指定が済んだら、次のコマンドを実行してUFWを実行します。
ufw enable
「Command may disrupt existing ssh connections. Proceed with operation (y|n)?(コマンドを実行すると既存のSSH接続が解除されるかもしれません。実行して良いですか?)」というメッセージが表示されます。キーボードから「y」を入力して Enter キーを押します。
再び ufw status コマンドを実行し、UFWの状況を確認します。
root@myvps1:~# ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
上記の結果からは、SSHが使用するTCP 22番ポートが許可 (ALLOW) されていて(開いていて)、他は何も許可されていないことがわかります。
マイニング用プログラムの設置
基本的なVPSの設定が済んだので、いよいよマイニング用プログラム(マイナー)を設置します。
マイニング用プログラムの設置手順は、次の記事でも詳しく紹介しています。

重複する説明も多いのですが、今回はLinode VPS環境での手順を簡単に紹介します。
Sugarmaker ダウンロード
マイニング用プログラムの「Sugarmaker」をGitHubのページからダウンロードします。
参考 Sugarmaker ReleasesGitHub Sugarmaker「〜linux64.zip」のリンクを右クリックし、リンクのアドレスをコピーします。
VPSにログインし、「wget」と入力した後に半角スペースを入力し、コピーしたアドレスを貼り付け、Enter キーを押して実行します。
wget https://github.com/decryp2kanon/sugarmaker/releases/download/v2.5.0-sugar4/sugarmaker-v2.5.0-sugar4-linux64.zip
下図のようにダウンロードされます。
Unzip 展開
デフォルトでは、ファイルを展開するための「UNZIP」がインストールされていません。次のコマンドを使ってインストールします。
apt -y install unzip
Sugarmakerのパッケージを展開します。
unzip sugarmaker-v2.5.0-sugar4-linux64.zip
「sugarmaker-v2.5.0-sugar4-linux64」というフォルダが作成され、その中にプログラムが展開されます。
パッケージは不要なので rm
コマンドで削除します。
rm sugarmaker-v2.5.0-sugar4-linux64.zip
cd
コマンドを使って「sugarmaker-v2.5.0-sugar4-linux64」フォルダの中へ移動します。
cd sugarmaker-v2.5.0-sugar4-linux64
ls -l
コマンドを使ってフォルダの中のファイルを一覧表示します。
ls -l
total 1520
drwxr-xr-x 2 root root 4096 Mar 21 13:00 .
drwx------ 5 root root 4096 Mar 21 13:01 ..
-rwxrwxr-x 1 root root 49 Mar 23 2020 run-bench.sh
-rwxrwxr-x 1 root root 126 Mar 23 2020 run-mainnet-pool.sh
-rwxrwxr-x 1 root root 148 Mar 23 2020 run-mainnet-solo.sh
-rwxrwxr-x 1 root root 134 Mar 23 2020 run-testnet-pool.sh
-rwxrwxr-x 1 root root 148 Mar 23 2020 run-testnet-solo.sh
-rwxrwxr-x 1 root root 1527272 Mar 23 2020 sugarmaker
6つのファイルが展開されましたが、必要なものは sugarmaker だけで、拡張子 .sh が付いた他の5つのファイルは不要です。削除してもOKです。(残しておいても問題ありません)
マイニングの実行
Cpulimit 導入
Sugarmakerは、利用できるCPUパワーをすべて使ってマイニングを行います。
そのまま実行すると、CPU使用率がVPSの許容値を超え、LinodeからBAN(利用禁止措置)されるかもしれません。
そこで、CPU使用率を抑えるプログラム「cpulimit」をインストールします。
apt -y install cpulimit
マイニング用プールの選択
ここではお手軽なプールマイニングを行うことにします。

Sugarchainのマイニングプールは世界中にいくつもありますが、ここでは公式マイニングプールの 1pool.sugarchain.org を使ってみましょう。
Sugarmaker 実行
次のコマンドを実行します。
cpulimit -l 66 -- ./sugarmaker -o stratum+tcp://1pool.sugarchain.org:5555 -u (ウォレットのアドレス) -t1
cpulimit -l 66
は、「CPU使用率を66%に抑える」という意味です。
最後の -t1
は、「CPUのスレッドを1つ使用する」という意味です。
これらのパラメーターを誤るとCPUを過度に使用することがあるので注意しましょう。
実行して下図のように「yay!!!」が表示されれば成功です。
マイニング状況の確認
1poolのサイトにアクセスし、[Worker] タブから自分のアドレスを探します。
リンクをクリックすると、次のような画面が表示され、ハッシュレートやシェアを確認できます。
Sugarmaker 停止
通常、実行中のプログラムは Ctrl + C キーを押すことで停止できますが、今回の sugarmaker
は cpulimit
を介して実行しているため、Ctrl + C キーを押しても停止されません。
そこで、別のPowerShellまたはターミナルを起動し、同じVPSにSSHでログインし、sugarmaker
に対して kill
コマンドを実行して停止させます。
VPSにログインしたら次のコマンドを実行します。
ps aux | grep sugarmaker
次のような結果が表示されます。
root 1164 69.0 1.0 242924 10900 pts/0 Sl 14:38 10:03 ./sugarmaker -o stratum+tcp://1pool.sugarchain.org:5555 -u sugar1q0c6lm4hmjr6mvp8ya5evp9htlk9t5a8w3xnvrl -t1
root 1165 0.1 0.0 2700 112 pts/0 S< 14:38 0:01 cpulimit -l 66 -- ./sugarmaker -o stratum+tcp://1pool.sugarchain.org:5555 -u sugar1q0c6lm4hmjr6mvp8ya5evp9htlk9t5a8w3xnvrl -t1
root 1337 0.0 0.0 5192 736 pts/1 S+ 14:52 0:00 grep --color=auto sugarmaker
1行目に表示されている「1164」が、実行中のsugarmakerプログラムのPID(プログラムの識別番号)です。
この「1164」を指定して kill
コマンドを実行します。
kill -2 1164
これで sugarmaker
が停止します。
まとめ
以上、海外VPSのLinodeでサーバーを立ち上げてSugarchainのマイニングをする手順を紹介しました。
本格的に使用するならば、一般ユーザーの作成や公開鍵暗号方式での接続など、セキュリティを高める設定を行うべきですが、今回は単純なマイニング用途ということで、この辺りの説明は割愛しました。
サーバーを立ち上げ、基本中の基本的な設定を済ませ、マイニング用プログラムを設置するだけ。順を追っていけば意外と簡単です。
繰り返しになりますが、利用する際には、他の利用者の迷惑にならないよう、CPU使用率を抑えることを忘れないようにしてください。
この記事がお役に立てば幸いです。