ガチャベイを使ってラズパイをNAS化する

[第1回:ラズパイの初期セットアップ個人用メモ](https://qiita.com/_yama_P_/items/17b4414afcd4f5212c1d)
[第2回:ラズパイに Open JTalk を導入する](https://qiita.com/_yama_P_/items/0c3e87a0c1751ea32891)

今回は余っていたHDDとロジテックのガチャベイを使って Raspberry Pi の NAS 化を実施。
なお自宅内のローカルなネットワークで利用するものとしセキュリティについては特に設定しない。必要に応じて別途実施する。

#### 事前準備1
* ロジテック ガチャベイ LHR-2BRHU3
  * https://www.logitec.co.jp/products/hd/lhr2brhu3/index.php
* 3.5インチHDD * 2
  * QNAP の NAS から外した 2TB の HDD を2本利用

なお、今回は2台の HDD を個別に NAS として利用することにした。
ガチャベイに接続した HDD 2台をそれぞれ `ラズパイNAS1` と `ラズパイNAS2` として利用し、用途別に使い分けることなどを想定している。

#### 事前準備2
* ガチャベイに HDD 2台接続
* ガチャベイのディップスイッチの設定を「シングル」（2つともOFFの状態）に設定
* ガチャベイを Windows に接続し exFAT でフォーマット
  * コントロールパネル `管理ツール - コンピュータの管理` から `ディスクの管理`
  * 該当するディスクについて「ボリュームの削除」で削除した後、「新しいシンプルボリューム」でフォーマットを実施
    * **ファイルシステム**
        * `exFAT`
    * **ボリュームラベル** 
        * `NASHDD1` および `NASHDD2` を設定

なお、今回の手順としては省略するが NAS から抜いたまま何もしていない状態の HDD はこの方法でフォーマットできなかった。
最初にラズパイに接続し `sudo fdisk /dev/sda` , `sudo fdisk /dev/sdb` でディスクを消し、
Windows に接続して上記の手順で exFAT でのフォーマットを実施した。


#### ラズパイにガチャベイを接続し、起動時に自動でマウントされるよう設定する
* ガチャベイを **接続せずに** ラズパイを起動
    * `exFAT` でフォーマットされているので、接続する前にラズパイで扱えるようにする必要があるため
* ラズパイで `exFAT` を扱えるよう `exfat-fuse` を導入する
  * `sudo apt-get install exfat-fuse`
* ガチャベイを接続
* HDD が認識されていることを確認する
  * `sudo fdisk -l`

```
$ sudo fdisk -l
～関係のない部分は省略～

Disk /dev/sda: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 5CEA9B98-7F90-4018-A4DA-CA12709F95CA

Device     Start        End    Sectors  Size Type
/dev/sda1   2048 3907028991 3907026944  1.8T Microsoft basic data


Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: A3CC4D73-231C-4715-9FD3-DA3F2DA188BE

Device     Start        End    Sectors  Size Type
/dev/sdb1   2048 3907028991 3907026944  1.8T Microsoft basic data
$
```

* マウントポイントの作成
  * 今回は `/mnt/hdd1` および `/mnt/hdd2` にマウントする

```
$ sudo mkdir /mnt/hdd1
$ sudo mkdir /mnt/hdd2
```

* UUID の確認
  * `sudo blkid`

```
$ sudo blkid
～省略～
/dev/sda1: LABEL="NASHDD1" UUID="CCF8-21BA" TYPE="exfat" PARTLABEL="Basic data partition" PARTUUID="69f52ec0-9b19-4d1b-8e80-b5597bc73099"
/dev/sdb1: LABEL="NASHDD2" UUID="9A01-84AC" TYPE="exfat" PARTLABEL="Basic data partition" PARTUUID="a72a5cb4-2d53-42f6-8f31-3ff4566a3e18"
$

```

* fstab の編集
    * 念のため fstab はバックアップをとっておく
        * `sudo cp -p /etc/fstab /etc/fstab.bak`
    * `sudo vi /etc/fstab` で以下の設定を追記する
        * `defaults` async, auto, dev, exec, nouser, rw, suid を有効にする
        * `nofail` デバイスが存在しないとき無視する

UUID は前手順で確認したものとし、マウントポイントを異なるものに設定する場合は適宜書き換えること。

```
UUID="CCF8-21BA"        /mnt/hdd1    exfat-fuse      defaults,nofail,umask=000    0       0
UUID="9A01-84AC"        /mnt/hdd2    exfat-fuse      defaults,nofail,umask=000    0       0
```

* ラズパイを再起動し、ディスクがマウントされていることを確認する

```
$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
～省略～
/dev/sda1        1.9T   19M  1.9T    1% /mnt/hdd1
/dev/sdb1        1.9T   19M  1.9T    1% /mnt/hdd2
$
```

#### samba を入れて NAS 化する
* samba のインストール
  * `sudo apt-get install samba` を実行する
* smb.conf の編集
  * 念のため smb.conf はバックアップをとっておく
    * `sudo cp -p /etc/samba/smb.conf /etc/samba/smb.conf.bak`
  * `sudo vi /etc/samba/smb.conf` で以下の内容を追記する

```
[pi1nas]
   comment = Raspberry pi NAS 1
   path= /mnt/hdd1
   read only = no
   guest ok = yes
   force user = pi

[pi2nas]
   comment = Raspberry pi NAS 2
   path= /mnt/hdd2
   read only = no
   guest ok = yes
   force user = pi
```

* 追記したあと `testparm` コマンドで記載内容に問題がないか確認する
* 問題がなければラズパイの再起動を実施し、Windows から接続できるか確認する
  * 接続できること、ファイルの書き込みが可能なこと、ファイルの削除が可能なこと
  * Mac からアクセスした場合など認証のダイアログが表示された場合も「ゲスト」で接続が可能

![2019-06-17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/431508/8f5ed48d-0d32-0cc9-d46c-efd3f8435223.png)


これでガチャベイに接続した2台の HDD それぞれを個別に NAS として利用することが可能となりました。
必要に応じて、アクセス制御などの設定を入れましょう。

### 参考
https://wiki.archlinux.jp/index.php/Fstab