Raspberry Pi 3 に Samba 4.2 をインストール

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となるので、これがほぼ限界近い速度なのかと思います。

共有フォルダへのファイルコピーも問題なくできます。

RaspiberryPi側からみると次のようになります。日本語のファイル名も文字化けしていません。

PAGE TOP