Powered by SmartDoc

NFS

NFSとは

NFS(2)はSun Microsystems社によって開発され、古くからUNIXのファイル共有プロトコルとして利用されている。NFSはリモートホストにあるディレクトリをローカルホストのファイルシステムにマウントし、あたかもローカルディレクトリのように扱える。

NFSではRPC(Remote Procedure Call)、portmap、nfslockサービスを利用しているため、これらのサービスも稼働している必要がある。

NFSはSSHとは異なり、サーバへの接続時に認証が不要なため、セキュリティ面では弱いのでLAN内での利用に限定した方がよい。Linuxのネットワークインストールでも利用できる。

  1. Network File System

NFSサービスの設定、起動・停止

NFSサービスは/etc/init.d/nfsスクリプトかserviceコマンドを使い、起動・停止・再起動を制御する(図5.2.1[NFSサービスの起動])。

NFSサービスの起動
# /etc/init.d/nfs start
# service nfs start

初期状態ではどのディレクトリを共有するかを設定されていないのでクライアントからの接続はできない。

エクスポートファイルシステムの設定

NFSサービスを使いネットワークを介してマウントさせるディレクトリとマウントを許可するネットワークの設定を/etc/exportsにリスト5.3.1[/etc/exportsファイルの書式]に示す書式で記述する。

/etc/exportsファイルの書式
ディレクトリ名  ネットワークまたはホスト/ネットマスク(オプション)

リスト5.3.2[/etc/exportsファイルの設定例]はネットワークアドレス192.168.1.0、サブネットマスク255.255.255.0のクライアントに対してディレクトリ/homeを読み書き可能、ディレクトリ/exportを読み込み専用、/media/cdromを任意のホストに読み取り専用でマウントする例である。

/etc/exportsファイルの設定例
/home        192.168.1.0/255.255.255.0(rw)
/export      192.168.1.0/255.255.255.0(ro)
/media/cdrom *(ro)

/etc/exportsの記述で利用できるオプションの一覧を表5.3.1[/etc/exportsで使うオプション]に示す。

/etc/exportsで使うオプション
オプション 意味
rw 読み書き可
ro 読み取り専用
root_squash rootのuidとgidをanonymousのuidとgidに割り当てる。
no_root_squash root_squashを無効にする。
all_squash すべてのuidとgidをanonymousのuidとgidに割り当てる。
anonuid=uid anonymousに割り当てるuidの指定
anongid=gid anonymousに割り当てるgidの指定
insecure 1024番以降のポートの接続を許可する
sync 同期書き込みを有効にする

/etc/exportsの変更をexportfsコマンドでサーバに反映する。

/etc/exportsの反映
# exportfs -a

NFSサービスではクライアントからマウント可能なディレクトリを提供することをエクスポート(export)するという言葉で表現している。

エクスポートする内容の確認

/etc/exportsファイの内容を確認するにはexportfsコマンドを使う。

/etc/exportsの確認
# exportfs -v

マウント状況の確認

エクスポートしているディレクトリの情報はshowmountコマンドで確認できる。クライアントから実行するときはサーバを指定する。

マウント状況の確認
# showmount
# showmount -e
# showmount -e サーバ名

マウントとアンマウント

mountコマンドを使い、ファイルシステムにマウントし、umountコマンドでアンマウントする。

マウントとアンマウントの実行例
# mount -t nfs 192.168.1.30:/export /mnt/nfs
# umount /mnt/nfs

システム起動時にNFSサーバに接続する

通常のファイルシステムと同様に/etc/fstabにリモートファイルシステムとマウント先を指定すればシステム起動時に自動的にリモートホストのディレクトリをマウントできる。リスト5.7.1[/etc/fstabの設定]に設定例を示す。

/etc/fstabの設定
192.168.1.32:/export  /mnt/nfs   nfs soft  0  0

演習

各自のPCでNFSを利用できるように設定する。この時エクスポートするディレクトリは/exportとし、実習室内の各ホストから読み書き可能な状態にし、動作確認は指示されたホストを利用し、ファイルの読み書きができることを確認すること。