centos7中部署nfs服务

  • Post author:
  • Post category:其他




1 NFS 简介

NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。

NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利;

NFS一般用来存储共享视频,图片等静态数据;NFS 协议默认是不加密的,它不像 Samba,它不提供用户身份鉴别。服务端通过限定客户端的 IP 地址和端口来限制访问。


原理

NFS在文件传送或信息传送的过过程中,依赖于RPC协议。RPC,远程过程调用(Remote Procedure Call),是使客户端能够执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,就是因为NFS使用了RPC提供的传输协议,可以说NFS就是使用PRC的一个程序。



2 NFS 部署

在局域网(192.168.149.0/24)中搭建一个NFS服务(服务端IP:192.168.149.150),然后共享给其他客户端



2.1 服务端部署

服务端IP :192.168.149.150



2.1.1 安装 NFS和RPC

# 检查系统中是否安装了NFS和RPC
rpm -qa nfs-utils rpcbind

# 使用 yum 安装nfs 和 rpc
yum -y install nfs-utils rpcbind      



2.1.2 创建共享目录 /data/nfs ,并且属主和属组都为:nfsnobody,其中nfsnobody是安装nfs服务时默认的用户

mkdir -p /data/nfs/
chown -R nfsnobody.nfsnobody /data/nfs/
chmod 666 /data/nfs/



2.1.3 配置NTS配置文件


vim /etc/exports

:

/data/nfs 122.168.149.0/24(rw,sync,no_root_squash)


让配置文件生效,执行以下命令:

exportfs -r 

注意:一般修改NFS配置文档后,是不需要重启NFS的,直接在命令执行 systemctl reload nfs 或 exportfs –rv 即可使修改的 /etc/exports 生效


说明

  • /data/nfs 是服务器端共享的目录
  • 192.168.149.0/24 共享目录的客户端ip地址(段)
  • (rw,sync,no_root_squash) ,其中rw代表拥有读写的权限,sync代表数据同步写入NFS服务器端的硬盘中。 也可以用async,async是大数据时使用,是先写到缓存区,再写到磁盘里。no_root_squash表示支持客户端root用户具有完全的权限


其他权限说明

权限 用途
ro 只读
rw 读写访问
sync 客户端写入数据同步到服务器后才会返回
no_root_squash 客户端root用户具有完全的权限
root_squash root用户权限被映射成服务端上的普通用户nobody
anonuid 指定匿名用户的UID
anongid 指定匿名用户的GID



2.1.4 启动RPC和NFS服务

# 启动rpc
systemctl status rpcbind
 
# 启动nfs
systemctl start nfs 

# 设置开机启动
systemctl enable nfs 


查看rpc和nfs运行状态


在这里插入图片描述



2.1.5 查看NFS服务是否向rpc注册端口信息,主端口号是:111

在这里插入图片描述


选项与参数

参数 说明
-p 针对某 IP (未写则预设为本机) 显示出所有的 port 与 porgram 的信息
-t 针对某主机的某支程序检查其 TCP 封包所在的软件版本
-u 针对某主机的某支程序检查其 UDP 封包所在的软件版本



2.1.6 在NFS设定妥当之后,可以先在服务端自我测试一下是否可以联机,利用 showmount 这个指令来查看

在这里插入图片描述


选项与参数

参数 说明
-a 显示目前主机与客户端的 NFS 联机分享的状态
-e 显示某部主机的 /etc/exports 所分享的目录数据



2.2 客户端配置

如在服务器 192.168.149.153上配置nfs客户端



2.2.1 安装 RPC和NFS 服务,并启动

步骤同 2.1.1 和 2.1.4



2.2.2 查看客户端是否可以收到服务端的共享信息

在这里插入图片描述



2.2.3 进行nfs共享目录的挂载

将192.168.149.150上的/data/nfs共享目录,挂载到本机的/mnt目录上

mount -t nfs 192.168.149.150:/data/nfs /mnt 

在这里插入图片描述



2.2.4 验证

在服务端 /data/nfs 目录下创建一个 a.log的文件,在客户端可以查看到,并操作



2.2.5 设置系统启动自动挂载

echo "192.168.149.150:/data/nfs /mnt nfs defaults 0 0" >> /etc/fstab



版权声明:本文为d1240673769原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。