起動直後の状態を確認する。以下のとおり nfs サービスは起動直後だと動作していない事がわかる。
% netstat -tupan Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2011/sshd tcp 0 188 192.168.23.2:22 192.168.23.1:48076 ESTABLISHED 2812/sshd: root@pts tcp6 0 0 :::22 :::* LISTEN 2011/sshd udp 0 0 0.0.0.0:68 0.0.0.0:* 2002/dhclient udp 0 0 0.0.0.0:58029 0.0.0.0:* 2002/dhclient udp6 0 0 :::44268 :::* 2002/dhclient
用意されているサービスは rc-service コマンドを使えばわかる。以下のとおり nfs サービスが用意されている事がわかる。
% rc-service --list | grep nfs nfs nfsmount
nfs サービスを動作させる。SystemRescueCd は System V init を使っているので、サービス起動コマンドは rc-service。
% rc-service nfs start * Starting rpcbind ... [ ok ] * Starting NFS statd ... [ ok ] * Setting up RPC pipefs ... [ ok ] * Starting idmapd ... [ ok ] * Mounting nfsd filesystem in /proc ... [ ok ] * Starting NFS mountd ... [ ok ] * Starting NFS daemon ... [ ok ] * Starting NFS smnotify ... [ ok ]
このままだとどのディレクトリも export されないので、/etc/exports を編集して適当なディレクトリを export させる。設定ファイルを編集したので nfs サービスを再起動。
% mount /dev/sdd1 /mnt/windows % mount /dev/sde1 /mnt/linux % echo '/mnt/windows *(rw,no_subtree_check)' >> /etc/exports % echo '/mnt/linux *(ro,no_subtree_check)' >> /etc/exports % rc-service nfs restart * Stopping NFS mountd ... [ ok ] * Stopping NFS daemon ... [ ok ] * Unexporting NFS directories ... [ ok ] * Exporting NFS directories ... [ ok ] * Starting NFS mountd ... [ ok ] * Starting NFS daemon ... [ ok ] * Starting NFS smnotify ... [ ok ]
クライアント側マシンからマウントテストすると nolock オプションをつけろと言われる。nolock はあまり嬉しくない。手元で rpc.statd が動いていないかNFSのバージョンが古いと出る様子。
# mount 192.168.???.???:/***********/ /****************/ mount.nfs: rpc.statd is not running but is required for remote locking. mount.nfs: Either use '-o nolock' to keep locks local, or start statd. mount.nfs: an incorrect mount option was specified