ラズパイに4TBの外付けHDDを接続しNAS(ファイルサーバー)を構築してみた

じょるブログ

現役理系大学生による大学生に向けた情報サイト

インストール ラズベリーパイ

ラズパイに4TBの外付けHDDを接続しNAS(ファイルサーバー)を構築してみた

投稿日:

私は256GBのSSDが搭載されているWindowsパソコンを使用しているのですが、最近空き容量が30GBくらいになってきてしまいました。空き容量がギリギリになると色々と不具合が発生してくるとどこかで聞いたことがあったので、SSDを増設しようかと思ったのですが、調べてみるとどうやら空きスロットはないらしくSSDを換装するしかなく移行作業が面倒くさいなと思い悩んでいました。

そこでとりあえずの解決策として、余ってるラズパイ3BでNASを構築し、ノートパソコン内の普段あまり使用しないデータをそのNASに移すことで空き容量を増やそうと思い立ちました。

ただNASを構築しただけだとローカルネットワークからしかNASに接続できず、外出先でNAS内のデータにアクセスしたくなった場合に困ってしまうので、ついでにVPNも構築しクラウドのように外出先からもアクセスできるようにしてみました。

   

必要なもの

  • ラズパイ

私は家に余っていたラズパイ3Bを使用しましたが、通信速度の関係上ラズパイ4の方がいいと思います。速度を気にしないのであれば3Bで十分です。

※初めてラズパイを使用する方は、ラズパイ用の電源、SDカードが必要です。

 

  • 外付けHDD(または外付けSSD)

後述しますが、2TBを超える容量だと追加の設定(パーティションの管理情報のフォーマットをGPTに変更)が必要になります。
また、外付けHDDは稼働中の消費電力が意外と高く、USB給電式のものだとラズパイが電源不足になってしまう可能性があるため下記のような外部電源を使用したものの方がいいと思います。

 

  • LANケーブル(VPNを構築する場合)

VPNを構築する際はセキュリティの関係上Wi-Fiでは不具合が生じたり、一部の機能に制限がかかる可能性が高いのでLANケーブルでの接続が必要です。

  

今回作成したもの

4TBの外付けHDDを使用してパーティションを2つに分けWindows用にNTFSのパーティションと、Mac・LINUX 用にext4のパーティションを作成しました。

NTFSはクラッシュなどの耐久性に優れているので、1つのパーティションにして4TB全てをNTFSにしても良かったのですが、NTFSはWindows用のファイルシステムなのでLINUX のアクセス権の設定はできません。そのため、LINUXやMac、androidスマホのデータをNTFSに保存するとアクセス権が保持されずに保存されてしまいます。そこまで問題にはなりませんが個人的にちょっときになるので、LINUX 系のデータを保存するようにext4のパーティションも作成しました。

パソコンからアクセスしたときの見え方はこんな感じです。↓

    

構築手順

  1.  HDDのフォーマット、パーティション作成、マウント
  2.  ファイルサーバー(samba)のインストール
  3.  ファイルサーバーの設定
  4.  VPN構築

     

HDDのフォーマット、パーティション作成、マウント

まず、最初にHDDの設定を行います。記事が長くなってしまうので別記事にまとめました。

以下の記事で、HDDのフォーマット方法やパーティション作成方法、ラズパイへのHDDのマウントの仕方などを用語解説を含めて一から解説しているので、まずはこちらをご覧ください。

   

ファイルサーバー(samba)のインストール

上記の記事でHDDのセットアップが完了したら、今回のメインとなるNASを構築していきます。NASを構築するソフトウェアには、openmediavaultというものもありますが、今回はopenmediavaultよりもメジャーなソフトウェアであるsambaというものを使用します。

まずは、以下のコマンドでsambaのインストールを行います。

sudo apt-get install samba -y

   

ファイルサーバーの設定

ラズベリーパイ側の設定

次にsambaの設定を行っていきます。

以下のコマンドでsambaの設定ファイルを開きます。

sudo nano /etc/samba/smb.conf

まずは文字化け対策用の設定を行います。
[global]と書かれたところの下に以下の2行を追加してください。

#======================= Global Settings =======================
[global]
#下記の2行を追記
unix charset = UTF-8
dos charset = CP932

次に、ファイルやディレクトリへのアクセス権限を変更します。
read only、create mask、directory maskの値を以下のように変更してください。

#======================= Share Definitions =======================

[homes]
   comment = Home Directories
   browseable = no

# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
   read only = no

# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775.
   create mask = 0664

# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775.
   directory mask = 0775

