NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
好处
(1)CIFS面向网络连接的共享协议,对网络传输的可靠性要求高,常使用TCP/IP;NFS是独立于传输的,可使用TCP或UDP;
(2)NFS缺点之一,是要求client必须安装专用软件;而CIFS集成在OS 内部,无需额外添加软件;
(3)NFS属无状态协议,而CIFS属有状态协议;NFS受故障影响小,可以自恢复交互过程,CIFS不行;从传输效率上看,CIFS优于NFS,没用太多冗余信息传送;
(4)两协议都需要文件格式转换,NFS保留了unix的文件格式特性,如所有人、组等等;CIFS则完全按照win的风格来作
但在Linux之间NFS文件共享要优于SMB服务的文件共享
[root@shareserver westos]# yum install nfs-utils 下载nfs-utils服务
[root@shareserver westos]# systemctl start nfs-server 开启服务
[root@shareserver westos]# vim /etc/exports 编辑文件,写入要分享的目录
[root@shareserver westos]# cat /etc/exports
/westos *(sync,ro)
[root@shareserver westos]# exportfs -rv 生效分享的目录
exporting *:/westos
别忘记关闭防火墙
1.下载nfs-utils服务,并将此服务打开
2.编辑文件vim /etc/exports ,写入要分享的目录,并给与客户端什么样的权限
可以给服务端的权限如
westos *(sync,rw,no_root_squash) 读写权限,以root用户身份执行动作
westos *(sync,rw,anonuid=1001,anongid=1000) 读写权限,以1001用户身份执行动作
westos 172.25.254.245(sync,rw,no_root_squash) *(ro) 只有172.25.254.245主机有读写和root用户身份的权利,其他主机为读权利
3.exportfs -rv 让刚才编辑的分享文件生效
4.关闭火墙,因为我们要分享出去我们的东西
[root@shareserver westos]# yum install nfs-utils 下载服务
[student@client mnt]$ showmount -e 172.25.71.100 查看服务端要分享的文件
Export list for 172.25.71.100:
/westos *
[root@client ~]# mount 172.25.71.100:/westos /mnt/ 将服务端分享的文件挂载到/mnt下进行使用
1.查看服务端的分享文件
2.将文件挂载到本机目录下使用,此处我们挂载到/mnt下
mount是用来挂载文件系统的,可以在系统启动的时候挂载也可以在系统启动后挂载。对于本地固定设备,如硬盘可以使用mount挂载;而光盘、软盘、NFS、SMB等文件系统具有动态性,即需要的时候才有必要挂载。光驱和软盘我们一般知道什么时候需要挂载,但NFS和SMB共享等就不一定知道了,即我们一般不能及时知道NFS共享和SMB什么时候可以挂载。而autofs服务就提供这种功能,好像windows中的光驱自动打开功能,能够及时挂载动态加载的文件系统。免去我们手动挂载的麻烦。要实现光驱,软盘等的动态自动挂载,需要进行相关的配置。
3.下载autofs服务,并进行启用
4.启动sutofs服务后系统将自动建立一个/net的目录
cd 到服务端的ip和共享文件出将会自动的将服务端的共享文件挂载到/net下
5.退出/net目录时可以自动卸载共享文件,系统默认无操作300秒卸载,当然也可以改autofs的配置文件修改多少秒后卸载
编辑autofs的配置文件,我们在此设置为5秒后就卸载
6.配置文件修改后要重启autofs服务,方可生效
7.退出等待5秒后发现服务端的共享文件被卸载
客户端
1.编辑配置文件 vim /etc/autofs.master
写入你要自定义挂载点的上一级目录 后面写挂载内容的文件位置
2.编辑文件 vim /etc/auto.pub 写入挂载内容
挂载目录 挂载权限 服务端的共享文件
此处是只读挂载,也可以挂载为rw读写挂载
但是此处的权限只是服务端自己的设置
文件真正能享用的权限要看服务端提供的权限
3.然后重新启动autofs服务
cd到/pub/westos下系统会自动挂载服务端的共享内容