首页 > 代码库 > Linux下NFS服务器的搭建与配置

Linux下NFS服务器的搭建与配置

一.系统环境

# cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core)


二.安装NFS服务

1、查看系统是否已安装NFS

rpm -qa | grep nfs
rpm -qa | grep rpcbind


2、安装NFS

 yum -y install nfs-utils rpcbind


3.服务端配置

mkdir  /nfs-data
chmod 666 /nfs-data

编辑主要配置文件:/etc/exports
vim /etc/exports 
/nfs-data  192.168.101.128/24(rw,no_root_squash,no_all_squash,sync)


常见的参数介绍:
rw  ro  ——该目录分享的权限是可读写(read-write) 或只读 (read-only),但最终能不能读写,还是与文件系统的 rwx 及身份有关。

sync  async ——sync 代表数据会同步写入到内存与硬盘中,async 则代表数据会先暂存于内存当中,而非直接写入硬盘。

no_root_squash  root_squash ——客户端使用 NFS 文件系统的账号若为 root 时,系统该如何判断这个账号的身份?预设的情况下,客户端 root 的身份会由 root_squash 的设定压缩成 nfsnobody, 如此对服务器的系统会较有保障。但如果你想要开放客户端使用 root 身份来操作服务器的文件系统,那么这里就得要开 no_root_squash 才行!

all_squash  ——不论登入 NFS 的使用者身份为何, 他的身份都会被压缩成为匿名用户,通常也就是 nobody(nfsnobody) 。


 
 配置生效
 exportfs -r
 
 
 
 启动rpcbind、nfs服务
 systemctl start  rpcbind.service
 systemctl start  nfs.service
 
 查看 RPC 服务的注册状况
 rpcinfo -p localhost
 
 
 测试:
# showmount -e localhost
Export list for localhost:
/nfs-data 192.168.101.128/24


4.客户端配置

安装nfs-utils客户端
yum -y install nfs-utils

创建挂载目录
mkdir    /data

查看服务器端挂载信息:
# showmount -e 192.168.101.128
Export list for 192.168.101.128:
/nfs-data 192.168.101.128/24

为了提高NFS的稳定性,使用TCP协议挂载,NFS默认用UDP协议
mount -t nfs 192.168.101.128:/nfs-data /data -o tcp,nolock


5.固定nfs服务端口(为了方便配置防火墙,若防火墙关闭,则忽略该步骤)

NFS启动时会随机启动多个端口并向RPC注册,这样如果使用iptables对NFS端口进行限制就会有点麻烦,可以更改配置文件固定NFS服务相关端口。
#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
    100024    1   udp  59175  status
    100024    1   tcp  36247  status
    100005    1   udp  20048  mountd
    100005    1   tcp  20048  mountd
    100005    2   udp  20048  mountd
    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  43725  nlockmgr
    100021    3   udp  43725  nlockmgr
    100021    4   udp  43725  nlockmgr
    100021    1   tcp  45552  nlockmgr
    100021    3   tcp  45552  nlockmgr
    100021    4   tcp  45552  nlockmgr
    
    
   
   
编辑配置文件:
   vim /etc/sysconfig/nfs
    RQUOTAD_PORT=30001
    LOCKD_TCPPORT=30002
    LOCKD_UDPPORT=30002
    MOUNTD_PORT=30003
    STATD_PORT=30004 
    
 重启服务:
     systemctl start  nfs.service
 再次查看,端口已固定:    
     rpcinfo -p localhost


本文出自 “hello world” 博客,请务必保留此出处http://nxyboy.blog.51cto.com/10511646/1933615

Linux下NFS服务器的搭建与配置