文章目录

  • 1、nfs文件系统的安装
  • 2、编辑配置文件
  • 3、配置文件的常用参数(/etc/export)
  • 4、挂载nfs服务
  • 5、nfs服务操作命令
  • 6、其他常用命令


1、nfs文件系统的安装

  • 如果只需要挂载nfs服务的文件夹。
    sudo apt install nfs-common
  • 安装nfs的服务,可以共享文件夹在局域网内,一般都安装这个。
    sudo apt install nfs-kernel-server

2、编辑配置文件

nfs服务端的配置文件在 /etc/exports 文件内,想要共享的文件夹一定要在这里配置才能被客户端发现。
/etc/exports 的文件内容大致如下
/home/nfsboot/ *(rw,sync,no_root_squash,no_subtree_check)
/data *(rw,sync,no_root_squash,no_subtree_check,insecure)

3、配置文件的常用参数(/etc/export)

  • 指定那些客户端可以挂载

说明


指定 IP 地址的主机

127.0.0.1

指定子网中的所有主机

192.168.0.0/24 192.168.0.0/255.255.255.0

指定域名的主机

sancloud.club

指定域名中的所有主机

*.sancloud.club

所有机器

*

  • 访问控制

参数

说明

ro

设置输出目录只读

rw

设置输出目录读写

  • 服务映射用户选项

参数

说明

all_squash

将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);无论 NFS 客户端使用什么账户访问,均映射为 NFS服务器的匿名用户

no_all_squash

与all_squash取反(默认设置);

root_squash

将root用户及所属组都映射为匿名用户或用户组(默认设置);

no_root_squash

与rootsquash取反;

anonuid=xxx

将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx)

anongid=xxx

将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx)

  • 其他

参数

说明

secure

限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);

insecure

允许客户端从大于1024的tcp/ip端口连接服务器;

sync

将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;

async

将数据先保存在内存缓冲区中,必要时才写入磁盘;

wdelay

检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);

no_wdelay

若有写操作则立即执行,应与sync配合使用;

subtree

若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);

no_subtree

即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

4、挂载nfs服务

sudo mount -t nfs [目标服务ip:目标服务器文件夹] [本机地址]
sudo mount -t nfs 192.168.1.2:/data /data/testdata

5、nfs服务操作命令

启动nfs:sudo service nfs-kernel-server start 停止nfs:sudo service nfs-kernel-server stop 查看状态:sudo service nfs-kernel-server status 重新启动nfs:sudo service nfs-kernel-server restart

6、其他常用命令

显示已经mount到本机nfs目录的客户端机器。
sudo showmount -e localhostsudo showmount -e [ip] 无需重启服务,重新export目录。
sudo exportfs -rv 查看nfs运行状态
sudo nfsstat 查看nfs端口
sudo netstat -tu -4 查看rpc信息
sudo rpcinfo