4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

NFSサーバーの構築ついて纏めてみる

Last updated at Posted at 2021-01-01

NFSを実現するサービス

サービス名 サーバー クライアント 説明
portmap RPCプログラム番号をTCP/IPポート番号に変換
nfsd ファイルシステムのエクスポートとクライアント要求の処理
mountd リモートファイルシステムのマウントおよびアンマウント

rpc

/etc/rpc
portmapper	100000	portmap sunrpc rpcbind
rstatd		100001	rstat rup perfmeter rstat_svc
rusersd		100002	rusers
nfs		100003	nfsprog
ypserv		100004	ypprog
mountd		100005	mount showmount
  • TCP/UDPポート番号は動的に割りあてられます
  • つまり、RPCクライアントが利用するには、まずポート番号を知ることが必要です
  • portmapはRPCクライアントから問い合わせがあると、対応するサービスのポート番号を返します
  • RPCを利用してサービスを提供するプログラムは、起動時に自分の情報をportmapに登録します
  • RPCサービスの接続状況は、rpcinfo で確認できます
rpcinfo -p
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper

NFSサーバーの設定

サービスを開始するには次の通りです。

systemctl start rpcbind
systemctl start nfs-server
systemctl start nfs-lock

NFSサーバー側で特定のディレクトリを公開することを、エクスポートと言います。
エクスポートするディレクトリは、/etc/exports に記述します。

/etc/exports
/share 192.168.1.0/255.2255.255.0(rw)
/pub   *.example.com(ro)
/etc/exportsのオプション 説明
ro 読み取り専用
rw 読み書き
no_root_squash rootでのアクセス時にroot権限で実行
root_squash rootでのアクセス時に匿名アカウント権限で実行
all_squash 全てのアクセスを匿名アカウント権限で実行
fsid 「0」で疑似ルートにする
nohide クライアント側で非表示にしないようにする

エクスポート状況を表示したり、/etc/exports の変更を反映させるには、exports を使います。

exportsのオプション 説明
-a 全てのディレクトリをエクスポート/アンエクスポート
-r 全てのディレクトリを再エクスポート
-u アンエクスポート
-v 詳細表示

エクスポートしているディレクトリを調べるには、showmount を使う。

showmountのオプション 説明
-a クライアントのホスト名とマウントしているディレクトリを表示
-e 指定したホストでエクスポートしているディレクトリを表示

NFSの統計情報を調べるには、nfsstat を使う。

nfsstatのオプション 説明
-s NFSサーバー側の統計のみ表示
-c NFSクライアント側の統計のみ表示
-n NFSの統計のみ表示
-r RFCの統計のみ表示
-o net ネットワーク層の統計を表示

NFSクライアントの設定

  • NFSを使って、リモートファイルシステムをマウントするには、mount を使う
  • ファイルタイプシステムには、nfs を指定します
  • ローカルファイルシステムには、マウントポイントとなるディレクトリを用意しておきます
mount -t nfs linux:/pib /mnt/nfs
NFS特有のマウントオプション 説明
bg マウントに失敗してもバックグラウンドで試行
fg フォアグラウンドで実行
soft ソフトマウント
hard ハードマウント
intr ハートマウント時の割り込みを許可
retrans ソフトマウントの場合の再試行回数
nolock ファイルのロックを行わない
rsize= 読み取りのブロックサイズ
wsize= 書き込みのブロックサイズ

ハードマウントとソフトマウントの違い

/etc/fstab に記述しておくと、システムの起動時に、リモートファイルシステムを自動的にマウントできます。

linux:/pib /mnt/nfs nfs defaults 0 0 

リンク

AWSには、EFSがあるので不要かと思われるが、↓の記事が上手く纏められていた。
EC2上にNFSサーバ/クライアント構築する
✳️NFSv4以降の手順なので、portmap、rpcbind、nfslockは不要

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?