NFSについて
頭字語NFS(ネットワークファイルシステム)は、その主な機能は次のとおりです。ネットワークを通じて、異なるマシン、異なるOSが互いのファイルを共有できるように、
NFSサーバは、NFSクライアントNFSサーバの共有ディレクトリ先端は独自のNFSクライアントをマウントできるようにすることができますので、ローカルディスク内の曲があるように、クライアントは単にネットワークディスクのように、です。
図のマウント構造。
上に示したように、我々はNFSサーバ上の共有ディレクトリ/データ/共有を設定する場合、他のは、NFSサーバが搭載されている独自のローカルディレクトリにこれを伝えることができ、およびサーバー/データを見ることができるNFSクライアントへのアクセスを持っています/シェアのすべてのデータ
NFSは、ネットワークを歩いているので、サーバーとクライアント側の端部との間のデータ伝送のネットワークによって行われ、双方は確かにNFSサーバーは、実際には、データ伝送のために使用するポートを知っているか、NFSがランダムデータ用のポートを選択するであろう、ポートを持っている必要がありますトランスミッション。NFSクライアントとNFSサーバが最後にそれを使用するポートである方法を知っていますか?実際には、NFSサーバは、リモート・プロシージャによって行われているRPC(リモートプロシージャコール)プロトコルを呼び出し、そのため、NFSポート割り当てRPC管理サーバ、データを転送するクライアントは、クライアントのRPCは、サーバーのポートに移動するには、サーバー側のRPCで始まります、ポートに再接続が確立され、データ送信、下記参照します
NFSクライアント/ NFSサーバー、RPC図
コミュニケーションプロセス:
1.まず、RPCサーバー側のサービスを開始し、開いているポート111
2. NFSサーバーサービスを開始し、RPCポートの登録情報
3. RPCクライアントは、サービス、NFS RPCサービスポートのサーバー側にサービス要求を開始します
4.クライアントへのNFS RPCサービスポートのフィードバック情報のサービス側。
NFSクライアントとサーバは、NFSポートによって取得した接続および送信データを確立します。
機械リスト
ホスト名 |
IPアドレス |
オペレーティングシステムのバージョン |
リマーク |
node100 |
172.20.20.100 |
NFSサーバ |
|
node200 |
172.20.20.200 |
NFSクライアント |
実験環境
CentOSの:CentOSのLinuxは、1810年6月7日(コア)を解放します
2つのステーションが動作しています
ホスト名を設定します:
#猫>> / etc / hostsファイル<< EOF
172.20.20.100 node100
172.20.20.200 node200
EOF
NFSサーバーの操作
#回転数-qaのnfs-utilsのrpcbindを
#yumのインストールのnfs-utilsのrpcbindを
ディレクトリを作成します
#1は、mkdir -p /データ/シェア
#chmodの666 /データ/共有/
#猫>>は/ etc /輸出<< EOF
/データ/共有172.20.20.0/24(rw,sync,insecure,no_subtree_check,no_root_squash)
EOF
#1は、mkdir -p /データ/シェア/ソフト/
RPCサービスを開始
#rpcbind.serviceを開始systemctl
[ルート@ node100〜]#psの-ef | grepをするのrpcbind
RPC 15712 1 0 3時41分?午前0時00分○○秒/ sbinに/ rpcbindを-w
ルート15714 8035 0 3時41のPTS / 0午前0時00分○○秒のgrep --color =自動車のrpcbind
[ルート@のnode100〜]#rpcinfoは-pローカルホスト
プログラムVERSプロトポートサービス
100000 4 TCP 111マッパ
100000 3 TCP 111ポートマッパ
100000 2 TCP 111ポートマッパ
100000 4 UDP 111マッパ
100000 3 UDP 111マッパ
100000 2 UDP 111マッパ
NFSサービスを開始
#サービスのNFS開始
[ルート@のnode100〜]#rpcinfoは-pローカルホスト
プログラムVERSプロトポートサービス
100000 4 TCP 111マッパ
100000 3 TCP 111ポートマッパ
100000 2 TCP 111ポートマッパ
100000 4 UDP 111マッパ
100000 3 UDP 111マッパ
100000 2 UDP 111マッパ
100024 1 UDP 40044のステータス
100024 1 tcpの34946個のステータス
20048 mountdのUDP 100005 1
100005 1 TCP 20048 mountdの
20048 mountdのUDP 100005 2
100005 2 TCP 20048 mountdの
100005 3 UDP 20048 mountdの
100005 3 TCP 20048 mountdの
100003 3 TCP 2049のNFS
100003 4 TCP 2049のNFS
100227 3 TCP 2049 NFS_ACL
100003 3 UDP 2049のNFS
100003 4 UDP 2049のNFS
100227 3 UDP 2049 NFS_ACL
100021 1 UDP 37957 nlockmgrを
100021 3 UDP 37957 nlockmgrを
100021 4 UDP 37957 nlockmgrを
100021 1 TCP 43494 nlockmgrを
100021 3 TCP 43494 nlockmgrを
100021 4 TCP 43494 nlockmgrを
設定は/ etc /輸出をロードするかどうか
[ルート@のnode100〜]#showmountは-eローカルホスト
localhostのエクスポートリスト:
/データ/シェア172.20.20.0/24
NFSクライアントのインストールで
#yumをNFS-utilsのインストール
[ルート@ node200〜]#showmountは-e 172.20.20.100
172.20.20.100のエクスポートリスト:
/データ/シェア172.20.20.0/24
NFSクライアントをテスト
#1 MKDIR /ルート/ソフト/
#マウント172.20.20.100:/data/share/soft /ルート/ソフト
[node200ソフト@ルート]#DF -Th
%に搭載された無駄の使用を使用し、ファイルシステムタイプサイズ
の/ dev / sda3とXFS 36G 1.1G 35G 4%/
224M 0 224M 0%/ devのdevtmpfs devtmpfs
tmpfsのtmpfsの235M 0 235M 0%は/ dev / shmに
tmpfsのtmpfsの235M 5.6M 229M 3%/実行
tmpfsのtmpfsの235M 0 235M 0%/ SYS / FS / cgroup内
/ dev / sda1をXFS 897M 127M 771M 15%/ブーツ
tmpfsのtmpfsの47M 0 47M 0%/実行/ユーザー/ 0
172.20.20.100:/data/share/soft NFS4 36G 1.1G 35Gは4%/ルート/ソフト
問題が発生しました
[ルート@ node200〜]#showmountは-e 172.20.20.100
clnt_create:RPC:ポートマッパーの障害 - 受信することができません:エラー番号113(ホストへのNoルート)
iptablesのルールは、原因、解決策を追加しませんでしたので。
まず、ファイアウォールをオフにし、これは全体の×××ではありません。別のiptablesのは、すべてのポートにNFSを追加することができます
本明細書で使用される場合、第一の方法:
systemctlストップfirewalld.service
サービスのiptablesを停止します
関連のパラメータ:
パラメータ |
説明 |
RO |
読み取り専用アクセス |
RW |
読み取りおよび書き込みアクセス |
同期 |
共有リクエストで書かれたすべてのデータ |
非同期 |
NFS要求に応答してデータを書き込むことができます前に、 |
確保します |
1024 NFSのセキュリティ送信するTCP / IPポートを、次の |
安全でありません |
上記のNFSポート1024を送信することにより |
wdelay |
複数のユーザーが、NFSディレクトリを作成したい場合は、グルーピングライト(デフォルト) |
no_wdelay |
複数のユーザーがNFSディレクトリを作成したい場合は、すぐに書き込み、非同期を使用した場合、この設定は必要ありません。 |
隠す |
そのサブディレクトリをNFS共有ディレクトリを共有しません |
no_hide |
NFS共有ディレクトリのサブディレクトリ |
subtree_check |
あなたは親ディレクトリ(デフォルト)を強制するために、サブディレクトリは/ usr / binと同様、NFS検査権限を共有している場合 |
no_subtree_checkコマンド |
親ディレクトリのパーミッションをチェックしないでください。 |
all_squashコマンド |
UIDとGIDのマッピングファイルは、公開ディレクトリに対して、匿名の匿名ユーザーを共有します |
no_all_squash |
予約済み株式のファイルのUIDとGID(デフォルト) |
root_squash |
同じ匿名ユーザー権限(デフォルト)にマッピングされたように、すべてのrootユーザのリクエスト |
no_root_squash |
ルートディレクトリを持つrootユーザーへのフル管理アクセス |
anonuidコマンド= XXX |
匿名ユーザーのUIDにNFSサーバーの/ etc / passwdファイルを指定してください |
anongidコマンド= XXX |
匿名ユーザーのGIDにNFSサーバーの/ etc / passwdファイルを指定してください |