linux之nfs

  之前一篇博客记录了Windows系统与Linux系统文件共享的最佳选择,此篇记录Linux系统与Linux系统之间文件共享的最佳选择----NFS

  一、NFS 简介和架构图

  NFS是Network File System的缩写,即网络文件系统。一种使用于分散式文件协定,功能是通过网络让不同的机器、不同的操作系统能够分享个人数据,让应用程序通过网络可以访问位于服务器磁盘中的数据。NFS在文件传送或信息传送的过过程中,依赖于RPC协议。RPC,远程过程调用(Remote Procedure Call),是使客户端能够执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,就是因为NFS使用了RPC提供的传输协议,可以说NFS就是使用PRC的一个程序。

  NFS服务端、RPC协议、客户端三者可以理解为房源、中介、租客之间的关系:

linux之nfs_第1张图片

 

 

   二、安装nfs

  nfs服务端和客户端的安装命令一样

yum install cifs-utils -y

  三、服务端配置文件

  服务端配置文件是/etc/exports文件

vim /etc/exports
然后写入:
/data/nfs_share  192.168.43.*(rw,sync,fsid=0)
# /data/nfs_share ,这个是本地要共享出去的目录。
# 192.168.43.* 允许访问的ip, 可以是一个主机192.168.227.0/24 ,可以是一个IP:192.168.227.4,也可以是一个IP段:192.168.227.0/24
#
rw表示可读写,ro只读;
#sync,同步模式,内存中数据时时写入磁盘;async :不同步,把内存中数据定期写入磁盘中
#no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;root_squash:和上面的选项对应,root用户对共享目录的权限不高,
只有普通用户的权限,即限制了root;all_squash:不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份
#anonuid/anongid :要和root_squash 以及all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid
#fsid=0表示将/opt/nfs整个目录包装成根目录

  四、服务端创建共享目录

mkdir -p /data/nfs-utils

  五、服务端启动nfs服务

systemctl restart rpcbind
systemctl enable rpcbind
systemctl start nfs-utils
systemctl enable nfs-utils

  六、客户端创建挂载目录

mkdir -p /data/nfs_share

  七、客户端挂载

客户端只需开启rpc就好
systemctl restart rpcbind
systemctl enable rpcbind
mount -t nfs 192.168.43.58/data/nfs_share /data/nfs_share

  八、测试是否共享成功

  在服务端/data/nfs_share下新建一个文件,然后在客户端/data/nfs_share下查看

  九、开机自动挂载

在/etc/fstab写入挂载信息
vim /etc/fstab
在最后追加:
192.168.43.58:/data/nfs_share /data/nfs_share nfs defaults 0 0

你可能感兴趣的:(linux之nfs)