Raspberry Piで作るファイルサーバー

記事
IT・テクノロジー

Raspberry Piで作るファイルサーバー

Raspberry Pi は組み込み用途としても利用できるハードウエアですが、ソフトウエアに加えてハードウエアや OS、デバイスドライバーの知識も必要になってきます。興味がある場合には、少しずつ学習していく必要があります。そこで、もう少しハードルが低い使い方の例としてファイルサーバーとして利用する方法を考えてみることにしました。

ファイルサーバーとは?

ファイルサーバーはネットワーク上でファイルなどの情報を共有するサービスを提供するサーバーです。 要は、ネットワーク上にファイルをおいて、複数のコンピュータからファイルをアクセスできるようにしている仕組みです。

ファイルサーバの仕組みは色々なものがあります。Box や Dropbox などもファイルサーバーの一つです。


今回は、余り複雑な仕組みのファイルサーバーではなく、シンプルにネットワーク上で家族でファイルを共有できるようなシンプルな仕組みを考えます。家庭内のネットワーク上に Raspberry Pi を接続して、Raspberry Pi の USB ポートに接続したドライブ(ハードディスクや SSD)に他のコンピュータからアクセスできるようにします。

目的は、本格的なファイルサーバーを構築することではなく、自分自身で設定して、他のコンピュータとドライブを共有する仕組みを作ることを体験する事をゴールにします。

NAS と呼ばれる仕組みを利用します

NAS(Network Attached Storage)という仕組みがあるので、これを Raspberry Pi で作る事を考えてみます。 NAS のイメージはネットワークにディスクドライブがあるようなイメージで利用する感じです。 実際は、ディスクドライブを直接ネットワークに繋ぐことは通常はできないので、コンピュータを介して繋いで、そのディスクドライブをネットワーク上で共有するという形で実現しています。

つまり、Raspberry Pi にディスクドライブを USB で接続します。さらに Raspberry Pi を家庭内のネットワークに接続して、ネットワーク経由で家庭内のネットワークに接続した PC などからディスクドライブを利用できるようにします。

USB ドライブはどこに?

Raspberryb Pi に USB のディスクドライブを接続すると、通常の設定ではディスクドライブにアクセスできるようになります。ファイルマネージャーでみると接続されたディスクドライブが認識されてアクセスできるようになっています。

試しに、SSD ドライブを USB 接続するためのケースに入れて USB 経由で Raspberry Pi に接続するとこの SSD ドライブに Raspberry Pi からアクセスできるようになります。SSD ドライブのボリューム名を「ESSD」にしているので、ファイルマネージャには「ESSD」で表示されます。 ファイルの中身も表示されていてドライブにアクセスできる事がわかります。


実際にこのドライブが、OS 上のどこにあるのかは、ターミナルで開く(Open in Terminal)でターミナルで開くと OS 上の場所(Path)がわかります。今回インストトールした Ubuntu 21.04 デスクトップ版の OS では、「/media/rasuser/ESSD」に割り当てられています。

この状態を OS が「ドライブをマウント」していると呼んでいます。

Raspberry Pi には沢山マウントされているので、「/media」が含まれる部分だけを抜き出してみると以下のように OS 上で扱われているのがわかります。

$ mount | grep media
/dev/sda2 on /media/rasuser/ESSD type exfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,iocharset=utf8,errors=remount-ro,uhelper-udisk2)
$
ファイルサーバーにするには、この「場所(path)」をネットワーク経由で公開できるようにすれば目的が達成できます。

色々ある共有の方法
こうした特定の場所「Path」をネットワークを通じて共有する方法は幾つかあります。

Unix 系のコンピュータで良く利用されているのが、NFS(Network File System)という仕組みです。大分前にアメリカにあったコンピュータ会社(Sun Microsystems)が開発して、公開したものです。

この方法でも良いのですが、Windows 系のシステムの場合にはあまり都合が良い仕組みではありません。

そこで良く利用されているのが、「Samba」と呼ばれる仕組みです。この方法だと、Linux、Windows、Mac などで広く利用ができます。今回はこの Samba を利用してファイルを共有する予定です。

まとめ
Raspberry Pi を利用して簡単なファイルサーバーを作ることにしました。 家庭内で利用するシンプルなものなので、今回は NAS(Network Attached Storage)を Samba と呼ばれる仕組みを利用して実現することにします。

今週の記事は Samba を利用するというところで終わりですが、来週は具体的に Samba をインストールして、実際にファイルサーバーを稼働させる予定です。このように、色々な設定や機能を Raspberry Pi を利用して体験することが可能です。

体験すると、理解も深まり学習効率が飛躍的に良くなります。ぜひ、ご自分で試してみてください。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す