I.はじめに
NFS(ネットワークファイルシステム、ネットワークファイルシステム)は、主な機能は、間でファイルやディレクトリを共有することができます別のホスト・システムを可能とするネットワーク(一般的にローカル・エリア・ネットワーク)を介してです。サーバ(例えばウェブとして一般的にアプリケーションサーバ)NFSクライアントは、(マウントポイントが次のものである)NFSディレクトリはNFSクライアントのローカルシステムにマウント(マウント)方法を介して装着されているデータを共有することができます。クライアントのローカルな外観からは、NFSサーバの共有ディレクトリには、クライアント自身のディスクパーティションやディレクトリのようなものですが、実際にそれがディレクトリリモートNFSサーバです。
Windowsのシステムネットワークドライブの割り当てなどのNFSネットワークファイルシステム、これもどこサンバLinuxシステム同様のサービスです。しかし、通常の状況下で、Windowsのネットワーク共有サービスやオフィスのLANを共有するためのサンバサービス、および中小NFSクラスタアーキテクチャの一般的なバックエンドのデータ共有のためのインターネットサイト。
画像BBS製品、アクセサリー:シーンがエンタープライズクラスタアーキテクチャで動作するには、NFSネットワークファイル共有システムは、一般的に、ビデオ、画像、添付ファイルやその他の静的リソースファイル、例えば、NFS共有に配置されますファイルをアップロードするには通常、サイトのユーザーを保存するために使用されていますとき頭、その後、すべてのフロントエンドノードはNFS上のストレージリソースを読み込み、これらの静的リソースにアクセス(ウェブBBSプログラムは、NFS共有に入れていないことに注意してください)。NFSは、私が前に言ったように、中小ウェブサイトのアプリケーションの会社、NFSを使用することに加えて、大企業やポータルの高い周波数データ・ストレージ・サービスの最も一般的に使用されるインターネット・システム・アーキテクチャの一つであるだけでなく、より複雑な分散ファイルシステムを使用することができますこのようmoosefs(MFS)、GlusterFS、FastDFSが好きです。
例えば、WEB1ユーザーがサーバーに画像をアップロードした後、この絵のBへのユーザーアクセスを聞かせて、それにつながったこのWEB2上の画像がないので、分散されたユーザは、WEB2へのアクセス要求のBの結果は、ユーザーのアップロードを見ることができませんこの時点で、共有メモリがある場合の画像は、要求ユーザは、配布又はWEB2にWEB1、最終的に共有ストレージに保存され、ユーザがBピクチャにアクセスするときにかかわらず、要求のWEB1又はWEB2に分配いずれかに写真をアップロードしますあなたが必要なリソースへのアクセス権を持つことができますので、最終的に我々は、共有ストレージを探しに行きます。この共有ストレージの場所商用オープンソースのソフトウェアとハードウェアを介し、インターネットSMEクラスタアーキテクチャは、通常のPCサーバとNFSネットワークファイルシステムの実装を設定します。
次のようにプロダクションクラスタなし、NFSのストレージアクセス図が共有されていません。
次のように製造クラスタは、NFSのストレージアクセス図を共有しました。
概略的なNFSシステム、次のように:
NFSサーバが共有ディレクトリ/テストを設定した後、他の人がNFSサーバー側のクライアントへのアクセスは、この共有ディレクトリ/テストは、実際にローカルマウントポイントのクライアント(にディレクトリをマウント使用することができます持って、このぶら下げディレクトリは、必要に応じて、それらの点を指定することができるアップロード)、両図NFSクライアントがマウントポイント、ポイント異なるクライアントが同じでなくてもよい、および/ MNT及び/ tmpにローカルマウントされています。
クライアント完成マウントする権利が完了したら、NFSクライアントの/ mntまたは/ tmpディレクトリは/ NFSサーバを表示共有ディレクトリ内のすべてのデータをテストするためのポイントをマウントすることができます。ほとんどのNFSサーバーのNFS共有のアクセス許可と共有ディレクトリのローカルシステム権限の下で付与され、使用の違いを感じ、クライアント、/ testディレクトリに、クライアントのローカル・ディスク・パーティションまたはディレクトリのNFSサーバー側の同等のものを表示しているとき限り、指定されたNFSクライアント上で操作をマウントディレクトリ/ MNTとしてまたは/ tmpの、データを容易にNFSでサーバ側の/ testディレクトリにアクセスすることができます。
次の二つのLinuxは、NFSサービスを設定する準備ができてホスト:
NFSサーバ:ホスト名のマスター・ノードは、IPアドレスは192.168.150.140です
NFSクライアント:ホスト名backupnodeは、IPアドレスは192.168.150.139です
第二に、NFSサーバの設定
CentOSのNFSサービスの2つのパッケージ(UFS-utilsのとrpcbindのを)を必要と使用されるが、rpcbindにはyumツールマウントのnfs-utilsの装着時、次のように、一緒に使用されます。
[ルート@マスター・ノード〜]#yumを インストール -yのnfs-utilsの
まず、次のように、デフォルトでは空であるコンフィギュレーションファイルを、編集します。
[ルート@マスター・ノード〜]#のvimのは/ etc / エクスポート /データ/ nfs_share 192.168。150.0 / 24(RW、同期、all_squashコマンド、anonuidコマンド= 1000年、anongidコマンド= 1000年)
単一の行を追加し、ラインは、3つの部分に分かれています。最初の部分は、ローカル・ディレクトリを共有する、第2の部分は(IP、またはIPネットワークセグメントであってもよい)ホスト・アクセスを可能にすることで、第三の部分は、その括弧内のいくつかの権威。注意:アドレスと権限の間にスペースはありません。第三部では、以下の権利があります。
RW:読み取り/書き込みを表しています。
RO:読み取り専用表現。
同期:同期モードは、メモリ内のデータを表しているが、リアルタイムでディスクに書き込まれます。
非同期:非同期モードでは、メモリ内のデータを定期的にディスクに書き込まれる表しています。
no_root_squash:ルート管理者へのNFSクライアントのアクセスは、NFSサーバのルート管理者にマッピングされた場合。
root_squash:ときにルート管理者へのNFSクライアントのアクセスは、匿名ユーザーNFSサーバにマッピングされました。
all_squashコマンド:何があってNFSクライアントアカウントへのアクセス、匿名ユーザーは、NFSサーバにマッピングされていません。
anonuidコマンド/ anongidコマンドは:all_squashコマンドには、とにroot_squashと、指定したユーザーのために使用されるオプションは、NFSのuidとgidを使用して定義されます。
以下のように、良い関連するディレクトリを作成して、NFSサービスを起動し、ブートするように設定し、設定ファイルを編集した後:
[ルート@のマスター・ノード〜]#が開始systemctlのrpcbind [ルート@のマスター・ノード〜]#は、NFSに開始systemctl [ルート@のマスター・ノード〜]#のsystemctlをrpcbindのを可能にする [ルート@のマスター・ノード〜]#のsystemctl NFS可能に シンボリックリンクから作成されたの/ etc / systemdに/システム/ /usr/lib/systemd/system/nfs-server.serviceするマルチuser.target.wants / NFS-server.service。
NFSサービスを開始する前に、あなたはrpcbindサービスを開始する必要があります。NFSファイル共有サービスを使用する前に、あなたは、RPC(リモートプロシージャコール、リモートプロシージャコール)を使用する必要があるので、サービスは、クライアントNFSサーバのIPアドレスとポート番号に情報を送信します。
第三に、クライアントのNFSマウント
また、次のようにクライアントマシン上でも、NFS-utilsパッケージに搭載されています。
[ルート@ backupnode〜]#yumを インストール -yのnfs-utilsの
クライアントがNFSをマウントする前に、次のように、我々は、サーバーのディレクトリを共有するかを見るためにshowmountは使用することができます。
[ルート@のbackupnode〜]#のshowmountはは-e 192.168。150.140 エクスポートリストのため 192.168。150.140 : /データ/ nfs_share 192.168。150.0 / 24
-eオプションは--exportsを示す場合、NFSサーバのエクスポートリストを表示
次のように、サーバーの共有ディレクトリをマウントします。
[ルート@ backupnode〜]#マウント 192.168。150.140:/データ/ nfs_share /データ/ nfs_archive マウント .nfsを:マウントポイント/データ/ nfs_archiveが存在しません [ルート@ backupnode〜]#ます。mkdir -p /データ/ nfs_archive [ルート@ backupnode〜]#マウント 192.168。150.140:/データ/ nfs_share /データ/ nfs_archive [ルート@ backupnode〜]#DF -HT /データ/ nfs_archive AVAIL使用使用しファイルシステムタイプサイズ%にマウント 192.168。150.140:/データ/ nfs_share NFS4 18G 1 .4G 17G 8%/データ/ nfs_archive
マウントの前で見ることができ、あなたは最初にマウントポイントを作成する必要があります。
[ルート@ backupnode〜]#1 、LS - LD /データ/ nfs_archive drwxr -XR-X 2ルートルート6年09月 9 22:07 /データ/ nfs_archive [ルート@ backupnode〜]#のCD /データ/ nfs_archive [ルート@ backupnodeのnfs_archive] #タッチ /データ/ nfs_archive / test1.txtという タッチは:することはできません触れて 'test1.txtというの':アクセス許可が拒否されました
あなたは、クライアントを使用している間は、新しいマウントポイントにuidをrootユーザーですが、マウントは1,000ユーザーのと同等に制限されているため、クライアントのファイルにマウントポイントを作成し、十分な権限を発見し、これは、あります、権限がrwxr-xr-xとなってルート:ユーザーがファイルに/データ/ nfs_archive、ルートにディレクトリの所有者を作成する権限がありません。
以下のように、我々は今、アクセス許可を変更するポイントサーバーを共有します:
[ルート@マスター・ノード〜】#1 のchmod 777 /データ/ nfs_share [ルート@マスター・ノード〜]#1 、LS - LD /データ/ nfs_share drwxrwxrwx 2ルートルート6年09月 9 22:07 /データ/ nfs_share
その後、次のようにクライアントでテストファイルを作成します。
[ルート@ backupnode〜]#のLS - LD /データ/ nfs_archive drwxrwxrwx 2ルートルート6 9月 9 22:07 /データ/ nfs_archive [ルート@ backupnodeのnfs_archive]#個のタッチ /データ/ nfs_archive / test1.txtという [ルート@のbackupnodeのnfs_archive] #1 、LS - L 合計0 -rw-R - r--の1 千 千 0年09月 9 23:00 test1.txtという [ルート@のbackupnodeのnfs_archive]#はライアンuseraddの [ルート@のbackupnodeのnfs_archive]位ID ライアン UID = 1000年(ライアン)GID = 千(ライアン)群 = 1000年(ライアン) [ルート@ backupnode nfs_archive]#1 、LS - L 合計0 -rw-R - r--の1ライアンライアン0年09月 9 23:00 test1.txtという
サーバー上の共有ポイントのアクセス権を変更する場合は、自動的にクライアント上の対応するマウントポイントに適切な権限を更新することを見つけることができます。
四、exportfsのコマンド
サーバーは、mountコマンドは、exportfsを使用しては、/ etc / exportsの設定ファイルを変更すると、以下のように、NFSサービスを再起動する必要はありません。
[ルート@マスター・ノード〜]#のvimのは/ etc / エクスポート /データ/ nfs_share 192.168。150.0 / 24(RW、同期、all_squashコマンド、anonuidコマンド= 1000年、anongidコマンド= 1000年) /データ/ nfs_common_share *(RW、同期、にno_root_squash) [ルートの@ backupnodeのnfs_archive]#1 showmountは -e 192.168。150.140 エクスポートリストのため 192.168。150.140 : /データ/ nfs_share 192.168。150.0 / 24
新しい共有ポイントサーバーを追加した後、クライアントを見つけることができませんshowmountは使用しています。
その後、サーバーを見て、その後、次のように、exportfsコマンドを使用します。
[ルート@のマスター・ノード〜]#1は、exportfs - ARV エクスポート192.168。150.0 / 24:/データ/ nfs_share エクスポート *:/データ/ nfs_common_share [ルート@のbackupnodeのnfs_archive]#のshowmountは -e 192.168。150.140 エクスポートリストのため 192.168。150.140 : /データ/ nfs_common_share * /データ/ nfs_share 192.168。150.0 / 24
exportfsのどの一般的なオプションは次のとおりです。
-a:総マウントとアンマウントを表します。
-r:再マウントを表します。
-u:アンインストールディレクトリを表します。
-v:表示は、共有ディレクトリを表します。
第五に、開始と自動実装
私たちは、情報が/ etc / fstabファイルに書き込まれるマウントので、リモートの共有リソースに自動的にサーバーに電源が投入されて、それをマウントし、以下の情報を追加します。
[ルート@ backupnode〜]#のvimのは/ etc / fstabの 192.168。150.140:/データ/ nfs_share /データ/ nfs_archive NFSのデフォルトは、NOLOCK 0 0
しかし、マウント情報に関係なく、リソースの使用は、システムが自動的にマウントに切り替えると、自動的にインストールすることができたときにautofsサービスをマウントするかどうかのの/ etc / fstabファイルを、記入して、ユーザーがプログラムを使用する必要があるファイルでありますダイナミックなシステムがマウントする際に、ネットワークリソースやサーバーのハードウェアリソースを節約します。