まず、NFSとは何か
NFSは、ネットワーク・ファイル・システムで、ネットワーク・ファイル・システムの略です。1984年に米国Sun Microsystems社が開発した分散ファイルシステムで使用するための協定は、公開しました。各個人と共有データに異なるマシン、異なるオペレーティングシステムを許可するために、ネットワークを介して機能するので、ネットワークディスクへのアクセスに位置するクライアントアプリケーションのデータ・サーバということは、Unixライクなシステム間のディスクファイルを共有するための方法でありますその主な機能は、ネットワークが異なるマシン互いのシステム間でファイルやディレクトリを共有できるようにすることです。NFS NFSサーバは、NFSサーバの共有ディレクトリ先端までのクライアントは、ローカルのNFSクライアントにマウントできるようにすることができます。ローカルのNFSクライアント・マシンはそうでは、NFSサーバは、あなたのディスクパーティションやディレクトリ場合は、ディレクトリを共有しました。
NFSサービスは、主に音楽、ビデオ、音楽の静的ファイルとしてなどで、ファイル共有のために使用されています。
二、NFSサービス接続原則
NFSは、ネットワークを介してサーバとクライアントの間のデータ伝送です。両者の間でデータを転送するための伝送に対応するネットワークポートを持っていることになるでしょう。エンド送信データに対してどのようなネットワークポートでNFSサーバは、NFSサーバは、実際のデータ送信のためにランダムに選択されたポートです。どのエンドでのNFSクライアントとNFSサーバのノウハウがあることをどのポートを使用するには?
実際には、NFSサーバーを介してリモートプロシージャコール(リモート・プロシージャ・コールは、RPCという。)を達成するためのプロトコル/サービスを。NFS RPCサービスがポートの管理を統一することは、クライアントとサーバーが通信を介してNFS RPC-来る最初のポートを用い、これは、データの送信のために、これらのポート(1024未満)の再使用後。ポートは、ポート割り当てNFS RPC管理サーバであるクライアントデータが渡されると、クライアントのRPCは、RPCサーバーであることをサーバーに話をし、その後ポートへの接続を確立し、その後、データを転送しています。
最初のNFSが始めたとき、それはいくつかのランダムなポートを使用します、そして、NFS RPCは、これらのポートを登録することになります。RPCは、これらのポートを記録します。そして、RPCは、クライアントが記録されたNFS RPCのサービス側がクライアントポート情報を教えてくれることを要求した場合、クライアントを待つ111ポート、RPCリクエストを開きます。
NFSサーバを起動する前に、あなたが最初に(すなわちポートマップサービス、以下同じ)RPCサービスを開始しなければならないか、NFSサーバがRPCサービスが再起動された場合は、ほかに、RPCサービスエリアに登録することができなくなり、既に登録されている優れたNFSポートのデータが失われます。そのため、NFS RPCサービス管理プログラムのこの時点でRPCを再登録する再起動する必要があります。特別な注意:NFS、一般的に変更された設定ファイルはNFSを再起動する必要はありません、コマンドを直接実行します
/etc/init.d/nfs reload
三、NFSサービス接続プロセス
- 1)まず、RPCサーバー側のサービス、および開いているポート111を開始
- 2)NFSとRPCポート登録情報が有効
- 3)クライアントが開始するRPC(ポートマップサービス)、NFSサーバポートサーバ側のRPC(ポートマップ)にサービス要求
- 4)サーバーのRPC(ポートマップ)サービスフィードバックは、クライアントにポート情報をNFS。
- NFS。5)はNFSクライアントとサーバポートで確立された接続とデータ送信を取得します
ファイブ関連ソフトウェアがインストールされ
プロトコル:
RPC(リモートプロシージャコールプロトコル)リモートプロシージャコールプロトコル
ソフトウェア:
NFS-utils- *:含むNFSコマンドとモニタリングの手順は、
セキュリティサポートNFS RPCサービス接続:*をrpcbind-
注:通常の状況下では、デフォルトのシステムパッケージインストールなど
のrpcbindポートマップの前に呼び出さセントOS6 *。
yum install nfs -y
六、NFSサービスの設定
NFSサーバの設定は、適切なコンフィギュレーションファイルに設定する必要があり、その後、NFSサーバを起動し、比較的簡単です。
NFSサービスの設定ファイルは、/ etc /輸出され、NFSファイルは、メインの設定ファイルですが、システムはデフォルト値はないので、このファイルが存在しないので、あなたは、コンフィギュレーションファイルの内容の内部を作成し、書き込みを手動に使用のvimにしたいこと。
共享目录 客户机(访问权限,用户映射,其他)
クライアントコンピュータ
- ホストはIPアドレスを指定します。100.100.100.200
- すべてのホスト指定されたサブネット:100.100.100.0
- www.love1.com:ホストのドメイン名を指定します
- 指定されたドメイン内のすべてのホスト:. * Love1.com
- すべてのホスト:*
アクセス
- 読み取り専用の出力ディレクトリを設定します。ROを
- 設定された出力ディレクトリの書き込み:RW
ユーザーマッピング
- root_squash:匿名(nfsnobody)ユーザーのuidとgidにマッピングされたルート・ユーザ・アクセス;(デフォルトは有効にします)
- no_root_squash:サーバー管理者権限の管理に予約の管理者権限。
- all_squashコマンド:リモートアクセスユーザとそれぞれのグループは、UID指定し、匿名ユーザーのGIDにマッピングされ、
anonuidコマンド= XXX:すべてのユーザーのリモートアクセスが指定されたuid匿名ユーザーにマッピングされている
すべてのユーザグループのリモートアクセス:anongidコマンド= XXX GIDは、指定したアノニマスグループアカウントにマッピングされています
他の
- 同期:ディスク・バッファ・メモリに書き込まれた同期データ、効率は低いですが、(同期)データの一貫性を保証することができます。
- 非同期:ディスクに書き込まれ、必要に応じて(非同期)、メモリバッファに格納された第1のデータ
七、NFSサービス管理
1、NFSサーバを起動します
service rpcbind start
service nfs start
2、NFSサーバステータスの問い合わせ
service rpcbind status
service nfs status
図3は、NFSサーバーを停止する
NFSの実行を停止するには、(NISなど)他のサービスのためのシステムは、rpcbindのサービスを停止する必要が要求されないときにrpcbind NFSサービスを停止する前にサービスを停止する必要があります。
service nfs stop
service rpcbind stop
4、NFSサーバの自動起動状態の設定
2345の設定ブートを、デフォルトの起動レベル
chkconfig --level rpcbind on
chkconfig --level nfs on
ポートRPCサーバーがオンになっている5.チェック
rpcinfo –p localhost
八回の実験
設定ファイルを変更するディレクトリを作成します。1.
[root@centos ~]#mkdir /share
[root@centos ~]#vim /etc/exports
/share 100.100.100.103(rw)
[root@centos ~]#service nfs restart
[root@centos ~]# exportfs
/share 100.100.100.103
2、ビューには、サービスを共有しました
[root@centos ~]# showmount -e 100.100.100.102
Export list for 100.100.100.102:
/share 100.100.100.103
3、クライアントのマウント
[root@centos ~]# mkdir /share
命令格式:mount NFS服务器IP:共享目录 本地挂载点目录
[root@centos ~]# mount 100.100.100.102:/share /share
#mount –o vers=3 共享 本地 #指定挂载使用nfs V3版本(避免同步延迟)
#[root@centos /]# mount -o vers=3 100.100.100.102:/share /share
[root@centos ~]# mount | grep /share
100.100.100.102:/share on /share type nfs (rw,vers=4,addr=100.100.100.102,clientaddr=100.100.100.103)
[root@centos share]# echo haha>1.txt
-bash: 1.txt: Permission denied
#此时,无法写入文件,因为没有文件系统权限,/share目录所属用户是root,我们进行挂载时,用户为nfsnobody,因此没有权限。有多种方法,这里示例两种。
1)修改配置文件
[root@centos ~]# vim /etc/exports
/share 100.100.100.103(no_root_squash,rw)
[root@centos share]# echo haha>1.txt
[root@centos share]# ll
total 4
-rw-r--r-- 1 root root 5 Jan 1 21:38 1.txt
2)修改文件系统权限
chmod 777 /share
4、アンロードと自動的にマウント
アンインストール:
1. 卸载客户端的挂载目录
umount 挂载点
2. 停止服务器端的共享
exportfs –au
自動的にマウント
[root@centos ~]# vim /etc/fstab
格式:
<server>:</remote/export> </local/directory> nfs < options> 0 0
100.100.100.102:/share /sharenfs defaults 0 0
#100.100.100.102:/share /share nfs defaults,vers=3 0 0(指定版本)
[root@centos ~]# mount –a
exportfsコマンド
我々は、/ etc /輸出を編集した場合は、NFSを起動した後、あなたは、NFSにそれを再起動しようとしていますか?次のように我々はのexportfsはすぐに変更を有効にするためにコマンドを使用することができます。この時間は、コマンドの形式は次のとおりです。
格式:exportfs [-aruv]
-a 全部挂载或卸载 /etc/exports中的内容
-r 重新读取/etc/exports 中的信息 ,并同步更新/etc/exports、/var/lib/nfs/xtab
-u 卸载单一目录(和-a一起使用为卸载所有/etc/exports文件中的目录)
-v 在export的时候,将详细的信息输出到屏幕上。
具体的な例:
# exportfs -au 卸载所有共享目录
# exportfs -ra 重新共享所有目录并输出详细信息
rpcinfoはコマンド
rpcinfo -p 可以查看出RPC开启的端口所提供的程序有哪些,其中nfs 开启的是2049,portmapper(rpcbind) 开启的是111,其余则是rpc开启的