3
5

More than 3 years have passed since last update.

初心者がRaspberryPiでNASを作ってみたメモ

Posted at

はじめに

RaspberryPi 3B を色々いじりながら、「何を作ろう?」と考えているときに、家で使っていないSSDを発見したので、「これはNASを作れという神様のお告げだ」と思い、作ってみました。

私はMacユーザーなのですが、後々家族で使うことを考え、MacでもWindowsでも使えるようにしました。
※Qiita初投稿なので、お手柔らかにお願いします。。。

SSDの準備

フォーマットをします。
SSDをMacに繋ぎ、SSDを認識させます。
ここで、GUIのディスクユーティリティを使ってもいいのですが、
あえてここではTerminalでのフォーマット方法を載せておきます。

Terminalを開き、、、

Terminal
% diskutil list
...
/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *492.5 GB    disk2
   1:                 DOS_FAT_32 SSD                     492.5 GB    disk2s1
...

disk0、disk1...とズラズラ出てくるので、繋いだSSDのdisk番号を覚えておきます。
ここで間違えると、Mac本体のデータがぶっ飛ぶので注意しながら行います。
私の場合disk2でした。

今回、フォーマット方式はexFATで行います。ので、

Terminal
% diskutil eraseDisk ExFAT SSD /dev/disk2

一つ一つ解説すると、
ExFAT:フォーマットのタイプ
SSD:フォーマット後のSSDの名前。なんでもいいですが、あとで使うので、わかりやすい名前推奨。
/dev/disk2:フォーマットする対象。

これでフォーマットは完了です。SSDをMacから外して、、、

RaspberryPiへマウント

次はRaspberryPiで行います。
SSHもしくは、モニターに繋義、Terminalに打っていきます。

まず、いつもの

Terminal
% sudo apt-get update
% sudo apt-get upgrade

exFATツールのインストール

% sudo apt-get install exfat-fuse
% sudo apt-get install exfat-utils

SSDの情報を調べる

RaspberryPiにSSDを繋いで、

% sudo blkid
/dev/sda1: LABEL_FATBOOT="EFI" LABEL="EFI" UUID="67E3-17ED" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="970b3583-72b5-4f47-9cfd-34ff2e89d2fc"
/dev/sda2: LABEL="SSD" UUID="5E05-CA19" TYPE="exfat" PARTUUID="0429f982-37de-4ec2-b725-2c7010bee8f7"

さっきフォーマットした時に指定した名前の"SSD"が "LABEL="に入っているので、sda2として認識されていますね。
その横の、"UUID="は後から使うので、メモしておきます。

自動マウントの設定

RaspberryPiが起動毎に自動でSSDを認識するように設定します。

Terminal
% sudo nano /etc/fstab
/etc/fstab
proc            /proc           proc    defaults          0       0
/dev/mmcblk0p6  /boot           vfat    defaults          0       2
/dev/mmcblk0p7  /               ext4    defaults,noatime  0       1
UUID="メモしたUUID"        /mnt/hdd/SSDの名前    exfat-fuse      async,auto,dev,exec,gid=65534,rw,uid=65534,umask=000    0       0

"UUID"と"SSDの名前"は各自で変えてください。
"umask"は、アクセス権の設定です。

私の場合、000で全員に全アクセス権を与えています。
このサイトさんがわかりやすかったので、参考にしてください。
(http://www.rivhiro-weather.com/knowledge/?p=168)
ここでアクセス権を正しく指定しないと、「Permission denied」を言われ続けます(←1時間格闘した。)

RaspberryPiをリブートして、、、
ruby:Terminal
% sudo reboot now

% sudo df
/dev/root       30358348 5843744  23230108  21% /
...
/dev/sda2      468644864 2026368 466618496   1% /mnt/hdd/SSD
...

認識されていたら完了です!
右の /mnt/hdd/SSDのパスに認識されてますね!
あとで使うので、このパスは覚えておきます。

ファイルサーバーソフトの導入

Linuxでファイルサーバーを構築するためのソフト、「Samba」をインストールします。

Terminal
% sudo apt install samba

途中で「続行しますか?」と聞かれるので 「Y」 を返します。

環境設定

/etc/samba/smb.confをいじって、設定します。

% sudo nano /etc/samba/smb.conf

そして末尾に追記、、、

[フォルダ名]
   comment = 適当なコメント
   path= /mnt/hdd/SSD #SSDのパス
   writable = yes
   read only = no
   guest ok = yes
   force user = pi

"comment"と"path"は各自...(以下略)
"writable"は書き込みできるようにするかですね
"read only" = no で書き込み可能にしているようですが...まあ。2つあれば安心。
"guest ok" でゲストログインができます。認証制にするなら no にします。
"force user" は管理者ですね。

リブートしたらできているはずです!

Terminal
% sudo reboot now

Macでのアクセス方法

Finder(デスクトップ)で "Command + K"
アクセス先は
smb://(ラズパイのホスト名oripアドレス)
接続し、ゲストでログインできると思います!

Windowsでのアクセス方法

エクスプローラーから、ネットワーク欄から探せるはず。

おまけ:iOSから(iOS13以降)

ファイルアプリを開き、
image.png

右上の「・・・」をタップ。
image.png

そして「サーバーへ接続」を選択。
あとはMacでの接続方法と同じ!

コンフリクト

アクセス権の設定で、"umask"を"777"にしていて、rootアカウントでもSSDにアクセスできないという問題に
1時間ほど費やしたので、ここは気をつけてください。

使ってみて

RaspberryPi 3Bで処理能力が速い + SSD = めちゃくちゃ速い!
NAS上に動画をアップロードし、再生してみましたが、止まる事なく視聴できました!

次は同じRaspberryPiにVPNを構築し、外出先でもアクセスできるようにしてみたいと思います。

参考文献

1.RaspberryPi2でMacとWindows両対応のNASを構築する-Qiita
2.Sambaのユーザー認証とファイルアクセス権の設定
3.Linuxのアクセス権-Kenスクールブログ
4.fstabについて-Qiita
5.Qiita Markdown 書き方 まとめ-Qiita
6.Linux/chownコマンドでファイル所有者とアクセスグループを変更する
7.Macのディスクユーティリティーコマンドで外部ストレージをフォーマット

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5