NFS (Network File System) 是一种分布式文件系统协议,它允许一个系统在网络上与其它系统共享目录和文件

env

  • centos7

1.安装 && 配置

1.1安装
yum install -y nfs-utils rpcbind

一般默认已安装rpcbind

1.2新建共享目录(如果允许可写W,需要给共享文件夹加上W权限)
mkdir -p /share
chmod -R a+w /share

1.3nfs配置文件
/etc/exports
/share              172.24.0.0/16(rw,sync,all_squash)

1.4参数详解
ro    rw          //可读     读写
sync  async       //同步    异步
wdelay  no_wdelay    //延时写操作   不延时写操作
root_squash  no_root_squash     //root权限压制为nobody     root权限不压制
all_squash                    //所有权限都压制为nobody
no_all_squash               //用户权限保留,前提UID、GID一致

2.启动服务及验证

2.1启动
systemctl enable --now rpcbind
systemctl enable --now nfs

2.2查看共享信息
[root@24 ~]# exportfs -v
/share         <world>(rw,wdelay,root_squash,no_subtree_check)   //默认选线

/var/web           192.168.15.33(rw,async,no_root_squash)        //指定IP挂载访问,root权限不压制

/var/data           *(ro,sync,all_squash)                       //所有的IP都可以挂载访问,切压制为nobody

/var/www/html/     192.168.15.3(rw,sync,all_squash)    

/share/iso           *(ro)              //把/share/iso 共享给*(代表所有IP) ro (代表只读,切压制为nobody)
/share/iso           *(rw)              //rw代表可读可写
/share/iso 10.10.10.0/24(ro)            //只共享给10.10.10的网段的计算机访问
/share/iso 10.10.10.0/255.255.255.0(ro)
/share/iso 10.10.10.10/255.255.255.255(ro)       //定义只10.10.10.10这台计算机可以访问
/share/iso 10.10.10.10/32(ro)10.10.10.254/32(rw)     //定义只有10和254这两台可以访问

本机提供nfs的路径
showmount  -e   
showmount  -e  172.24.0.24 //nfs-server的IP
showmount -a          //所有正在挂在的点


2.3客户端挂载测试
mount -t nfs 172.24.0.24:/share   /mnt  

注释:172.24.0.24是nfs-server的IP /mnt本地的挂载点

2.4开机自动挂载
vim /etc/fstab    
172.24.0.24:/share   /mnt  nfs defaults 0 0

3.exportfs参数说明

exportfs
    -a:全部挂载(或卸载)/etc/exports文件内的设定
    -r:重新挂载/etc/exports中的设置,此外同步更新/etc/exports及/var/lib/nfs/xtab中的内容
    -u:卸载某一目录
    -v:在export时将共享的目录显示在屏幕上

# 卸载nfs挂载
umount /xxxx
umount -f /xxx    //强制卸载

lsof /xxxx  
kill -9 pid