NFSネットワークファイル共有サービス(乾物)の構築
7875 ワード
まず乾物を出します:
以下は、NFSパッケージを表示するための全プロセス(クライアントとサービス側の比較)の構成です[root@server~]#rpm-aq nfs-utils portmap rpcbind#このコマンドは(yum grouplist)よりも効率的です
インストール方法1:[root@server~]#yum groupinstall"NFS file server"も使い方2:[root@server~]#yum install nfs-utils rpcbind-yインストール
クライアントとサービス・エンド・ソフトウェアの比較クライアント
サービス側
クライアント
サービス側
(rpcサービスが開いていない場合)
サービス側が開いた後、電源を入れてから設定を開始します.
これで、基本サービスの構築が完了しました.
サービス側NFSプロファイル
クライアント
rcが永続的に有効である場合.local fstabの中
以上の構成が完了しました.
コンセプト補完
NFSネットワークファイルシステムの使用はwindowsシステムのネットワーク共有、セキュリティ機能、ネットワークドライバマッピングに似ており、linuxのsambaサービスと似ています.RPCプロトコル/サービスに基づいています.NFSのRPCサービスの最も主要な機能は、各NFS機能に対応するポート番号を記録し、NFSクライアントの要求時にそのポートと機能に対応する情報を要求データのNFSクライアントに伝達することであり、クライアントが正しいNFSポートに接続できることを確保し、データ伝送のインタラクティブなデータ目的を実現することができる.
NFSサービスを導入するには、次のパッケージをインストールする必要があります. nfs-utils:このNFSサービスメインプログラム.(rpc.nfsa、rpc.mountdの2つのdaemonsと関連ドキュメントの説明、コマンドファイルの実行などが含まれます.) portmap:Centos5.Xの下のRPCのメインプログラム(Centos 6.Xの下の名前はrpcbind)NFSは、いずれかのRPCプログラムを起動する前に、ポートと機能の対応するマッピング作業を行う必要があるRPCプログラムと見なすことができ、このマッピング作業はportmap(またはrpcbind)サービスによって行われる.したがって、NFSサービスを提供する前に、portmap(Centos 6.4でrpcbind)サービスを開始する必要があります.
exports構成
/etc/exportsファイルの構成形式は次のとおりです.
ここで、上記の各列パラメータの意味は以下の通りである:1、NFS共有ディレクトリ:NFSサービス側が共有する実際のディレクトリであり、絶対パスを使用する.(/data/bbs)プロジェクトのローカル権限に注意し、読み書き共有が必要な場合は、ローカルディレクトリがNFSクライアントのユーザー(nfsnobody)に読み書き可能2、NFSクライアントアドレス:NFSサービス側に許可された共有ディレクトリへのアクセス可能なNFSクライアントアドレス、個別のIPアドレスやホスト名、ドメイン名などであってもよいし、セグメント全体のアドレスであってもよい.また、すべてのクライアント・サーバに対して「*」を使用してアクセスすることもできます.ここで、クライアントとは一般的にフロントエンドのビジネス・サーバ、例えばウェブ・サービスです.次のようになります.例1:単一クライアントのNFS->10.0.0.30へのアクセスを許可する(一般的には、本番環境ではこの構成は多くない) 例2:ネットワークセグメント全体にNFS->10.0.0/24へのアクセスを許可(そのうち24は255.255.255.255.0と同等)ネットワークセグメントを生産交換のために最も一般的な構成として制定し、構成が簡単で、メンテナンスが便利である) 例3:NFS->10.0.0.*へのネットワークセグメント全体のアクセスを許可(セグメントの書き方を定める(検証が必要)) 例4:ドメイン名クライアントにNFS->Nfsへのアクセスを許可する.test.cc(この方法の生産環境は一般的によく用いられない) 例5:ドメイン名クライアントにNFS-->*へのアクセスを許可する.test.cc(この方法の生産環境は一般的によく用いられない) 3、rw(読み書き可能な権限を示す)、ro(読み取り専用権限を示す)、sync(データの要求または書き込み時にNFSserverのハードディスクにデータが同期して書き込まれてから戻る)、async、all_squash(複数のNFSクライアントが同時にNFSserverデータを読み書きする場合、このパラメータは便利です)、anonuid
NFS生産の重要な技術を配合する:すべてのサーバがNFS共有ディレクトリに対して同じ権限を持っていることを確認する all_squashはすべてのクライアントを匿名ユーザーに圧縮します. はanonuid、anongidが指定したuigおよびgidユーザーです.
すべてのクライアントおよびサービス側には、同じuidおよびgidユーザ、すなわちnfsnobody(uidは同じでなければならない) が必要である.
NFSのメリット:
1、簡単で使いやすく、把握しやすく、データはファイルシステムの上にある.2、配置が迅速で、メンテナンスが簡単3、信頼性ソフトウェアの面から見ると、データの信頼性が高く、耐久性が高く、データはファイルシステムの上にある.4、安定
NFSの限界
1、限界は単一の故障が存在し、nfsがダウンタイムした場合、すべてのクライアントが使用できない、2、高同時の場合、NFS効率性能が限られている(一般的に数千万以下のpVのウェブサイトはボトルネックではなく、ウェブサイトのアーキテクチャがあまりにも悪い場合を除き、2千万pv/r日)3、クライアント認証時にipとホスト名に基づいている場合、安全性は一般的に(イントラネットでは問題ない)4、NFSデータは明文で、データの完全性を検証しない.5、複数台の機器がNFSサーバーをマウントする場合、接続管理とメンテナンスが面倒で、特にNFSサービス側に問題が発生し、すべてのNFSクライアントがマウント状態である(テスト環境はautofs自動マウントで解決できる)
(不足があれば、よろしくお願いします)
転載先:https://blog.51cto.com/4534309/2087202
以下は、NFSパッケージを表示するための全プロセス(クライアントとサービス側の比較)の構成です[root@server~]#rpm-aq nfs-utils portmap rpcbind#このコマンドは(yum grouplist)よりも効率的です
インストール方法1:[root@server~]#yum groupinstall"NFS file server"も使い方2:[root@server~]#yum install nfs-utils rpcbind-yインストール
クライアントとサービス・エンド・ソフトウェアの比較クライアント
[root@client ~]# rpm -aq nfs-utils portmap rpcbind
rpcbind-0.2.0-13.el6_9.1.x86_64
nfs-utils-1.2.3-75.el6.x86_64
サービス側
[root@server ~]# rpm -aq nfs-utils portmap rpcbind
rpcbind-0.2.0-13.el6_9.1.x86_64
nfs-utils-1.2.3-75.el6.x86_64
クライアント
[root@client ~]# /etc/init.d/rpcbind start
Starting rpcbind: [ OK ]
[root@client ~]# chkconfig rpcbind on
[root@client ~]# chkconfig --list rpcbind
rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off
サービス側
[root@server ~]# /etc/init.d/rpcbind start
Starting rpcbind: [ OK ]
[root@server ~]# ps -ef |grep rpc
rpc 2959 1 0 12:24 ? 00:00:00 rpcbind
root 2966 1375 0 12:25 pts/1 00:00:00 grep --color=auto rpc
[root@server ~]# /etc/init.d/rpcbind status
rpcbind (pid 2959) is running...
[root@server ~]# rpcinfo -p localhost
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
[root@server ~]# /etc/init.d/nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS mountd: [ OK ]
Starting NFS daemon: [ OK ]
Starting RPC idmapd: [ OK ]
[root@server ~]# rpcinfo -p localhost
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100011 1 udp 875 rquotad
100011 2 udp 875 rquotad
100011 1 tcp 875 rquotad
100011 2 tcp 875 rquotad
100005 1 udp 62211 mountd
100005 1 tcp 16172 mountd
100005 2 udp 37947 mountd
100005 2 tcp 13732 mountd
100005 3 udp 46640 mountd
100005 3 tcp 38829 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 39990 nlockmgr
100021 3 udp 39990 nlockmgr
100021 4 udp 39990 nlockmgr
100021 1 tcp 4795 nlockmgr
100021 3 tcp 4795 nlockmgr
100021 4 tcp 4795 nlockmgr
(rpcサービスが開いていない場合)
[root@server ~]# /etc/init.d/rpcbind stop #
Stopping rpcbind: [ OK ]
[root@server ~]# rpcinfo -p localhost #
rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused
サービス側が開いた後、電源を入れてから設定を開始します.
[root@server ~]# chkconfig nfs on
[root@server ~]# chkconfig rpcbind on
[root@server ~]# chkconfig --list nfs #
nfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@server ~]# chkconfig --list rpcbind #
rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off
これで、基本サービスの構築が完了しました.
サービス側NFSプロファイル
[root@server ~]# mkdir /data
[root@server ~]# ll /etc/exports
-rw-r--r--. 1 root root 0 Jan 12 2010 /etc/exports
[root@server /]# cat /etc/exports
####nfs data by nopsmile ####
/data 172.16.30.0/24(rw,sync)
[root@server /]# /etc/init.d/nfs reload
[root@server /]# showmount -e localhost
Export list for localhost:
/data 172.16.30.0/24
クライアント
[root@client ~]# showmount -e 172.16.30.190
Export list for 172.16.30.190:
/data 172.16.30.0/24
[root@client ~]# mount -t nfs 172.16.30.190:/data /mnt
[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 8.7G 1.5G 6.8G 18% /
tmpfs 497M 0 497M 0% /dev/shm
/dev/sda1 194M 28M 157M 15% /boot
172.16.30.190:/data 8.7G 1.5G 6.8G 18% /mnt
rcが永続的に有効である場合.local fstabの中
[root@server /]# cat /var/lib/nfs/etab
/data 172.16.30.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,no_all_squash)
以上の構成が完了しました.
コンセプト補完
NFSネットワークファイルシステムの使用はwindowsシステムのネットワーク共有、セキュリティ機能、ネットワークドライバマッピングに似ており、linuxのsambaサービスと似ています.RPCプロトコル/サービスに基づいています.NFSのRPCサービスの最も主要な機能は、各NFS機能に対応するポート番号を記録し、NFSクライアントの要求時にそのポートと機能に対応する情報を要求データのNFSクライアントに伝達することであり、クライアントが正しいNFSポートに接続できることを確保し、データ伝送のインタラクティブなデータ目的を実現することができる.
NFSサービスを導入するには、次のパッケージをインストールする必要があります.
exports構成
/etc/exportsファイルの構成形式は次のとおりです.
NFS NFS 1( 1, 2……) NFS 2( 1, 2……)
NFS NFS 1( 1, 2……)
EXAMPLE
# sample /etc/exports file
/ master(rw) trusty(rw,no_root_squash)
/projects proj*.local.domain(rw)
/usr *.local.domain(ro) @trusted(rw)
/home/joe pc001(rw,all_squash,anonuid=150,anongid=100)
/pub *(ro,insecure,all_squash)
ここで、上記の各列パラメータの意味は以下の通りである:1、NFS共有ディレクトリ:NFSサービス側が共有する実際のディレクトリであり、絶対パスを使用する.(/data/bbs)プロジェクトのローカル権限に注意し、読み書き共有が必要な場合は、ローカルディレクトリがNFSクライアントのユーザー(nfsnobody)に読み書き可能2、NFSクライアントアドレス:NFSサービス側に許可された共有ディレクトリへのアクセス可能なNFSクライアントアドレス、個別のIPアドレスやホスト名、ドメイン名などであってもよいし、セグメント全体のアドレスであってもよい.また、すべてのクライアント・サーバに対して「*」を使用してアクセスすることもできます.ここで、クライアントとは一般的にフロントエンドのビジネス・サーバ、例えばウェブ・サービスです.次のようになります.
NFS生産の重要な技術を配合する:
NFSのメリット:
1、簡単で使いやすく、把握しやすく、データはファイルシステムの上にある.2、配置が迅速で、メンテナンスが簡単3、信頼性ソフトウェアの面から見ると、データの信頼性が高く、耐久性が高く、データはファイルシステムの上にある.4、安定
NFSの限界
1、限界は単一の故障が存在し、nfsがダウンタイムした場合、すべてのクライアントが使用できない、2、高同時の場合、NFS効率性能が限られている(一般的に数千万以下のpVのウェブサイトはボトルネックではなく、ウェブサイトのアーキテクチャがあまりにも悪い場合を除き、2千万pv/r日)3、クライアント認証時にipとホスト名に基づいている場合、安全性は一般的に(イントラネットでは問題ない)4、NFSデータは明文で、データの完全性を検証しない.5、複数台の機器がNFSサーバーをマウントする場合、接続管理とメンテナンスが面倒で、特にNFSサービス側に問題が発生し、すべてのNFSクライアントがマウント状態である(テスト環境はautofs自動マウントで解決できる)
(不足があれば、よろしくお願いします)
転載先:https://blog.51cto.com/4534309/2087202