nfs server on RPi for MacOSX

投稿日:

RPi(RaspberryPi)で、MacMini用のnfs server をsetup。

自宅用に2台目のRPiをsetupしたので、念願のいわゆるNASにする。
RPi の OSは、2013-02-09-wheezy-raspbian.zipからdownload。

NASとはいっても、nfs。
nfsなら、VM上のunixから利用するときにとっても便利。

1. HDDのフォーマット

もともとmacで利用していた1.5TのHDDをUSB接続でRPiに繋ぐ。 /dev/sda1が見えたら、ext4にする。
% sudo fdisk /dev/sda
> d ... もともとのパーティションを削除
> n ...  新しいパーティションを作成
> t ... linux パーティションに設定
  > 83
> w ... 書き込み

ここで、rebootしておく。
rebootが完了したら、内容を確認。

% sudo fdisk /dev/sda
Command (m for help): p
 
Disk /dev/sda: 1500.3 GB, 1500301910016 bytes
81 heads, 63 sectors/track, 574226 cylinders, total 2930277168 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
Disk identifier: 0x00000000
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048  2930277167  1465137560   83  Linux
 
Command (m for help): 

OK。次に、file systemを作成する。

% sudo mkfs.ext4 /dev/sda1

完了まで、20分ほど待ち。

2. mount

フォーマットが完了したら、RPi上で、HDDとして認識させるmount。 今回は、「/export/hdd0」にmountする。

まず、directoryの準備。

% sudo mkdir -p /export/hdd0

次に、自動mountの設定。1行足す。

% sudo vi /etc/fstab
---
/dev/sda1  /export/hdd0         ext4    defaults,noatime  0       1
---

コマンドを実行するか、rebootで認識させる。

% sudo mount -a
% df /dev/sda1
ファイルシス   1K-ブロック     使用     使用可 使用% マウント位置
/dev/sda1       1442146772 18973884 1349916012    2% /export/hdd0

3. package install

RPiで、nfsd のためのpackageをapt-get。
% sudo apt-get install nfs-common nfs-kernel-server rpcbind nfs-utils

自動でnfsdをあげるように設定。

% sudo update-rc.d nfs-common defaults
% sudo update-rc.d rpcbind defaults

4. nfsのexportfs

RPiのnfsdは、自宅内のLANのみmount可能にする。

自宅LAN 192.168.1.0/24

% sudo vi /etc/exports
/export/hdd0	192.168.1.0/255.255.255.0(rw,sync,no_subtree_check)

nfs-kernel-serverを再起動して、確認。

% sudo /etc/init.d/nfs-kernel-server restart
% showmount -e
Export list for rpi:
/export/hdd0 192.168.1.0/255.255.255.0

5. macosx からmount

ここで問題発生。 mac(mountain lion)のセキュリティにひっかかるらしく、コマンドで、手動mountしなくてはいけない。
% sudo mkdir /Users/me/hdd0
% sudo mount_nfs -o resvport RPiのIP:/export/hdd0 /Users/me/hdd0

調べてみると、nfs server側でoption「insecure」を設定するといいらしい。RPiで以下のように設定を変更して、nfs serverを再起動。

% sudo vi /etc/exports
/export/hdd0	192.168.1.0/255.255.255.0(rw,sync,no_subtree_check,insecure)

これで、MacのFinderからも「nfs://RPiのIP/export/hdd0」でmountできるようになった。

HDDのFANがリビングに移動して、自室が快適。