您的位置:首页 > 理论基础 > 计算机网络

Linux-nfs网络文件系统

2017-12-12 14:43 609 查看
NFS(网络文件系统)

     
 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

一  安装并且开启nfs服务

首先我们在服务端进行操作

yum install nfs-utils -y






4  systemctl restart nfs

5  firewall-cmd --permanent --add-service=nfs

6  firewall-cmd --permanent --add-service=rpc-bind

7  firewall-cmd --permanent --add-service=mounted

8  firewall-cmd --permanent --add-service=mountd

9  firewall-cmd reload






mkdir /annie/nfs -p 服务端的目录文件必须存在 客户端的目录不需要下载 服务开启就会自动生成 关闭就会自动消失






vim /etc/exports

在这个文件中写入 /annie/nfs     *(sync)
记得不要重启服务
否则客户端会挂掉







exportfs -rv 加载查看写入上述文件夹中的信息

[root@server Desktop]#  exportfs -rv

exporting *:/annie/nfs

客户端进行的操作

showmount -e 172.25.254.182






mount 172.25.254.182:/annie/nfs /mnt

df 进行查看






如何不占用客户端的资源呢
这里我们使用一个服务使得想用的时候进行自动挂载
不用的时候自动卸载掉


在客户端中实现以下的操作

yum install autofs.x86_64 -y 然后进行重启服务 systemctl restart autofs






cd /net/17.25.254.130/westos/nfs/ 进入这个目录时候会进行自动挂载






 退出这个目录之后挂载就会自动取消 默认300S后会自动取消挂载 这里我们可以更改配置文件来改变时间

如下图我们就修改成了60s 之后可以退出目录进行测试 60s过后看是否会自动卸载

在7.0的版本下配置文件的默认路径是/etc/sysconfig/autofs

7.2的版本下的配置文件默认路径为/etc/autofs.conf






如何查看一个服务的配置文件的默认路径呢

rpm -qc | grep autofs之后就可以看到了autofs的配置文件默认路径了

改变默认挂载路径 

vim /etc/exports中写入 /annie/riven/nfs这个是共享文件的路径   *(sync)






然后[root@server Desktop]# exportfs -rv

exporting *:/annie/riven/nfs 使得文件生效






然后在客户端进行操作 vim /etc/auto.master 随便找一行写入/annie/riven(指定目录的上一层) /etc/auto.nfc再指定一个文件的绝对路径






vim /etc/auto.nfs 在这个路径中进行写入

nfs -rw 172.25.254.182:/annie/riven/nfs共享目录的绝对路径






然后在客户端我们进行测试

切换到cd /annie/riven/nfs 我们就会发现df查看已经自挂载






这里我们要注意 /annie/riven/下的nfs是自动创建的 关闭服务就会消失

在/annie/riven/nfs/下我们会发现是没有创建和或者删文件的权力的






 接下来我们要赋予权力 在服务端进行操作(server)chmod 777 /annie/riven/nfs

[root@server Desktop]# vim /etc/exports


/annie/riven/nfs     *(sync,rw) 加入了rw这样在客户端的该目录下我们就有写的权力了





接下来我们在客户端的挂载目录下查看是否可以创建和删除文件 发现果然成功了



/annie/riven/nfs     *(sync,rw,no_root_squash) 这样写入的话我们在客户端该文件夹下创建或者删除的文件都是以root用户的身份执行的



接着在客户端进行测试 创建文件查看文件的所有人 发现果然是以root的身份创建的



/annie/riven/nfs     *(sync,rw,anonuid=1001,anongid=1001)这样写入的话我们在客户端该文件夹下创建或者删除的文件都是uid gid 为1001用户的身份执行的这个用户服务端必须得有 客户端不一定 以uid和gid为1001的身份创建文件就不能在写入以root用户了








接着在客户端进行测试(在服务端中uid和gid=1001的用户必须存在 客户端不必须)






上图是当客户端uid和gid为1001的用户身份不存在时候的显示方法 当客户端这个用户存在时候 就是显示的客户单这个用户身份的名字了 如下图所示



                                                                                                                                                                                                   over~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 文件系统 nfs