第1章はじめにNFS
1.1 NFSとは何ですか?
NFSは、中国の意味はネットワークファイルシステムで、ネットワークファイルシステムの頭文字です
その主な機能は、別のホストを可能にするために、ネットワーク(一般的にローカルエリアネットワーク)を介して行われます
NFSは、ローカルファイルストレージサービスです。
一つの欠点:Windows上で使用することはできません
あなたが達成したい場合は、WindowsおよびLinuxシステムでは、ファイルのデータ共有を併用します
FTP(FTPサービスの展開)
Bサンバサービス
2つの欠点:並行性の高いシナリオと同様に、保存されたシーンよりも、シーンが比較的高いデータセキュリティ要件
分散ストレージMoosefs(MFS)を必要としない、GlusterFS、FastDFSサーバは、もはや実際のファイル情報を見ることができます
1.2 NFS共有ネットワークファイルシステムのエンタープライズアプリケーション
写真オーディオビデオアクセサリーアバターをアップロードするには、Webサーバーのユーザーに格納されたデータのための情報の主な情報源
1.3 NFSファイルシステムは意義が存在します
データの共有、均一かつ一貫性のあるデータ
ソフトウェアの実装:ローカル・ファイル・システムNFS分散ファイルシステムMFS
ハードウェア:IBM(メインフレームミニコンピュータ・サーバ・ストレージDS V7000 V5000)オラクルEMC = IOEを行きます
インターネットフィールド(サミットの波)についての詳細を学ぶために開発--- AT&XX(ベル研究所)
フォン・ノイマン
1.4 NFSネットワーク・ファイル・システムの動作
NFSサーバが共有ディレクトリ/ビデオを設定した後、他の人が(実際には、クライアントのローカルマウントポイントにマウント示し、この共有ディレクトリ/ビデオを使用することができますNFSサーバー側のクライアントへのアクセス権を持っています、ディレクトリ、ディレクトリ自在図で)自分自身を指定することができるマウントポイント。10-5 2つのクライアントNFSは、それぞれ、同じでなくてもよい点に異なるクライアントマウント、ローカル/ V /ビデオ及び/ビデオのためのマウントポイント。
クライアントの後、完成マウントする権利は、ディレクトリのうちNFSサーバー/ビデオ共有内のすべてのデータへのポイントNFSクライアント/ V /ビデオまたは/ビデオカタログをマウントすることができます。クライアントに表示する場合は、NFSサーバー/ビデオ・カタログは、クライアントのローカル・ディスク・パーティションまたはディレクトリに相当し、ほとんど使用の違いを感じ、NFSサーバーのNFS共有のアクセス許可と共有ディレクトリのローカルシステム権限に基づき付与されました限り、指定されたNF $クライアントのマウント/ビデオまたは/ V /ビデオカタログの操作などのデータを簡単にNFSのサーバー側で/ビデオディレクトリにアクセスすることができます。
第2章NFSネットワーク・ファイル・システムは、2つのサービスの焦点を理解します
2.1 RPCサービス
2.2 NFSサービス
2.3 NFS要求データフロー
データ処理を要求したNFS NFSクライアントを経由してファイルサーバにアクセスするためのプログラムにアクセスする場合は、次のとおりです。
01.まず、ネットワークを介して、NFSサーバに終了しますNFSクライアントNFSファイルアクセス要求RPCサービス(rpcbindサービス)の場合、NFSクライアント(つまり、サーバプログラムの実行)上のプログラムによって発行されたWebサイトのユーザプログラムを訪問RPCサービス(rpcbindサービス)ポート111回のNFSファイルアクセスが発行されるクエリ要求。
02.NFSサーバー側のRPCサービス(rpcbindサービス)の後、対応する登録NFSポートを見つけNFSクライアントのRPCサービス(rpcbindサービス)を通知します。
このとき03、正しいポートを取得するためにNFSクライアント、およびデータラインアクセスNFSデーモン。
04.NFSクライアント後にサイトのユーザーがアクセス動作を完了することと、結果へのアクセスをユーザに知らせるために、成功したフロントエンドのアクセスプログラムに返されたデータにアクセスします。
機能はNFS RPCサービス(rpcbindサービス)の登録に必要とされるため、ポート番号(ポート番号)PID.NFSホストに対応する様々な機能NFSサービスを取得する唯一のRPCサービスは、IPおよびその他の情報を聞いていますNFSクライアントは、RPCサービスのお問い合わせへの正しいポートを見つけることによることができます。言い換えれば、NFSは、サービスを提供するために、成功したRPCサービスになるように支援を必要とします。以上のことから、我々は、NFSクライアントとNFSサーバーの両方のことを結論付けることができますが、NFSを使用する場合、RPCサービスを開始する必要があります、サービスが開始された後、NFSのRPCサービスは、NFSクライアントサービスを開始せず、開始する必要があります私たちは、RPCサービスを開始する必要があります。
第3章NFS実用的な操作
3.1 NFSサーバの展開プロセス
最初のマイルストーン - NFSサービス関連のソフトウェアをインストールし、ソフトウェアがインストールされていることを確認
ます。rpm -qa | grepのNFS
ます。rpm -qa | grepをのRPC
#のrpcbindのnfs-utilsのサービスプログラムをインストールし、インストールが成功したことを確認
yumを-yのnfs-utilsのrpcbindをインストール
RPM -qaのnfs-utilsのrpcbindを
#セカンドマイルストーン - NFSプロフィールを書きます
NFSの設定ファイルは、デフォルトの/ etc /輸出で存在します
vimのは/ etc /輸出
20170220での共有のoldboyによって#share /データ
/データ172.16.1.0/24(rw,sync)
最初の部分:/データ - 共有ディレクトリ情報を指定します
第二部:172.16.1.0/24は - セグメントを表すネットワークセグメント情報を指定し、あなたが私のローカル上の共有ディレクトリをマウントするホストを指定することができます
パートIII:(RW、SYNC) - 、共有情報を定義するパラメータを表します。
共有ディレクトリ設定への読み取りおよび書き込み権限のためのrw
同期同期、データが最初にNFSサーバのメモリに書き込まれ、同期はすぐに==内のディスクストレージハードディスクに指示します
#第三マイルストーン:共有ディレクトリを作成し、設定したアクセス権
MKDIR /データ-p
chownコマンド-R nfsnobody.nfsnobody /データ
説明:あなたは、ソフトウェアNFSをインストールすると、NFS共有ディレクトリ管理ユーザーnfsnobodyは、ユーザーが自動的に作成作成する必要はありません
#第四マイルストーン:サービスの開始
まず、開始、RPCサービス
/etc/init.d/rpcbind開始
rpcbindサービスは、ビューを開始します
[ルート@ nfs01〜]#psの-ef | grepをするのrpcbind
RPC 4050 1 0 10:55?午前0時00分○○秒のrpcbind
ルート4054 3878 0 10時55 PTS / 1午前0時00分00秒のgrep --color =自動車のrpcbind
[ルート@のnfs01〜]#netstatの-lntup | grepを111
4050 / rpcbindのをLISTEN 0.0.0.0:* TCP 0 0 0.0.0.0:111
TCP 0 0 ::: 111 ::: * 4050 / rpcbindに聞きます
UDP 0 0 0.0.0.0:111 0.0.0.0:* 4050 / rpcbindに
UDP 0 0 ::: 111 ::: * 4050 / rpcbindに
[ルート@のnfs01〜]#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サービス
/etc/init.d/nfs開始
NFSサービスが開始された後、情報を表示します
[ルート@のnfs01〜]#psの-ef | grepのNFS
ルート2 0 10:58 4112?午前0時00分○○秒[nfsd4]
ルート2 0 10:58 4113?午前0時00分○○秒[nfsd4_callbacks]
ルート2 0 10:58 4114?午前0時00分○○秒[nfsdの】
ルート2 0 10:58 4115?午前0時00分○○秒[nfsdの】
ルート2 0 10:58 4116?午前0時00分○○秒[nfsdの】
ルート2 0 10:58 4117?午前0時00分○○秒[nfsdの】
ルート2 0 10:58 4118?午前0時00分○○秒[nfsdの】
ルート2 0 10:58 4119?午前0時00分○○秒[nfsdの】
ルート2 0 10:58 4120?午前0時00分○○秒[nfsdの】
ルート4121 2 0 10:58?午前0時00分○○秒[nfsdの】
ルート4156 3878 0 10:59のPTS / 1午前0時00分00秒のgrep --color =オートNFS
[ルート@のnfs01〜]#netstatの-lntup | grepのNFS
[ルート@のnfs01〜]#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マッパ
100011 1 UDP 875 rquotad
100011 2 UDP 875 rquotad
100011 1 tcpの875 rquotad
100011 2 tcpの875 rquotad
33411 mountdのUDP 100005 1
100005 1 TCP 30112 mountdの
57676 mountdのUDP 100005 2
100005 2 TCP 47232 mountdの
100005 3 UDP 52338 mountdの
100005 3 TCP 22981 mountdの
100003 2 tcpの2049のNFS
100003 3 TCP 2049のNFS
100003 4 TCP 2049のNFS
100227 2 tcpの2049 NFS_ACL
100227 3 TCP 2049 NFS_ACL
100003 2 UDP 2049のNFS
100003 3 UDP 2049のNFS
100003 4 UDP 2049のNFS
100227 2 UDP 2049 NFS_ACL
100227 3 UDP 2049 NFS_ACL
100021 1 UDP 64834 nlockmgrを
100021 3 UDP 64834 nlockmgrを
100021 4 UDP 64834 nlockmgrを
100021 1 TCP 29200 nlockmgrを
100021 3 TCP 29200 nlockmgrを
100021 4 TCP 29200 nlockmgrを
[ルート@ nfs01〜]#showmountは-e 10.0.0.31
10.0.0.31のエクスポートリスト:
[ルート@のnfs01〜]#/etc/init.d/nfs再起動
NFSデーモンをシャットダウン:[OK]
NFS mountdをシャットダウン:[OK]
NFSクォータをシャットダウン:[OK]
[OK]:RPCのidmapdをシャットダウン
NFSサービスの開始:[OK]
NFSクォータを起動する:[OK]
NFS mountdを開始:[OK]
NFSデーモンの起動:[OK]
開始RPCのidmapd:[OK]
[ルート@ nfs01〜]#showmountは-e 10.0.0.31
10.0.0.31のエクスポートリスト:
/データ172.16.1.0/24
これまでのところ:サーバー・デプロイメント構成は、完全なNFSクライアントの展開プロセスであります
3.2 NFSクライアントの展開プロセス
最初のマイルストーン:何のソフトウェアがないことを確認してくださいは、NFS RPCサービスソフトウェアのインストールと展開を行い、
#チェックソフトウェアがインストールされています
#ソフトウェアをインストールします。
yumのインストールのrpcbindのnfs-utilsの-y
PS:ソフトウェアは、NFSをインストールした後、NFSサービスを起動する必要はありません。
rpcbindのソフトウェアがインストールされたら、rpcbindサービスを開始することはできません
ソフトウェアがインストールされない場合は、NFSの問題が発生します
クライアントはshowmountminglingを使用することはできません
BのNFSクライアントは、ファイルシステムの種類を認識しません。
第二のマイルストーン:rpcbindのサービスを開始
/etc/init.d/rpcbind開始
第三マイルストーン:ディレクトリがマウントを共有することができるかどうか、NFSサーバーをチェック
[ルート@ nfs01〜]#回転数-qf `showmount`
NFS-utilsの-1.2.3-75.el6.x86_64
説明:showmountは使用は、ソフトウェアは、NFS-utilsのをインストールする必要があります
第四マイルストーン:NFSクライアントがマウントしました
-t nfsの172.16.1.31:/data / mntにマウント
第五マイルストーン:テストをチェック
[ルート@バックアップ〜]#DF -h
ファイルシステムのサイズは%に搭載された無駄の使用を使用します
の/ dev / sda3と8.8G 2.0G 6.4gの24%/
491M 0 491M 0%の/ dev / shmはtmpfsの
/ dev / sda1を190M 40M 141M 22%/ブーツ
172.16.1.31:/data 8.8G 1.6G 6.8G 19%/ MNT
サーバーの共有ディレクトリのNFSで実行された操作に相当するデータへのクライアントの追加および削除#NFSは、ローカル
[ルート@バックアップMNT]#タッチoldboy.txt
タッチ: ' `oldboy.txt触れることはできません。アクセス許可は拒否されました
[ルート@バックアップMNT]#タッチoldboy.txt
[ルート@バックアップMNT]#のLL
合計0
-rw-R - r--の1 nfsnobodyのnfsnobody 0 10月13日11時24 oldboy.txt
[ルート@バックアップMNT]#エコー "HQ編danchun"> oldboy.txt
[ルート@バックアップMNT]#猫oldboy.txt
HQ編danchun
[バックアップMNT @ルート]#RM -f oldboy.txt
[ルート@バックアップMNT]#のLL
合計0
この時点で、クライアントの展開プロセスが完了しました
第4章知識の拡大
4.1 NFSサービス関連のプロセス情報の説明
rpcinfoは-p localhostを
サービスまたはプロセス名 |
説明 |
ポートマッパー |
rpcbindのプロセス・サービス(centod5 protmap centos6のrpcbind) |
rquotad |
ディスククォータのプロセス |
mountdの |
マウント・サーバ・プロセスは、提供するクライアントは、オペレーションを実装します |
NFS / NFS_ACL |
NFSサービスプロセス |
rpc.idmapd(重要) |
(名マッピングデーモン)を圧縮するためのマッピングユーザーまたはユーザー |
4.2 NFSサーバの設定が最初からNFSサービスブートをrpcbindに
[ルート@のNFSサーバ〜]#chkconfigをするのrpcbindに
NFS上の[ルートのNFSサーバ@〜]#chkconfigをします
4.3 NFSの設定ファイル説明書
公式設定例
例
#サンプルの/ etc / exportsファイル
/マスター(RW)信頼できる(RW、にno_root_squash)
* .local.domain(RW)PROJ /プロジェクト
@trustedは/ usr * .local.domain(RO)(RW)
/ホーム/ジョーPC001(RW、all_squashコマンド、anonuidコマンド= 150、anongidコマンド= 100)
/パブ*(RO、安全でない、all_squashコマンド)
/ SRV / WWWの-sync、@external @trusted RWサーバー(RO)
/ FOO 2001:DB8:9:E54 :: / 64(RW)192.0.2.0/24(rw)
/ buildhost [0-9] .local.domain(RW)を構築
エンタープライズ本番環境の一般的なNFSの設定例:
共通フォーマットの説明 |
ディレクトリクライアントのIP共有へのアドレスまたはIP セグメント(参照1。2を...。 |
設定例
|
/データ10 0.0 0/24(RW、SYNC) 説明:クライアントが読み書きすることができますし、データを同期中に、サーバーのディスクに書き込まれます 注:24とノースペース「(」の間
|
設定例二
|
/data10.0.00/24(rw,sync,allsquash,anonuid=2000,anongid=2000) 説明:クライアントが読み書きすることができます、とよく書かれたデータ同期サーバのディスク、ユーザーのUIDとGIDとクライアント構成の早期生産環境を指定します。そして、この場合には、必要なものは何もUIDは、65534であることを占めnfsnobodyすべてのサーバーでない場合は、マルチクライアントNFSに適したものは、単一のディレクトリサービスを共有しています。デフォルトのUID 65534の早期centos5.5システムnfsnobody場合は、これらのサーバーは、NFSディレクトリを共有する場合は、この時点で、アクセスの問題があるだろう、必ずしもではありません。 |
設定例スリー
|
/ホーム/ oldboy 10.0.0.0/24(RO) 説明読み取り専用シェア 用途:例えば、本番環境で、開発者は、運用サーバーのログのニーズを確認する必要がありますが、運用サーバーを開発する許可を与えたくない、NFSクライアント・サーバ・テストから本番サーバー上のビューを提供するために開発することができますlogディレクトリ(NFS共有)許可は、もちろん、これは行くための唯一の方法ではありません、例えば、プログラムは、ログ・ショーを収集するために、開発者が表示するために、または他の手段によってテストサーバーを記録するためにログ送信することができます |
の/ etc /輸出が設定フォーマットファイル:
NFSクライアントNFSディレクトリアドレス1(パラメータ1、パラメータ2、...)クライアントアドレス2(パラメータ1、パラメータ2、...)を共有しました
若しくは
NFSクライアントNFSディレクトリアドレス1(パラメータ1、パラメータ2、...)を共有しました
NFSクライアントNFSは、ディレクトリのアドレス2(パラメータ1、パラメータ2、...)を共有しました
注:NFSサービスのデフォルトの認証なしのメカニズム、セキュリティがより良い分散ファイルシステムであります
唯一のセキュリティのためのプロファイルのネットワークアドレス情報を制御することにより、
実用的な操作:
NFSクライアントのテスト:
[ルート@バックアップMNT]#タッチoldboy.txt
[ルート@バックアップMNT]#のLL
合計0
-rw-R - r--の1 nfsnobodyのnfsnobody 0 10月13日12:33 oldboy.txt
[ルート@バックアップMNT]#SU - oldboy
[oldboy @バックアップ〜] $のCDを/ mnt
[oldboy @バックアップMNT] $タッチoldboy1.txt
[oldboy @バックアップMNT] $のLL
合計0
-rw-R - r--の1 nfsnobodyのnfsnobody 0 10月13日12時34 oldboy1.txt
-rw-R - r--の1 nfsnobodyのnfsnobody 0 10月13日12:33 oldboy.txt
NFSの設定パラメータの練習:all_squashコマンド
NFSサーバの設定:
[ルート@のnfs01データ]#のvimのは/ etc /輸出
20170220での共有のoldboyによって#share /データ
/データ172.16.1.0/24(rw,sync,no_all_squash,root_squash)
#設定変更は、スムーズな再起動のNFSサービスを必要とします
/etc/init.d/nfsリロード
NFSクライアントのテスト:
[ルート@バックアップ/]#アンマウントを/ mnt
[ルート@バックアップ/]#-t nfsの172.16.1.31:/data / mntにマウント
[ルート@バックアップ/]#DF -h
ファイルシステムのサイズは%に搭載された無駄の使用を使用します
の/ dev / sda3と8.8G 2.0G 6.4gの24%/
491M 0 491M 0%の/ dev / shmはtmpfsの
/ dev / sda1を190M 40M 141M 22%/ブーツ
172.16.1.31:/data 8.8G 1.6G 6.8G 19%/ MNT
[ルート@バックアップ/]#のCDを/ mnt /
[ルート@バックアップMNT]#のLL
合計0
-rw-R - r--の1 nfsnobodyのnfsnobody 0 10月13日12時34 oldboy1.txt
-rw-R - r--の1 nfsnobodyのnfsnobody 0 10月13日12:33 oldboy.txt
[ルート@バックアップMNT]#タッチoldboy2.txt
[ルート@バックアップMNT]#SU - oldboy
[oldboy @バックアップ〜] $のCDを/ mnt
[oldboy @バックアップMNT] $タッチoldboy3.txt
タッチ: ' `oldboy3.txt触れることはできません。アクセス許可は拒否されました
練習NFSの設定パラメータ:にno_root_squash(rootユーザーは圧縮マップを実行しません)
NFSサーバービューの共有データディレクトリのパーミッション
[ルート@のnfs01データ]#のLL
合計0
-rw-R - r--の1 nfsnobodyのnfsnobody 0 10月13日12時34 oldboy1.txt
-rw-R - r--の1 nfsnobodyのnfsnobody 0 10月13日12時38分oldboy2.txt
-rw-R - r--の1 nfsnobodyのnfsnobody 0 10月13日12:33 oldboy.txt
NFSサービス構成の変更:
[ルート@のnfs01データ]#のvimのは/ etc /輸出
20170220での共有のoldboyによって#share /データ
/データ172.16.1.0/24(rw,sync,no_root_squash)
#設定変更は、スムーズな再起動のNFSサービスを必要とします
/etc/init.d/nfsリロード
NFSクライアントのテスト:
[ルート@バックアップ/]#アンマウントを/ mnt
[ルート@バックアップ/]#-t nfsの172.16.1.31:/data / mntにマウント
[ルート@バックアップ/]#DF -h
ファイルシステムのサイズは%に搭載された無駄の使用を使用します
の/ dev / sda3と8.8G 2.0G 6.4gの24%/
491M 0 491M 0%の/ dev / shmはtmpfsの
/ dev / sda1を190M 40M 141M 22%/ブーツ
172.16.1.31:/data 8.8G 1.6G 6.8G 19%/ MNT
[ルート@バックアップ/]#のCDを/ mnt
[ルート@バックアップMNT]#のLL
合計0
-rw-R - r--の1 nfsnobodyのnfsnobody 0 10月13日12時34 oldboy1.txt
-rw-R - r--の1 nfsnobodyのnfsnobody 0 10月13日12時38分oldboy2.txt
-rw-R - r--の1 nfsnobodyのnfsnobody 0 10月13日12:33 oldboy.txt
[ルート@バックアップMNT]#タッチoldboy4.txt
[ルート@バックアップMNT]#のLL
合計0
-rw-R - r--の1 nfsnobodyのnfsnobody 0 10月13日12時34 oldboy1.txt
-rw-R - r--の1 nfsnobodyのnfsnobody 0 10月13日12時38分oldboy2.txt
-rw-R - r--の1ルートルート0 10月13日12時45分oldboy4.txt
-rw-R - r--の1 nfsnobodyのnfsnobody 0 10月13日12:33 oldboy.txt
[バックアップMNT @ルート]#RM ./* -rf
[ルート@バックアップMNT]#のLL
合計0