相对于samba来说,如果仅仅只是希望搭建一个linux之间进行文件共享的服务器,而不是所有异构的系统之间共享的话,nfs是一个不错的选择。但是客户端如果想要共享nfs服务器上的文件,则必须安装nfs-utils客户端才能共享成功。各有优劣,下面来讲nfs的搭建。
yum -y install nfs-utils rpcbind
service rpcbind start
service nfs start
mkdir -p /data/share
chown -R nfsnobody /data/share
vim /etc/exports
#增加下面内容
/data/share 192.168.0.50(ro,insecure,sync,all_squash)
注:可以指定特定的ip,也可以直接写*开放所有ip访问权限。
常见的选项:
ro:默认选项,以只读的方式共享。
rw:以读写的方式共享。
root_squash:将客户端使用的是root用户时,则映射到NFS服务器的用户为NFS的匿名用户(nfsnobody)。
no_root_squash:将客户端使用的是root用户时,则映射到FNS服务器的用户依然为root用户。
all_squash:默认选项,将所有访问NFS服务器的客户端的用户都映射为匿名用户,不管客户端使用的是什么用户。
anonuid:设置映射到本地的匿名用户的UID
anongid:设置映射到本地的匿名用户的GID
sync:默认选项,保持数据同步,数据同步写入到内存和硬盘。
async:异步,先将数据写入到内存,在将数据写入到硬盘。
secure:NFS客户端必须使用NFS保留端口(通常是1024以下的端口),默认选项。
insecure:允许NFS客户端不使用NFS保留端口(通常是1024以上的端口)。
exportfs -r
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --reload
yum -y install nfs-utils
mkdir /usr/share
showmount -e 服务器ip
mount -t nfs 主机ip:/data/share /usr/share -o proto=tcp -o nolock
在挂载时如果使用了非法端口,也就是使用了大于1024的端口报错后,可以通过下面命令查看日志确认:
cat /var/log/messages | grep mount
搭建流程就介绍完了,主要给大家讲了nfs搭建,有个小坑就是,如果客户端既需要共享文件服务器上的文件,也要装一些其他软件的话,nfs-client和即将要安装的软件可能会产生的依赖冲突。而samba客户端不需要安装,就可以直接访问samba服务端的文件,所以在生产环境中还是建议大家安装samba。如果有需要,可以看博主之前写的关于samba的安装。