[Linux]NFS文件共享服务

一、NFS

1.1 NFS的简介

NFS(Network File System 网络文件服务),是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。

NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。(远端过程调用:自己没有这种功能,调用别人的功能) NFS 也是 NAS 存储 设备必然支持的一种协议,以完成远程到本地的映射过程。

1.2 linux中要使用NFS需要下载的软件包

 在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。

软件包 (包括服务器端和客户端):

  • nfs-utils (nfs端口号 2049/tcp):共享服务
  • rpcbind (RPC端口号 111/tcp):远程共享调用

检查软件包的下载:rpm -q rpcbind nfs-utils

软件包下载:yum -y install nfs-utils.x86_64

1.3 NFS相关配置文件及其配置作用 

NFS 的配置文件为/etc/exports

格式为: 共享的目录位置 客户机地址(权限选项)

客户机地址 可以是主机名、IP 地址、网段地址,允许使用“*”、“?”通配符。
“rw” 表示允许读写,“ro” 表示为只读。
sync 表示同步写入到内存与硬盘中。
no_root_squash 表示当客户机以root身份访问时赋予本地root权限(默认是root_squash)。
root_squash 表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户。
all_squash 所有访问用户都映射为匿名用户或用户组
async 将数据先保存在内存缓冲区中,必要时才写入磁盘。
subtree_check(默认) 若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。
no_subtree_check 即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。

二、NFS的实验 

第一步:NFS服务器安装 nfs-utils、rpcbind 软件包

[Linux]NFS文件共享服务_第1张图片

第二步 :NFS服务器设置共享目录
[root CXK ~] mkdir -p /opt/nfstest
[root CXK ~] chmod 777 /opt/nfstest
[root CXK ~] 

第三步:服务端更改NFS配置,对访问用户进行限制 
vim /etc/exports
 
/opt/nfstest 192.168.136.0/24(rw,sync,no_root_squash)

[Linux]NFS文件共享服务_第2张图片

第四步:服务端进行nfs服务启动 

systemctl start nfs
systemctl enable nfs

 

查看本机发布的共享服务

showmount -e  (后面可以跟指定的IP)

[Linux]NFS文件共享服务_第3张图片

第五步:客户端安装nfs服务,并且打开服务

[Linux]NFS文件共享服务_第4张图片

[Linux]NFS文件共享服务_第5张图片

 客户端查看服务端发布的共享服务(客户端和服务端实验前都需要关闭防火墙和seLinux)

[Linux]NFS文件共享服务_第6张图片 第六步:客户端挂载nfs共享目录
1. 手动挂载
mkdir /nfsshare
mount 192.168.136.110:/opt/nfstest /nfsshare

[Linux]NFS文件共享服务_第7张图片

2. 自动挂载 
[root CXK2 ~] vim /etc/fstab 
[root CXK2 ~] mount -a
[root CXK2 ~] 

[Linux]NFS文件共享服务_第8张图片

保存退出后,进行  mount -a  进行挂载刷新 

三、进行共享文件的测试

 1.客户端写入文件

[Linux]NFS文件共享服务_第9张图片

2.服务端读取共享目录中的文件 

[Linux]NFS文件共享服务_第10张图片 总结:

nfs是一种适合在局域网的共享目录服务,不适合跨网段使用(会存在极大的安全隐患)

你可能感兴趣的:(linux,服务器,运维)