概述
NFS,是
Network File System
的简写,即网络文件服务。网络文件系统是FreeBSD
支持的文件系统中的一种,也被称为NFS.NFS
允许一个系统在网络上与其他人共享目录和文件。通过使用NFS
,用户和程序可以像访问本地文件一样访问远端系统上的文件
关闭防火墙
# 关闭防火墙
systemctl stop firewalld.service
# 永久关闭防火墙
systemctl disable firewalld.service
# 关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config
安装nfs
# 安装nfs-utils
yum -y install nfs-utils
# 查看安装包
rpm -q nfs-utils
# 启动服务
systemctl start nfs.service
# 查看状态
systemctl status nfs.service
配置文件
注意:在发布共享目录的格式中除了共享目录是必跟参数外,其他参数都是可选的,并且共享目录与客户端之间以及客户端与客户端之间需要使用空格符号,但是客户端与参数之间是不能有空格的
sync
/async
:数据同步写入硬盘/不同步写入在内存中缓存root_squash
(压制):如果用root
登录nfs
,使其身份自动且换成nfsnobody
no_root_squash
:如果用root
登录nfs
,使其身份就是root
all_squash
:用户登录nfs
时,指定身份为uid
/gid
的用户
[root@localhost ~]# cat /etc/exports
# 不压制root,root创建完后还是root
/tmp/a/no_root_squash *(rw,no_root_squash)
# sync立即同步,192.168.1.0/24为一个网段,远程写一个东西,立即同步到本地
/tmp/a/sync 192.168.1.0/24(rw,sync)
# 192.168.1.64 只让这一个ip读
/tmp/a/ro 192.168.1.64(ro)
# 通过域名可以访问(不常用)
/tmp/a/all_squash *.baidu.com(rw,all_squash,anonuid=500,anongid=500)
# 异步
/tmp/a/async 192.168.3.0/255.255.255.0(async)
# 允许192.168.3.0/255.255.255.0 网段下的ip地址读写
/tmp/a/rw 192.168.3.0/255.255.255.0(rw) 192.168.4.0/255.255.255.0(rw)
# 压制root,客户端创建完成后不是root创建,而是nfs用户创建
/tmp/a/root_squash*(rw,root_squash)
# 修改完配置文件需要重启nfs服务
systemctl restart nfs.service
客户端使用
# 利用mount
# 查看服务端共享目录
# 如果报错优先查看防火墙
# showmount -e 服务端ip地址
# 挂载
mount 192.168.200.13:/media /opt/
# 查看是否挂载成功
[root@localhost ~]# mount
gvfsd-fuse on /run/user/0/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
192.168.200.13:/media on /opt type nfs4 (rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.200.3,local_lock=none,addr=192.168.200.13)
客户端使用权限不够问题
# 修改共享的目录权限
chmod 777 /media/
# 至此就可以在客户端实现读写
开机自动挂载
echo '192.168.200.13:/media /opt nfs defaults 0 0' >> /etc/fstab
配置autofs实现自动挂载共享文件
注意:只有
cd
到/media/nfs
进去,触发一下,才会自动挂载
# /etc/auto.master 文件定义本地挂载点
# /etc/auto.misc 配置文件是用来设置需要挂载的文件系统类型和选项
# 安装autonfs
yum install -y autofs
# 修改配置文件
echo '/opt /etc/auto.nfs --timeout=60' >> /etc/auto.master
echo 'nfs -fstype=nfs 192.168.200.13:/media' >> /etc/auto.nfs
[root@localhost /]# systemctl restart autofs
[root@localhost /]# ls /opt/
[root@localhost /]# cd /opt/nfs