NFSを構成したい
Question
弊社ではポート制限の関係でNetServer機能を用いたIFSのファイル共有が出来ません。
しかし利便性を考え、Windowsからファイル操作やディレクトリ作成等ができるようにしたいという要望がでています。
NFSという機能であれば制限していないポートを用いているようなのですが、構成の仕方を教えていただけませんでしょうか。
Answer
NFS(ネットワーク・ファイル・システム)の概要は次の通りです。
NFS概要:
https://www.ibm.com/support/knowledgecenter/ja/ssw_ibm_i_73/ifs/rzaaxnfs.htm
この記事ではコマンドラインでの設定方法をご案内します。
まずはディレクトリをエクスポートする前に、
STRNFSSVR
というコマンドを実行し、IBM iでNFS関連のデーモンジョブを起動してください。
問題なくNFSが起動していれば、WRKACTJOBでサブシステムQSYSWRKを見た時に下記のジョブが存在している事が確認できます。
- QNFSRPCD RPCBINDデーモン
- QNFSBIOD ブロックI/O (BIO)デーモン
- QNFSGSSD GENERIC SECURITY SERVICE (GSS)デーモン
- QNFSRGYD ネーム・レジストリー(RGY)デーモン
- QNFSNFSD NFSサーバー(SVR)デーモン
- QNFSMNTD マウント(MNT)デーモン
- QNFSNSMD ネットワーク状況モニター(NSM)デーモン
- QNFSNLMD ネットワーク・ロック・マネージャー(NLM)デーモン
次に、以下のコマンドを実行します。
小文字のiを利用するため、日本語環境の場合はホストコードページ939または1399かつCCSID5035の状態で実施してください。
EXPORTFS OPTIONS('-i') DIR('/【共有化するディレクトリパス】') HOSTOPT(('xxx.xxx.xxx.xxx *BINARY 819))
xxxは共有化したいWindowsのIPアドレスです。
コマンド実行後は、上記のように「エクスポート要求が正常に完了した。」というメッセージが表示されます。
次にWindowsのコマンドプロンプトを起動し、
mount 【ASのIP】:【共有化するディレクトリパス】 【共有名】:\
を実行します。これを実行すると、指定したディレクトリをWindows上で共有フォルダとして認識できるようになります。
実行例:
mount 10.5.153.3:/USRDIR S:\
実行例では、10.5.153.3というIPを持つIBM iのIFS領域/USRDIRを、Windows上でSドライブ(S:¥)という名前を割り当て、共有フォルダとして認識させています。
これで設定は完了です。
設定完了後は、Windowsのコマンドプロンプト上の操作で、共有したIFSディレクトリの中を操作することが可能です。
例えば先ほどの実行例で作成した共有フォルダに対し、コマンドプロンプト上で
mkdir S:\USRDIR2
と実行してみます。
すると、上記のようにIFSの/USRDIRの下にUSRDIR2ディレクトリが作成されたことを確認出来ます。
一度マウントしたNFSの設定は、IBM i側ではデーモンを停止(ENDNFSSVR)することで、Windowsでは電源を落とすとマウントが解除されてしまいます。
日常的に共有フォルダを利用する場合は、IBMi起動時にSTRNFSSVRを、Windows起動時にmountコマンドが実行されるようスタートアップに組み込む等しても良いかもしれません。
by 大熊猫橋