NFS Server - RaspberryPi

はじめに

母艦のCentOSのバックアップストレージとしてラズパイでNFSサーバを立てたのでその備忘. ラズパイのインストールはどこにでも書いてあるので割愛.気が向いたら書く.

言うまでも無いかもしれないけれど,行頭が#のものはrootで,$のものは一般ユーザで実行する.たまにsudoも使う.

かんたんに構成

ラズパイに接続したUSB外付けHDDをNFSとして母艦にマウントする.

導入

HDD準備

接続したHDDを確認する.
sdaが外付けHDD.昔買った1TBのHDDを3つのパーティションに分けてある. パーティション分割やフォーマット過程は割愛.
今回はsda2NFS用の領域にする.

$ lsblk 
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0 931.5G  0 disk 
├─sda1        8:1    0   600G  0 part
├─sda2        8:2    0   300G  0 part
└─sda3        8:3    0  31.5G  0 part
mmcblk0     179:0    0  14.9G  0 disk 
├─mmcblk0p1 179:1    0  43.9M  0 part /boot
└─mmcblk0p2 179:2    0  14.8G  0 part /

起動時にマウントするためfstabに設定を追加する.UUIDを指定してマウントしてもいいけど,他にUSBに何か指す予定は無いのでとりあえず気にしない.
ラズパイから直接利用する際もNFSを経由するようNFSとしてもマウントする.そのへんはお好みで.

# mkdir /media/nfs /var/data
# ADDRESS=192.168.0.x
# echo "/dev/sda2 /media/nfs ext4 defaults 0 0" >> /etc/fstab
# echo "$ADDRESS:/media/nfs /var/data nfs defaults 0 0" >> /etc/fstab

NFSサーバ準備

NFSサーバを導入する.

$ sudo aptitude install nfs-kernel-server

NFS領域を設定する. ローカルからの接続を許可.

# ADDRESS=192.168.0.x
# echo "/media/nfs $ADDRESS/255.255.255.0(rw,sync,no_subtree_check)" >> /etc/exports

HDDをマウントして,NFSサーバをサービスを起動する.

# mount -av
# /etc/init.d/nfs-kernel-server start 

クライアントPCでの準備

入ってなければnfs-utilsをインストールする.

$ sudo yum install nfs-utils

あとはラズパイと同様にfstabにNFSマウントの設定を追記するだけ.
バックアップ領域として利用するも良し,home領域を共有するも良し.

注意点

マウントしたNFS領域にファイルを書き込めない場合,ラズパイのNFS利用ユーザとクライアントのNFS利用ユーザのUID/GIDを合わせるとよさげ. NFSの設定でno_root_squashを指定してもよさげ.
NFSの設定と動作 - HHeLiBeXの日記 正道編