RaspberryPi に Samba をインストールしてファイルサーバ化(NAS化)する手順を紹介します。
Samba はファイルサーバを構築するためのオープンソースのソフトウェアです。WindowsのPCからアクセスできる共有フォルダを作成することができます。
今回はUSB接続の外付けハードディスクを接続し、RaspberryPiをファイルサーバ化するまでの手順を紹介します。
用意するもの
- Raspberry Pi 3 本体
- microSDカード:容量4GB以上 CLASS10のもの
- 外付けハードディスク:USB2.0対応のもの。容量はお好みで。USBメモリでも構いません。
- OS:RASPBIAN JESSIE LITE
準備
OSイメージを用意します。
Raspbian Jessie Lite のOSイメージファイルを入手する
microSDカードに上記のOSイメージを書き込みます。
microSDカードにOSイメージを書き込む方法
Raspbianをセットアップします。
RASPBIANのセットアップ方法
IPアドレスを固定にします。今回は192.168.10.124にして説明していきます。
Raspberry Pi 3 でIPアドレスを固定にする方法
USB接続の外付けハードディスクを用意します。市販のものでもかまいませんし、自作するならこの記事を参考にしてください。
USB接続のHDDを自作する
外付けハードディスクを接続するとこのような配線になります。USBポートは4つあるうちどこに差し込んでも構いません。
インストール
ユーザーをrootに切り替えます。この後の説明もrootユーザーで操作するので、再起動した場合は再度実行してください。
sudo su
既存ソフトウェアのアップデート
apt-get update apt-get -y upgrade
必要なパッケージをインストール
apt-get -y install samba
ハードディスクの準備
もともと書き込まれていたファイルシステムの情報を削除します。
wipefs -a /dev/sda
パーティションを新規作成
fdisk /dev/sda 次の順で実行 n パーティションの作成 → 後はすべてエンターキーを押す p パーティションの表示 → /dev/sda1にType=Linux のパーティションが表示されればOK w 設定を反映 q メニューを抜ける
ext4形式でフォーマット
mkfs.ext4 /dev/sda1
ディスクをマウント
mkdir /mnt/usb1 mount /dev/sda1 /mnt/usb1
マウントする際に必要なUUIDを表示します。
blkid /dev/sda1
OS起動時に自動的にマウントさせる設定です。
nano /etc/fstab 次の1行を一番最後に追記します。UUIDはblkidの実行結果を記載します。 UUID="4672bf21-7fca-45dc-8337-8df5e23189c5" /mnt/usb1 ext4 defaults 0 0
再起動
reboot
マウントされていればfstabの設定はOKです。
df 表示例 Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 15448336 1660204 13130600 12% / devtmpfs 469532 0 469532 0% /dev tmpfs 473864 0 473864 0% /dev/shm tmpfs 473864 6364 467500 2% /run tmpfs 5120 4 5116 1% /run/lock tmpfs 473864 0 473864 0% /sys/fs/cgroup /dev/mmcblk0p1 63503 20756 42747 33% /boot /dev/sda1 961301832 73368 912374040 1% /mnt/usb1 →マウントしたUSBハードディスク
USBハードディスクにsamba用のフォルダーを作成します。
mkdir /mnt/usb1/share # システム部用フォルダ mkdir /mnt/usb1/share/system # 営業部用フォルダ mkdir /mnt/usb1/share/sales # 書き込み属性を設定 chmod -R 777 /mnt/usb1/share
Sambaの設定
設定ファイルは以下をエディタで編集します。
nano /etc/samba/smb.conf
[global]と書かれたすぐ下に次の行を追加。「guest account」を設定しないとnobodyになります。
dos charset = CP932 unix charset = UTF-8 guest account = pi
フォルダの設定を行います。ファイルの一番下に追加してください。さらにフォルダを追加したい場合は同様に追加していけばOKです。
[システム部] path = /mnt/usb1/share/system writable = yes guest ok = yes guest only = yes create mode = 0777 directory mode = 0777 [営業部] path = /mnt/usb1/share/sales writable = yes guest ok = yes guest only = yes create mode = 0777 directory mode = 0777
Sambaの設定が終わったらSambaを再起動します。
service smbd restart
使ってみる
エクスプローラから \\192.168.10.124 と入力するとフォルダが見えるようになります。 PC側の設定によりますがホスト名でのアクセスも可能です。
WiFi接続したWindows10のPCからファイルをコピーしたところ速度は8~10MB/sあたりになりました。RaspberryPiのNICは100Mbpsであり、理論上の最大速度は12.5MB/sとなるので、これがほぼ限界近い速度なのかと思います。