CentOS7 搭建 NFS 服务器
环境:
- 系统版本:CentOS 7.5
一、服务端配置
1、配置环境
- 关闭防火墙服务
# 停止并禁用防火墙
$ systemctl stop firewalld
$ systemctl disable firewalld
- 关闭并禁用SELinux
# 若当前启用了 SELinux 则需要临时设置其当前状态为 permissive
$ setenforce 0
# 编辑/etc/sysconfig selinux 文件,以彻底禁用 SELinux
$ sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
# 查看selinux状态
$ getenforce
如果selinux状态为permissive,则执行reboot重新启动即可
2、安装nfs-utils和rpcbind
$ yum install -y nfs-utils rpcbind
3、创建存储的文件夹
# 创建文件夹
$ mkdir /nfs
# 更改归属组与用户
$ chown -R root.root /nfs
4、配置NFS
# 编辑exports
$ vi /etc/exports
# 输入以下内容(格式:FS共享的目录 NFS客户端地址1(参数1,参数2,...) 客户端地址2(参数1,参数2,...))
$ /nfs 192.168.2.0/24(rw,async,no_root_squash)
#如果设置为 /nfs *(rw,async,no_root_squash) 则对所以的IP都有效
- 常用选项:
- ro:客户端挂载后,其权限为只读,默认选项;
- rw:读写权限;
- sync:同时将数据写入到内存与硬盘中;
- async:异步,优先将数据保存到内存,然后再写入硬盘;
- Secure:要求请求源的端口小于1024
- 用户映射:
- root_squash:当NFS客户端使用root用户访问时,映射到NFS服务器的匿名用户;
- no_root_squash:当NFS客户端使用root用户访问时,映射到NFS服务器的root用户;
- all_squash:全部用户都映射为服务器端的匿名用户;
- anonuid=UID:将客户端登录用户映射为此处指定的用户uid;
- anongid=GID:将客户端登录用户映射为此处指定的用户gid
5、设置开机启动并启动
- rpcbind
$ systemctl restart rpcbind
- nfs
$ systemctl enable nfs
$ systemctl restart nfs
6、查看是否有可用的NFS地址
$ showmount -e 192.168.2.31
二、客户端配置
1、安装nfs-utils和rpcbind
$ yum install -y nfs-utils rpcbind
2、创建挂载的文件夹
$ mkdir -p /nfs-data
3、挂载nfs
$ mount -t nfs -o nolock,vers=4 192.168.2.31:/nfs /nfs-data
- 参数解释:
- mount:挂载命令
- -o:挂载选项
- nfs :使用的协议
- nolock :不阻塞
- vers : 使用的NFS版本号
- IP : NFS服务器的IP(NFS服务器运行在哪个系统上,就是哪个系统的IP)
- /nfs: 要挂载的目录(Ubuntu的目录)
- /nfs-data : 要挂载到的目录(开发板上的目录,注意挂载成功后,/mnt下原有数据将会被隐藏,无法找到)
- 查看挂载
$ df -h
- 卸载挂载
$ umount /nfs-data
- 查看nfs版本
# 查看nfs服务端信息
$ nfsstat -s
# 查看nfs客户端信息
$ nfsstat -c