1、NFS简介
NFS(Network File System的简称,即网络文件系统)可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。NFS可以将远程的计算机磁盘挂载到本地,读写文件像访问本地磁盘一样操作
2、NFS服务端的配置
2.1. NFS的基本安装
[root@server ~]# rpm -ivh /mnt/Packages/nfs-utils-1.3.0-0.54.el7.x86_64.rpm
#包含一些基本的NFS命令与控制脚本
2.2 /etc/exports配置文件的相关参数
每一行应该由若干个字段组成,第一个字段总是表示需要共享的文件系统,之后列举可以访问该文件系统的客户机。每个客户机之后紧跟用括号括起来、以逗号分隔的一系列选项。例如下面这一行表示(以下均以这个为例):将/tmp对192.168.1.0/24网段共享且可以读写,而其他主机不能访问该资源。
[root@server ~]# vim /etc/exports
/opt 192.168.206.0/24(rw)
注:可以使用完整的IP或者是网络号。例如:192.168.1.0或192.168.1.0/24,或192.168.1.0/255.255.255.0均可。
至于括号里的参数,常见的如下表所示(更具体的可以man exports 查看到)
参数参数 | 说明 |
ro | 该共享目录的权限是只读(read-only) |
rw | 该共享目录的权限是可读写(read-write) |
hide | 隐藏文件系统。 |
noaccess | 阻止访问这个目录及其子目录 |
wdelay | 为合并多次更新而延迟写入磁盘 |
no_wdelay | 尽可能快地把数据写入磁盘 |
sync | 将数据同步写入内存缓冲区与磁盘中(同步模式) |
async | 将数据线暂存在内存缓冲区中,而非直接写入磁盘(非同步模式) |
subtree_check | 验证每个被请求的文件都在导出的目录树中 |
no_subtree_check |
只验证涉及被导出的文件系统的文件请求 |
all_squash | 将所有本地和远程账户映射到匿名用户 |
root_squash | 将根用户及所属组都映射为匿名用户或用户组(nfsnobody),为默认设置 |
no_root_squash | 将远程根用户当成本地根用户,即不压制root |
anonuid | 为匿名用户账户指定组ID |
anongid | 为匿名用户账户指定用户ID |
2.3 NFS的连接查看
可以在server端先自我测试一下是否可以连接。
命令:showmount [-ae] [hostname | IP]
-a:显示当前主机与客户端的NFS连接共享的状态
-e:显示某台主机的/etc/exports所共享的目录数据
2.4NFS服务的启动和停止
[root@server ~]# systemctl start nfs
[root@server ~]# systemctl stop nfs
注:服务端应给予共享文件向对应的权限,否则客服端无法进行写操作
[root@server ~]# chmod 0777 /opt
3、NFS客户端的配置
3.1 挂载远端目录到本地目录(本地目录为空或创建一个空的本地目录)
[root@CentOS7 ~]# mount.nfs 192.168.206.146:/opt /media/ #两者等价
或[root@CentOS7 ~]# mount -t nfs 192.168.206.146:/opt /media/