Ubuntuで自作NASを作ってみた

# 目次
[1.NASとは](#1-NASとは)
[2.なぜ自作の道を選んだのか](#2-なぜ自作の道を選んだのか)
[3.今回使用したハードウェア](#3-今回使用したハードウェア)
[4.まず組み立てよう](#4-まず組み立てよう)
[5.NASサーバーに使うOSの選定](#5-NASサーバーに使うOSの選定)
[6.UbuntuOSのダウンロード](#6-UbuntuOSのダウンロード)
[7.UbuntuをNASにインストールする](#7-UbuntuをNASにインストールする)
[8.RAID設定（動画補足①）](#8-RAID設定（動画補足①）)
[9.他のPCからSSHで遠隔操作する（動画補足②）](#9-他のPCからSSHで遠隔操作する（動画補足②）)
[10.実際に他の端末にサーバ接続してみよう](#10-実際に他の端末にサーバ接続してみよう)
[11.おわりに](#11-おわりに)
# 1. NASとは
NAS（Network Attached Storage）は、ネットワークにつながる外部ストレージデバイスです。主な用途としては：

* データの保存・バックアップ
* 複数のデバイスからのファイル共有
* リモートからのアクセス

要するに、ネットワークを通じてデータを保存したり、共有したりするためのボックスのようなものです。
(by.chat gpt)

# 2. なぜ自作の道を選んだのか
なんでわざわざ自作にしたん？？SynologyとかQnapとか買えばよくない？？と思うか思わないかわからないですが，今回自作しようと思った理由はいくつかあります．

* 円安の影響で既製品が高騰している
* PCを組み立てること自体好き
* 使い慣れているOSを使いたい
* 後でHDDをいくらでも追加できそう
* メンテナンスがしやすい
* 正直ガジェット自体があんま詳しくない

# 3. 今回使用したハードウェア
* CPU-intel CORE i3 13100F(画像出力機能はないやつ)                 
* マザーボード-ASUS TUF GAMIMG B660M-PLUS D4(CPUとマザボはセット売りで購入)
* GPU-玄人志向 GF-GT710-E1GB/HS(CPUに画面出力機能がないから必要)
* 電源-Thermaltake SMART SERIES SMART 500W
* CPUクーラー-SCYTHE KATANA5(NAS構築くらいならそんな負荷かけないから正直わざわざ買う必要はなかったかも)
* メモリ-crucial 8GB×2
* SSD-ADATA Ultimate SU650 240G
* HDD-WD Blue 8T×2
* ケースファン-よくわからんジャンク品×2
* ケース-Antec P5(これだけ家にあったやつを流用)

合計で大体8万円弱かかりました．結局既製品と値段変わらない感じになっちゃいましたが，当初の予定だと中古品を買いまくるプランでした．しかし，ビビッてTSUKUMOでケース以外買いそろえてしまいました．まあ，無駄にCPUクーラー買ったりHDDの容量を少し多めにして買った部分もあり，それを抜かすとやっぱ安いなって感じます．ていうか書きながら思いましたが，既製品はHDD抜きの本体価格で8万円台が多いのでやっぱ組み立てたほうが安かったですね．よかった…

# 4. まず組み立てよう
というわけで早速組み立てていきましょう！NASといってもベースは普通のPCと変わらないので，普通に組み立てていきましょう！！

・・・といってもPC自体を組み立てたことねえよって人は以下の記事を参考にするといいと思います．
https://nyanswer.com/how-build-pc/#toc4

まあ，初心者の人はパーツの選定から迷うと思うのでまずPCパーツショップに足を運んでお店の人に使用用途と初心者であることを告げれば選定を手伝ってくれるはずです．自分はよく秋葉原のTsukumoショップに行って買ってます．しっかり相談カウンターがあるので，相談しやすいしお店がでかいので商品がかなり豊富です．また，電子通販もあります．

自分が組み立てた感じがこちらです↓
![PXL_20231023_055340506.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3071716/a1fa290a-5889-9ee2-35ef-c91dd2188586.jpeg)

PCケースは3年前，自分が初めて自作PCを組み立てたときに購入したもので新しいケースに中身を移植したときに付属ファンも一緒に移植してしまったのでケースファンが何もない状態でさすがにあったほうがよかったので，Tsukumoでジャンク売り場で格安で購入しました．あと，CPUクーラーが熱々になるのが怖かったので別にCPUクーラーを購入したのですが，使用用途がファイルサーバーのみでそんなに頭脳は使わないのでわざわざ買う必要はなかったのかなと思います，CPUに付属していたクーラーでも十分かと．

# 5. NASサーバーに使うOSの選定
よし，というわけで今回自分が使用するOSを選定するぞ！自作NASの魅力の一つってNASサーバーに使うOSを柔軟に選択できることだと思うんですね，まあ既製品使用したことないのでもしかしたらできるかもしれませんが…．
自分が候補に挙げたOSは2つです

* TrueNAS
* Ubuntu

ます，TrueNASはNAS専用OSともいわれるそうで，自分も今回NASサーバーを組み立てる際に初めて知りました．NAS専用OSなので，運用しやすいのかなというのと興味本位で候補に挙げました．一方で，Ubuntuはこの記事を読んでいるほとんどの方がご存じかと思います．Ubuntuは自分も大学時代よく使用していたので，慣れていて使いやすいかなと思って候補に挙げました．

結論から言うと，最終的にはUbuntuにしました．なぜなら，TrueNASの導入の仕方自体がよくわからなかったのと，Ubuntuはコマンド操作に慣れていて，SSHでも操作しやすいと思ったからです．というわけでUbuntuで頑張って構築しましょう！

# 6. UbuntuOSのダウンロード
まず，自分はここからUbuntuOSのダウンロードしました．
https://www.ubuntulinux.jp/download/ja-remix

それで自分はUSBメモリの中に入れました．といってもただ単純にコピペすればいいわけではありません．自分はこのソフトを使用しました．ほかのソフトも使用しましたが，自分が一番うまくいったのがこれです．
https://forest.watch.impress.co.jp/library/software/rufus/

これで，UbuntuOSの準備はばっちりです！

# 7. UbuntuをNASにインストール＆セットアップ
そして作成したOS入りのUSBをNASにさしてインストールしていくわけですが，起動の優先順位があって今回のように新規でインストールする場合は操作不要かもしれませんが，念のためBIOSでUSBから起動を第一優先に設定しておくことをお勧めします．もちろん，インストール後はUSB挿しっぱなしにしているとまたインストール画面がでてしまうので後でもとに戻しておいてください．
OSインストール方法は以下の動画がすごくわかりやすかったです，この動画はNASを組み立てるために説明された動画なので，今回のような場合にとくにわかりやすいです．
https://www.youtube.com/watch?v=V2aaZEToZgA&t=1198s
本当にこの動画がわかりやすいので，インストールは主にこの動画を見てください．

# 8. RAID設定（動画補足①）
自分はRAID1の構成にしました．RAID1はミラーリングで2台の同じ容量のHDDを動かして，片方のHDDが壊れてももう片方が生きてたら動くみたいな感じです．NASは基本RAID1構成にした方がいいと思います．なぜならHDDが1台のみだと壊れた瞬間すべてのデータが飛びます．それを防ぐためにいちいちバックアップ取っておくのも面倒ですしね．
というわけで，RAID1構成の設定をしようというわけですが，これに関してはこのサイトがすごくわかりやすかったしうまくいきました．これは，知り合いに教えてもらいました．RAID1の設定は8Tの場合10時間ぐらいかかりましたが，ミラーリングしている間もいろいろいじれるのできちんと10時間待つ必要もないかなと思います．まあ，ファイルの中身を入れるというのは待った方がいいかもしれませんが…．（自分は10時間きっちり待ちました×3）
https://www.digitalocean.com/community/tutorials/how-to-create-raid-arrays-with-mdadm-on-ubuntu-22-04
↑デフォルトはすべて英語ですが，サイトの翻訳機能でも自然な日本語なので理解できると思います．
このサイトではマウント設定までやるので，動画の内容とかぶると思いますが，マウントに関してはこのサイトを参考にするといいと思います．

# 9. 他のPCからSSHで遠隔操作する（動画補足②）
他のPCからSSH接続してコマンドで遠隔操作ができれば何かと便利です．NASサーバーの管理をする際いちいち本体にモニターをつなげたりするのはかなり面倒ですし．というわけで，SSHの接続を許可する設定を行うことによって遠隔で操作できるようにしたいと思います．
これについては，
https://engineer-ninaritai.com/linux-ssh-config/#SSH-3
を参考にするといいと思います．このサイトにもありますが，TeraTermは見やすいし便利なので利用するといいですね．

# 10. 実際に他の端末にサーバ接続してみよう
それではかれこれあってやっとほかの端末に接続してみよう！ということで，自分はWindows,Android,iPhoneに接続したのでそれぞれの様子をざっくりと説明していきます．
* Windows
Windowsはファイルを普通に開いて自分が設定したIPアドレスを入力すればファイルサーバーにアクセスできるはずです．右クリックをすればPCの欄にドライブ設定をすることができます．

* Android
Androidはファイルマネージャーというアプリをインストールする必要があります．

* iPhone
iPhoneはもとから入っているファイルアプリからアクセスできます．右上の・・・ボタンからサーバへ接続にアクセスしてください．

# 11. おわりに
というわけでいかがでしょうか？？お気づきの方も多いと思うのですが，ほとんどほかの人からの受け売り情報です．ならこのブログも書く必要はないかと思いますが，自分が調べていく中で自作NASを作る過程が一連で乗っているブログが見つからなかったので，自分の備忘録としても残したくて今回書かせていただきました．わざわざ作る人ってそんないないと思いますが，自作するとまず予算をコントロールしやすいですし，パーツが壊れても自分でメンテナンスできますし，極め付きはHDDを増設しやすいということです．既製品は2ベイや4ベイなど入る個数があらかじめ決まっていてもちろん入る数が多ければ多いほどかなり高額になります．自作するとコードの数だけHDDをつなげられるのでそこはかなり強いと思います．今回の説明での段階では，家のWifiの中での通信なので外ではアクセスできません．外でアクセスするためにはVPNの設定が必要で自分もすでに設定しましたが，やはりなんか重くて使いづらいので，慣れないうちは家の中のみで使うことをお勧めします．ちなみに自分もNAS構築処女だったので，何回も失敗して完璧に使えるようになるまで2週間近くかかりました．ミラーリングも3回やり直す羽目になりました…．ですが，これも一つの勉強だと感じてこれからも精進していきたいですね．
VPNでの接続に関しては慣れてきて気が向いたらまた取り上げたいと思います．

ここまで読んでくれてありがとうございます．もし，これを参考に試してくれた方がいれば誉め言葉のコメントを残していただけると幸いです！！

## 12.【追記】ついにNASをVPN経由で外出先からアクセスできるようになったよ！
表題の通り、約半年の時を経て、NASをVPN確立することができました！この話を書いた記事をアップしたので、ぜひご覧ください！
https://qiita.com/Kazusa0612/items/04558219e634c5f959e6