NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。(一般是linux系统使用,作为共享文件服务器)
准备两台电脑
服务端:192.168.92.130
客户端:192.168.92.131
2.1、服务端
yum -y install nfs-utils #安装nfs工具包
vim /etc/sysconfig/nfs #将nfs的随机端口固定
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=30003
STATD_PORT=30004
vim /etc/modprobe.d/lockd.conf #在此配置文件中添加
options lockd nlm_tcpport=30002
options lockd nlm_udpport=30002
重新加载NFS配置和服务:
systemctl restart rpcbind #重新nfs端口注册服务(和下面的顺序不能乱)
systemctl restart nfs #启动nfs服务
systemctl restart nfs-config
systemctl restart nfs-idmap
systemctl restart nfs-lock
systemctl restart nfs-server
开放与客户端连接的端口
firewall-cmd --permanent --add-port=30001-30004/tcp --add-port=30001-30004/udp
开放nfs端口以便用户登录
firewall-cmd --permanent --add-port=2049/tcp
firewall-cmd --reload #重新加在防火墙配置
创建映射目录并,创建文件
mkdir /data;cd /data;touch test
chmod 777 /data
添加映射文件
vim /etc/exports
/data 192.168.92.*( rw,sync,root_squash)
/data #映射的目录
192.168.92.* #允许的IP
ro 客户端仅读
sync #将数据写入到内存和硬盘中
root_squash #root用户访问时将root用户映射为普通用户
加载/etc/exports 文件内的配置
exportfs -r
2.2、客户端
yum -y install nfs-utils #安装nfs工具包
mount -t nfs 192.168.92.130:/data /mnt #映射到客户端的/mnt 目录
df -h #查看是否映射
2.3、配置开机自动挂载
vim /etc/fstab
192.168.92.130:/data /mnt nfs defaults 0 0
umount /mnt #卸载掉原来已经挂载好的
mount -a #测试是否能自动挂载
3.1、权限参数
rw 可写
ro 只读
sync 请求或写入数据时,数据同步到NFS server的硬盘中后才会返回
async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据
no_root_squash 访问用户是root时,对目录具有root权限
root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
no_root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
all_squash 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户
insecure NFS通过1024以上的端口发送
3.2、exportfs
作用:查看局域网内的NFS开放的挂载信息
语法:exportfs+选项
-r:重新读取/etc/exports文件
-a:全部的共享或者全部取消共享
-u:取消共享,通常是与-a使用
-v:显示nfs的版本信息
3.3、rpcinfo
作用:生成RPC信息报表
语法:rpcinfo+选项
-m:显示指定主机rpcbind操作信息表
-p:显示指定主机RPC注册信息
-s:显示指定主机所有注册RPC的信息程序,不指定主机显示本机的信息