redhat7中使用nfs共享文件

NFS概述

NFS 是Network File System的缩写,即网络文件系统。

一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。

功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。

NFS 的基本原则是”容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。

NFS在文件传送或信息传送过程中依赖于RPC协议。

RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。

**、在做文件共享之前,需要做一下准备工作

此实验环境使用的是:

Linux(客户端)-Linux(服务端)Linux系统为Redhat7

1)保证客户端机器和服务端机器网络的连通

服务端使用的ip为 192.168.247.128

Linux客户端ip为 192.168.247.130

2)确保安装了nfs-utils 软件包,(两台机器)

若没有安装,使用yum即可安装:yum仓库配置方法

3)为了消除防火墙对服务的影响,这里直接关闭防火墙 (两台机器)

4) 相关命令:

1、exportfs

如果我们在启动了NFS之后又修改了/etc/exports,是不是还要重新启动nfs呢?这个时候我们就可以用exportfs 命令来使改动立刻生效,该命令格式如下:

2、showmount

-a 显示已经于客户端连接上的目录信息

-e IP或者hostname 显示此IP地址分享出来的目录

最后注意两点,虽然通过权限设置可以让普通用户访问,但是挂载的时候默认情况下只有root可以去挂载,普通用户可以执行sudo。

1、Linux(客户端)—Linux(服务端)配置

1)服务端配置

至此,服务端配置完成

a 、服务按装完成后,直接启动nfs服务:

b、创建共享文件夹:

c、创建共享,编辑以下配置文件,此文件默认为空

此文件格式如下:

示例:

括号中的部分选项

ro只读

rw 只写

root_squash 当NFS客户端以root管理员身份访问时,映射为NFS服务器的匿名用户。

no_root_squash 当NFS客户端以root管理员身份访问时,映射为NFS服务器root管理员。

all_squash 无论NFS客户端使用什么账号访问,均映射为NFS服务器的匿名用户。

sync 同时将数据写入到内存与硬盘当中,保证数据不丢失。

async 先将数据保存到内存,然后再写入磁盘;这样效率更加高,但是可能会丢失数据。

d、编辑好此文件后,保存退出。并重启nfs服务

2)Linux客户端配置

查看服务端共享的目录

挂载共享目录

测试挂载

使用df命令查看挂载情况:

可以看到public目录已经挂载成功!

尝试在挂载的目录创建文件

提示只读文件系统!!!

因为我们在服务器共享的时候,给的权限为 ro 。(应该记得我说的是哪里把,不记得的话就往上看看)

解决方法:

将共享文件时的权限改为rw

改完后,再次尝试创建文件

依然报错,但是错误与上次不同。!!!

导致这个错误的原因是共享的文件夹对其他人没有写权限。

查看服务端共享文件夹的权限:

解决方法:

再一次创建文件:

创建成功!!!

至此,即可以在客户端操作共享文件夹里面的内容了

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181109G0EZLC00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券