centos 7でのNFSの使用と構成

4650 ワード

centos 7でのNFSの使用と構成
NFSはNetwork File Systemの略であるネットワークファイルシステムである.クライアントは、NFSサーバ側が共有するデータディレクトリをローカルディレクトリにマウントする.
nfsはなぜRPCが必要なのですか?NFSでサポートされている機能が多く、異なる機能で異なるプログラムを使用して起動するため、NFSに対応する機能に対応するポートは固定できません.ポートが固定されていないため、クライアントとサービス間の通信障害になるため、RPCが必要です.NFSが起動すると、ランダムにいくつかのポートが使用され、その後、RPCサービスに関連するポートと機能情報が登録され、RPCは固定ポート111を使用してNFSクライアントからの要求を傍受し、正しいNFSサービスポート情報をクライアントに返すことで、クライアントとサービス側がデータ伝送を行うことができる.
二、NFSの仕事の流れ
`1、    NFS            ,      RPC(rpcbind)        NFS    RPC 111             。

2、NFS    RPC        NFS  ,     RPC  。

3、          ,  NFS daemon      。

4、       ,        ,        。`


したがって、クライアント、サービス側にかかわらず、NFSを使用する必要があり、RPCサービスをインストールする必要があります.NFSのRPCサービスは、Centos 5でportmap、Centos 6でrpcbindと呼ばれています.
三、NFSサービスのインストール構成
nfs-utils、rpcbind
NFSがインストールされているかどうかを確認
 rpm -qa nfs-utils rpcbind`

 yum install nfs-utils rpcbind`

|四、rpcbindサービスの起動
サービスステータスの表示
 systemctl status rpcbind.service`

rpcbindコマンドがどこにあるか分からない場合は
 which rpcbind

rpcサービスの開始
systemctl restart rpcbind.service

rpcの表示
` lsof -i :111

 netstat -lntup|grep rpcbind `

-bashコマンドが見つからない場合は、次のコマンドを実行します.
 yum install net-tools lsof`

nfsサービスがrpcに登録したポート情報を表示
rpcinfo -p localhost`

rpcbindが起動しているかどうかを確認します
 chkconfig --list rpcbind`

五、NFSサービスの起動
systemctl start nfs.service`

ステータスの表示
 systemctl status nfs.service`

rpcに登録されているポート情報を再度表示
rpcinfo -p localhost`

六、NFSのよくあるプロセスの詳細
ps -ef|egrep ``"rpc|nfs"`

rpc      101101      1  0 17:11 ?        00:00:00 /sbin/rpcbind -w

rpcuser  101188      1  0 17:22 ?        00:00:00 /usr/sbin/rpc.statd --no-notify

root     101190      2  0 17:22 ?        00:00:00 [rpciod]

root     101200      1  0 17:22 ?        00:00:00 /usr/sbin/rpc.idmapd

root     101201      1  0 17:22 ?        00:00:00 /usr/sbin/rpc.mountd

root     101206      2  0 17:22 ?        00:00:00 [nfsd4]

root     101207      2  0 17:22 ?        00:00:00 [nfsd4_callbacks]

root     101213      2  0 17:22 ?        00:00:00 [nfsd]

root     101214      2  0 17:22 ?        00:00:00 [nfsd]

root     101215      2  0 17:22 ?        00:00:00 [nfsd]

root     101216      2  0 17:22 ?        00:00:00 [nfsd]

root     101217      2  0 17:22 ?        00:00:00 [nfsd]

root     101218      2  0 17:22 ?        00:00:00 [nfsd]

root     101219      2  0 17:22 ?        00:00:00 [nfsd]

root     101220      2  0 17:22 ?        00:00:00 [nfsd]

root     101243 100830  0 17:28 pts/0    00:00:00 grep -E --color=auto rpc|nfs


nfsd(rpc.nfsd)   ,               ,   ID  。
mountd(rpc.mountd)  NFS    ,        
rpc.lockd(   )      ,         
rpc.statd(   )       
rpc.idmapd         `

七、NFS起動の自己起動を配置する
chkconfig rpcbind on

chkconfig nfs on

chkconfig --list rpcbind

chkconfig --list nfs

八、NFSサービス側の配置
 vi /etc/exports`

exportsファイル構成フォーマット:
NFS      NFS     1(  1,  2,...)      2(  1,  2,...)

説明:NFS共有ディレクトリ:
      ,  nfsnobody  。

NFSクライアントアドレス:
`  IP: 192.168.0.1

        : 192.168.0.0/24

       : test.com

        : *.test.com

    : *                      .`

パラメータ:ro: rw: sync: , , async: , all_squash: (nfsnobody) no_all_squash: all_squash ( ) root_squash: root ( ) no_root_squash: rootsquash anonuid=xxx: , (UID=xxx) anongid=xxx:
例:
/data/tmp 192.168.1.0/24(rw,sync,all_squash) 

共有するディレクトリの作成
mkdir -p /data/tmp

chown nfsnobody.nfsnobody /data/tmp

nfs構成の再ロード
 exportfs -rv`

nfsサーバのマウント状況の表示
 showmount -e localhost`

九、マウントテスト
mkdir  -p /data/tmp2

mount -t nfs 192.168.1.233:/data/tmp /data/tmp2

マウントの表示
 df -h

tmpでファイルを作成する
 touch /data/tmp/1.txt`

tmp 2の下にファイルがあるかどうかを確認します
 ls /data/tmp2`

マウント解除
 umount /data/tmp2`