一昨年のボーナスシーズンにPayPayでMacBook Air 2018を購入した時に購入金額の20%分として付与されていたPayPayポイントを有効活用するべく、昨年9月末の増税前にIntel NUCを購入しました。そして、昨年末のボーナスシーズンにSSDとDRAMも購入し、Linuxデスクトップマシーンを構築したので記念に色々まとめてみることにしました。
今回の自作のあれこれ
- Deep Learningなどの自由研究に使えるGPU搭載マシンが欲しかったので手始めにLinuxマシンを自作してみることにしました。
- 自作初心者なのでマザーボード選びで悩まなくても済む様に、Intelのベアボーンキットを購入することにしました。
- 最近登場したeGPUというのを試してみたかったので、敢えてThundebolt 3に対応したベアボーンを購入しました。
- GPUマシン化はグラフィックカードを購入したら挑戦しようと思います。
部品の購入
参考までに今回購入したパーツの詳細情報を記載します。ベアボーンは消費増税前に買ったのであくまで当時の価格です。
パーツの種類 | 型番 | メーカー | 価格 | 備考 |
---|---|---|---|---|
本体 | NUC8I7BEH | Intel | ¥66,000. | CPU付属のベアボーン, 支払いには¥44,461.分のPayPayポイントを利用 |
CPU | Core i7 8559U | Intel | - | ベアボーンに付属, 4C8T, 2.7GHz(TB時:4.5GHz) |
SSD1 | NM610(1TB) | Lexar | ¥11,528.(うち交換保証:¥500.) | NVMe SSD OS, ブートローダーインストール用に使用 |
SSD2 | NS100(1TB) | Lexar | ¥10,428.(うち交換保証:¥500.) | /home用ドライブとして使用 |
DRAM | CT2K16G48FD8266 DDR4 2666(32GB) | crucial | ¥16,918. | マザーボードの最大搭載可能メモリ容量上限値が32GBのため |
ディスプレイ 21.5inch Wide |
PH15997426 | PHILIPS | ¥8,980. | HDMIx2+D-SUB搭載 NTT-X Storeのお正月セールで購入 |
キーボード | K380 | Logicool | ¥3,500. | PCを3台まで登録出来るので購入。マウスは既に有るものを流用 |
ヒートシンク | SS-M2S-HS02 | 長尾製作所 | ¥1,359. | NVMe SSD冷却用に購入 |
電源ケーブル | - | - | ¥0. | ベアボーン付属のACアダプタには電源コードが付属していないため、不要なタブレットPCのACアダプタより拝借 |
合計費用: ¥107,185.(PayPay考慮時: ¥62,724.)
(追記) Intel NUC8I7BEHの拡張性
今回使用したベアボーンは手のひらサイズですが、拡張性はそこそこ有ると思います。(以下の写真は粗実物大)
仕様 |
---|
USB3.0 x 4(前面x2, 背面x2) |
Thunderbolt 3ポート(背面) |
HDMIポート(背面) |
Intel® Ethernet Connection I219-V(背面) |
オーディオポート(ヘッドフォン・マイク対応、前面) |
Intel® Wireless-AC 9560 + Bluetooth 5.0(内蔵) |
マイクロSDカードスロット(左側面) |
PCの組み立て
ベアボーンに購入した部品を取り付ける作業は0から自作するのと比較してとても簡単です。ベアボーンを開けてマザーボード上に部品を取り付けるだけです。
OSセットアップ
OSのセットアップを行い、組み立てたPCが動作できる様にします。今回はUbuntu 18.04.4 LTS Desktop版をインストールしました。最初はServer版をインストールしようと試みましたが、SSDがどうしても認識されなかったのと、GUIも使いたかったのでDesktop版をインストールすることにしました。パーティション構成は以下の様にしました。
パーティション | 容量 | 備考 |
---|---|---|
efi | 1GB | UEFI用パーティション。従来の/bootに代わるパーティション |
/ | 300GB | /rootなどが入るパーティション |
/usr | 344GB | インストールするアプリケーションが格納されるパーティション |
/var | 344GB | 当初は20GBぐらいにするつもりが、KVMで重要な役割を果たすパーティションと判明したため増量 |
swap | 10GB | /~swapはNVMe SSDに割当 |
/home | 1TB | SATA SSDをまるまる1台/home用に割当 |
Ubuntuのパッケージマネージャー
Ubuntuのパッケージマネージャーはapt-getが一般的ですが、最新版のUbuntuではaptが推奨の様です。aptitudeというパッケージマネージャーも有りますが、Ubuntu 18.04では非推奨となっている様です。今までaptitudeを使っていましたが、これを機会にaptに乗り換えることにします。
参考: http://ultra-genma.hateblo.jp/entry/2019/04/08/233718
ufwの設定
ファイアウォールを設定しました。ufwが既にインストールされていた為、設定しました。16.04までは自分でインストールする必要が有りましたが、自動的にインストールされる様です。
参考: ufwの基本操作
sshの設定
パスワード無しログインが出来る様にキーファイルを作成し、受け渡しを実施します。
ssh-keygen -t rsa -f ~/.ssh/id_rsa_ubuntu18
ssh-copy-id -i ~/.ssh/id_rsa_ubuntu18 <USER_NAME>@<HOST_IP>
mDNSの設定
同一ネットワーク内からのSSHアクセスならHOST_NAME.local
でアクセス可能となり、IPアドレスの入力が不要になります。
参考: mDNSを設定して、いちいちIPアドレスを打ち込むのをやめよう。
まとめ
Intel NUCを用いたLinuxマシーンを自作しました。このスペックで10万円ちょっとならかなりコストパフォーマンスの良い自作になったのではないかと思います。折角リソースが潤沢なマシンを作ったので、KVMベースでマルチノードKubernetesの構築やThudebolt 3に対応していることを生かしてeGPUを取り付けてGPUマシン化に挑戦したいと思います。
今後の改良予定(要予算との相談)
- DockerをインストールしてJupyterLabサーバー化
- R Studio ServerをDockerで立ち上げ
- KVMベースのマルチノードKubernetesの構築に挑戦
- eGPUをドッキングしてGPUマシーン化
- TensorFlowやPyTorchをGPU動作させられるマシーンに