最後に、共有するフォルダーの設定をします。
設定ファイルの最終行に以下を記載してください。

[NAS]
path = /mnt/NAS
read only = no
guest ok = Yes
force user = pi

この設定の意味は以下の通り。

guest ok = Yes設定項目備考
[NAS]パソコンに表示される名前。自由に設定可能
path = /mnt/NAS共有するラズパイのディレクトリ。自由に設定可能
read only = noYesにすると書き込みやファイルの作成等はできなくなる。
guest ok = YesYesにするとユーザー名、パスワードの入力を省略できます。
force user = piファイルやフォルダーのアクセス権限はここで指定したユーザーとなる。(例えばpiが管理者権限であり、ここでpiを設定した場合は、アクセス者は管理者権限でファイルの読み書きができるようになる。)

設定ファイルの編集はここまでなので、一旦保存してください。

次に、sambaのユーザーを作成します。

sudo smbpasswd -a pi

上記のコマンドのpiの部分は作成するユーザーのユーザー名です。このユーザー名はラズパイのLinuxユーザとして設定されているアカウントでなければなりません。ユーザー名をpiから変更している方は、そのLinuxユーザとして設定したユーザー名を入力してください。

上記のコマンドを実行すると、2回パスワードの入力を求められるので、こちらもLinuxユーザとして設定したユーザー名のパスワードを入力してください。
(ちなみにデフォルトのパスワードはraspberryです。)

これでラズパイ側の設定は完了です。最後に設定を反映させるために以下のコマンドでサービスを再起動してください。

sudo service smbd restart

    

パソコンまたはスマホ側の設定

最後にパソコンやスマホからこのNASへのアクセス方法について解説します。

パソコンからのアクセス方法については以下の記事をご覧ください。

スマホ(Android)からアクセスするには、ローカルネットワークにアクセスできるファイル管理アプリを使用する必要があります。

私が使用しているおすすめのアプリは、「File Commander」 というアプリです。

このアプリにした理由は、提供元のMobiSystemsは、Office suiteなどを開発している大手のプロバイダー企業なので信頼できるからです。

ダウンロードはこちらからできます。

    

アプリを起動したら左上の「ハンバーガーメニュー」をタップします。

     

左サイドバーの「ローカルネットワーク」をタップします。

    

画面が切り替わったら、右上の「+(プラスマーク)」をタップします。

すると、ポップアップが表示されるので以下のように入力します。

ドメイン表示名は適当な名前で大丈夫です。

サーバーにはラズパイのIPアドレスと先ほど設定した共有フォルダー名(sambaの設定で[NAS]と設定したところ)をスラッシュ区切りで入力します。

最後にゲストにチェックを入れてOKをタップします。
(sambaの設定で、guest ok = no とした場合は、ユーザー名とパスワードの入力が必要です。)

   

作成したものをタップすると以下のように、共有フォルダーのデータにアクセスできます。

VPN構築

執筆中

google ads




google ads




-インストール, ラズベリーパイ

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

簡単!ラズパイでスマホ広告をブロック – youtube広告も削除可能!

    ラズパイでスマホを含む家中の端末に表示されるWEB広告をブロックする方法を紹介します。 動画の最初や途中に表示されるyoutube広告を削除することも可能です! 最近ラズパイを使って何かしたい …

ラズベリーパイをディスプレイに接続せずSSH設定する方法

    一般的にラズベリーパイをパソコンからSSHで操作しようとした場合は、ラズパイにマウス、キーボード、ディスプレイを接続して、一度ラズパイ上でwi-fiの設定を行う必要があります。 しかし、実家に …

ラズパイでスマートロック作ってみた② - 扉の開閉状況をGoogleスプレッドシートに記録

以前作成したスマートロックに、扉の開閉状況をGoogleスプレッドシートに記録する、という機能をつけたので、そのやり方について紹介します。   搭載した機能 スイッチで鍵の開閉外部サービス(Googl …

Raspberry Pi のSDカードが壊れ、起動しなくなってしまった場合の修復方法

スマートリモコンとして使用していたラズベリーパイ(zero WH)の調子が最近悪く、ちょっと動作が遅くなってきたなと思っていたら突然反応しなくなってしまいました。半年以上問題なく稼働していましたが、起 …

windowsでpythonにPyaudioをインストールする際に生じるエラーの原因と解決方法

  私はwindowsのノートパソコンを使用しているのですが、先日pythonで録音や再生を行ったり、音声解析を行うことのできるモジュールであるPyaudioを入れようとした際にエラーが発生し少しつま …




関連記事