以前から、業務PC内で動いていたファイルサーバーなのですが、去年あたりから別のPCから共有フォルダーが見れなくなって(業務PCから家庭用PCは見れる)、共有自体が変な状態になっていました。ここ数日あれこれと弄って悩んではいたんですが、面倒なので NAS にしてしまおうということで、ラズパイでNASを作ります。
NAS とはいえ、簡単なファイル置き場です。主に動画ファイルが置いてあるわけで、Windows PC からフォルダが見れればok。ということは、Linux + Samba で設定するだけで十分なので、仕組みは簡単です。
準備したもの
HDD は家庭用なので RAID などは組まず、ちょっと不調気味だった PC から 2TB の 3.5 インチ HDD を取り外して使いました。共有フォルダが不調だったので、業務/家庭用PCに二重化されてしまったファイルをひとつにまとめることができるので、トータルの容量が減ります。あと、ラズパイは余っていた Raspberry Pi 2 を使います。転送スピードが必要なので、有線 LAN を使うし、ファイルサーバーとして起動するだけなのでモニタやキーボードも必要ありません。
- Raspberry Pi 2
- HDD 2TB 3.5 インチ
- UGREEN SATA USB2.0 変換アダプタ
- LAN ケーブル
- micro USB ケーブル
買ったのは、変換アダプタ 1,700円也のみです。後述しますが、プラモデルの空き箱で代用です。
3.5 インチの HDD は、駆動に 5Vと12V が必要となるため、アダプタ付きの変換ケーブルが必要になります。ノートブックで使われる 2.5 インチの HDD あるいは SSD は 5V のみで動くので PC の給電のみで駆動します(ブートディスクは電力が必要となるので、無理なのですが、後からマウントするだけならば給電の5Vだけで十分です)。これは Raspberry Pi の USB でも問題なく動きます。
Raspbian で準備する
Raspbian を micro SD に焼いて、マウントできる準備をします。ラズパイで作るファイルサーバーは、Linux で読み込めるように再フォーマットが必要だったのですが、ntfs-3g というパッケージを入れると NTFS でフォーマットしたストレージを読み込めるようになります。
以下、簡単な手順です。
- PC で HDD を NTFS 形式でフォーマット
- ボリューム名を「hdd1」のように変更しておく。
- micro SD に Raspbian をインストール
- boot ドライブに “ssh” というファイルを置く(sshが有効になる)
- ラズパイで起動
- passwd でパスワード変更。緩いパスワードを使いたいときは raspi-config を使ってパスワードを変更すれば ok.
- raspi-config でホスト名を “raspberry” から “naspi” 変えておく
- sudo apt-get update
- sudo apt-get upgrade
- sudo apt-get avahi-daemon (既にインストール済みかも)
- reboot
- HDD を変換アダプタでラズパイに繋げる
- /media/pi/hdd1 のように自動でマウントされる。
- sudo apt-get install samba
- /etc/samba/smb.conf を編集する
[hdd1]
path = /media/pi/hdd1
read only = No
guest ok = Yes
force user= pi
- reboot するか、sudo /etc/init.d/samba restart する。
こうすると、Windows の pc から、\\naspi.local\hdd1 でアクセスが可能になります。
ケースを作る
ほどよく動作確認ができたら、自前のケースを作ります。
作るというほどでもありません。単に空き箱に入れているだけですね。
おまけ
この映像なNASサーバーにアクセスするのに、いちいち \\nasipi.local\hdd1 なんてのを探っていては面倒なので、Windows 10 で標準についている「映画&テレビ」のアプリで、フォルダを追加します。
そうすると、ライブラリの「ビデオ」フォルダに追加されて、各動画ファイルをサムネール付きで参照できるようになります。
このライブラリのビデオフォルダは、UWP アプリから直接参照できる、Windows.Storage.KnownFolders.VideosLibrary から安全にアクセスできます…というトリックがあってですね。これは後日。
ちなみに、消費電力としては、ラズパイ+HDDのみなのでかなり低くなります。通常時で 6.0W 映像配信時に 6.9W ぐらいです。