Raspberry Piに外付けUSB HDDを取り付けて、NFSファイルサーバを作成しようと思います。
標準OSのRaspbianを使用しますので、初代Raspberry Pi(無印)を含めたすべてのRaspberry Piで作成することが可能です。
転送速度は遅めです・・・10MB/s程度、一時間に3GB程度の転送量かと思いますので、その範疇でご利用下さい。
目次
Raspberry PiでNFSファイルサーバ作成
初代Raspberry Pi(無印) Model Bを使用しました。そういえば2代目までは、microSDカードの差し込み口は「カチッ」っとなるタイプでしたね。
Raspbianインストール
こちらの記事を参考に、Raspbianをインストールします。
USB端子の電力供給量設定変更
Raspberry Piフォーラムさんの記事を参考に、USB端子の電力供給量を上げておきます。config.txtにmax_usb_current=1の1行を追加します。
echo max_usb_current=1 | sudo tee -a /boot/config.txt
再起動後、外付けHDDを取り付けて、USB端子への電力供給量を確認します。
lsusb -v |grep -e 'MaxPower' -e 'Bus [0-9]'
HDD(Western Digital)に500mA割り当てられているようです。
USB HDDのマウント
- cfdiskでパーティションを作成後フォーマットします。
sudo cfdisk /dev/sda sudo mkfs.ext4 /dev/sda1
- blkidでUUIDを確認、/etc/fstabを編集します。/optにマウントしようと思います。
blkid /dev/sda1 |grep -o -e "\sUUID=\"[0-9a-f\-]*\"" |sudo tee -a /etc/fstab sudo vi /etc/fstab
UUID=<外付けHDDパーティションのUUID> /opt ext4 defaults 1 2
- マウントして正しくアクセス可能かどうか確認します。
sudo mount /opt ls /opt
NFSサーバインストール
- 事前にアップデート・アップグレードします。
sudo apt update sudo apt upgrade sudo apt autoremove
- nfs-kernel-serverをインストールします。
sudo apt install nfs-kernel-server
- rpcbindとnfs-serverサービスはインストール後自動起動されているようです。
NFSサーバ設定
/optディレクトリをNFSで公開するかたちです。
同じLANのセグメント(192.168.○.○)から書込み可能でアクセスできるようにしようと思います。
rootユーザもアクセスできるようにno_root_squashオプションを使用しますが、既定ではroot_squashが有効のようです。
- /etc/exportsに1行追加します。
echo "/opt 192.168.○.0/255.255.255.0(rw,sync,no_subtree_check,no_root_squash)" | sudo tee -a /etc/exports
- 設定変更を反映します。
sudo systemctl reload nfs-server
- 下記のコマンドでエクスポートの状態を確認できるようです。
sudo exportfs -v
NFSクライアント設定
先日作成した、aarch64版Fedora 28のRaspberry Pi 3でNFSディレクトリをマウントしてみました。
rootでログインしているため、sudoは省略しました。
- nfs-utilsをインストールします。
dnf in nfs-utils
- ファイアウォール設定を変更してnfsを有効にします。
firewall-cmd --add-service=nfs --permanent firewall-cmd --reload
- /etc/fstabに1行追加します。/optにマウントしようと思います。
echo "<NFSサーバのIPアドレス>:/opt /opt nfs defaults 0 0" | tee -a /etc/fstab
- マウントして正しくアクセスできるかどうか確認します。
mount /opt ls -al /opt
Windows 10 Proは、NFSファイルシステムのマウントが可能のようです。(無印、Home相当は非対応のようです)
大きなファイルは少し難しいですが。
ちょっとしたファイルのやり取りに、NFSサーバが1台あると何かと便利かと思います。