raspberry piを使用してNASを作成する
今回はraspberry piという小型のコンピュータを使用してネットワークで接続できるストレージを作成してみます
私が今回使っているのはraspberry pi3なので古い機種になります
また、今回のNASは同じネットワークに接続した時のみアクセスできるので、外出先からはアクセスできません
NASとは
Network Attached Storageの略でネットワーク上にあり、ネットワークでデータのやり取りができるハードディスクのこと
必要なもの
raspberry pi(OSのインストールやネットワークの設定など初期の設定が終わっているもの)
外付けハードディスク(初期化されても問題ないもの)
設定方法
今回説明は省きますが、raspberry piで直接操作することも可能ですが、SSH接続して他のPCから遠隔操作するとエラーが出た際に調べやすいのでおすすめです
SSH接続したい場合は、下記のようなサイトを参考にしてみてください
ハードディスクの設定
まず、raspberry piと外付けハードディスクを接続します
次にコマンドを使って接続した外付けハードディスクの名前を調べます
下記の例では「sda1」が外付けハーディスクになりますが、複数のハードディスクを繋げている場合は異なると思うので容量などを参考にして判断してください
これ以降のコマンドの「sda」や「sda1」はここの部分の指定になるため、この部分の内容が違えばそちらに差し替えてください
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 1 233.2G 0 disk
mmcblk0 179:0 0 29.1G 0 disk
├─mmcblk0p1 179:1 0 256M 0 part /boot
└─mmcblk0p2 179:2 0 28.9G 0 part /
オペレーティング・システムがドライブを正しく認識できるようにするため、USBドライブにもパーティションを設定する必要があり、下記のコマンドでパーティション分割を行います
こちらを実行するとハードディスクの内容が削除されてしまうため、あらかじめバックアップをとっておいてください
$ sudo fdisk /dev/sda
以下のコマンドで先ほどパーティション分割したものをext4ファイルシステムでフォーマットします
$ sudo mkfs.ext4 /dev/sda1
パーティションをマウントするために、下記のコマンドを実行します
$ sudo mount /dev/sda1
今後もパーティションがマウントされるようにする設定をするために下記のコマンドでファイルを開きます
$ sudo nano /etc/fstab
最後の行に追記と書かれている内容を記入し上書きします
上書きはContrl+Xの後Yを選択します
sda1は分割したパーティションの名前なので、違う場合は自分のパーティションの名前に書き換えてください
proc /proc proc defaults 0 0
PARTUUID=11da351a-01 /boot vfat defaults 0 2
PARTUUID=11da351a-02 / ext4 defaults,noatime 0 1
/dev/sda1 /mnt ext4 defaults,noatime 0 2 //追記
共有フォルダを作成します
$ sudo mkdir /mnt/sda1/shared
作成した共有フォルダに対してみんながアクセスと書き込みができるように権限の設定を行います
$ sudo chmod -R 777 /mnt/sda1/shared
Sambaの設定
今回はSambaというオープンソフトウェアを使用してファイルサーバーを構築するのでパッケージをインストールします
$ sudo apt install samba samba-common-bin
sambaの設定ファイルをコマンドで開きます
$ sudo nano /etc/samba/smb.conf
下記の内容を追記して上書きします
{userName}の部分は次に作成するユーザーの名前なので好きに設定してください
[shared]
path=/mnt/sda1/shared
writeable=Yes
create mask=0777
directory mask=0777
public=no
force user = {userName}
ユーザーの登録
下記のコマンドの{userName}の部分に先ほどのユーザー名を入力して実行すると、パスワードの入力を2回求められるので入力するとadded user〜のメッセージが表示されれば登録完了
$ sudo smbpasswd -a {userName}
New SMB password: //パスワードの入力
Retype new SMB password: //確認でもう一度パスワードの入力
Added user {userName}.
サーバーの再起動
下記のコマンドでSambaのサーバーを再起動させます
$ sudo systemctl restart smbd
IPアドレスの確認
他のデバイスから接続する際にIPアドレスを使用するのでコマンドでIPアドレスを調べます
下から4行目くらいのところにinetの後ろにIPアドレスが書いてあります
IPアドレスの後ろの/24はサブネットなの無視してください
$ ip addr
〜省略〜
inet {IPアドレス}/24 brd 192.168.11.111 scope global dynamic noprefixroute wlan0
valid_lft 2364sec preferred_lft 1914sec
inet6 fe80::7aae:b537:161a:891c/64 scope link
valid_lft forever preferred_lft forever
MacとNASを接続する
Finderを開き、メニューバー>移動>サーバーへ接続
「smb://」の後ろにIPアドレスを入力して接続
ログイン情報を聞かれたら作成したユーザーネームとパスワードを入力する
マウントするボリュームを聞かれたら「Shared」を選択してOKするとラズパイに接続した外付けハードディスクにアクセスすることができます
参考サイト
Discussion