如何详细介绍并搭建NFS网络文件系统?

2026-04-11 05:201阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1398个文字,预计阅读时间需要6分钟。

如何详细介绍并搭建NFS网络文件系统?

NFS简介 + 1.1 什么是NFS? + NFS是Network File System的缩写,即网络文件系统。它是一种用于分散式文件系统协定的协议,由Sun公司开发并于1984年对外公布。 + 在文件传输或信息传输过程中,NFS依赖于客户端-服务器模式。

如何详细介绍并搭建NFS网络文件系统?

一、NFS的介绍 1.1 什么是NFS
  • NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。
  • NFS在文件传送或信息传送过程中依赖于RPC协议。RPC:远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。
  • NFS服务器可以看作是一个FILE SERVER。它可以让你的机器(客户端)通过网络将远端的NFS SERVER共享目录MOUNT到自己的系统中。
在客户端看来使用NFS的远端文件就象是在使用本地文件一样,原理图如下: 1.2 NFS守护进程
  • nfsd:它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器;
  • mountd:它是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端登录到NFS服务器后,必须通过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限。
  • portmap:主要功能是进行端口映射工作。
1.3 NFS服务器的配置 1.3.1 需要的包:一般都缺省安装好了,如果需要可从镜像文件中安装。 1.3.2 NFS的相关配置文件和命令
  • /etc/exports NFS服务的主要配置文件
  • /usr/sbin/exportfs NFS服务的管理命令
  • /usr/sbin/showmount 查看命令
1.3.3 /etc/exports文件内容格式: <输出目录> [客户端1 选项(访问权限,用户映射,其他)] [客户端2 选项(访问权限,用户映射,其他)] 如:将NFS Server的/soft共享给192.168.3.0/24网段,权限为读写。

[root@NFS ~]#vi /etc/exports /soft 192.168.3.0/24(rw)访问权限 二、NFS 搭建 2.1. 创建NFS服务器 2.1.1 安装nfs-utils和RPC

[root@NFS ~]# rpm -qa nfs-utils rpcbin #检查系统中是否安装 NFS 和 RPC [root@NFS ~]# yum -y install nfs-utils rpcbind #使用 yum 安装nfs 和 rpc 2.1.2 创建共享目录

[root@NFS ~]# mkdir -p /data/nfs/ [root@NFS ~]# chmod 777 /data/nfs/ [root@NFS ~]# ll /data 2.1.3编辑配置NFS配置文件 编辑/etc/exports文件添加需要共享目录,每个目录的设置独占一行,编写格式如下: NFS共享目录路径 客户机IP段(参数1,参数2,...,参数n) 参数说明: 参数说明 ro 只读访问 rw 读写访问 sync 所有数据在请求时写入共享 async nfs在写入数据前可以响应请求 secure nfs通过1024以下的安全TCP/IP端口发送 insecure nfs通过1024以上的端口发送 wdelay 如果多个用户要写入nfs目录,则归组写入(默认) no_wdelay 如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置 hide 在nfs共享目录中不共享其子目录 no_hide 共享nfs目录的子目录 subtree_check 如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认) no_subtree_check 不检查父目录权限 all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录 no_all_squash 保留共享文件的UID和GID(默认) root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认) no_root_squash root用户具有根目录的完全管理访问权限 anonuid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的UID anongid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的GID

  • 注1:尽量指定IP段最小化授权可以访问NFS 挂载的资源的客户端
  • 注2:经测试参数insecure必须要加,否则客户端挂载出错 mount.nfs: access denied by server while mounting
例子:

[root@NFS ~]# cat >>/etc/exports<<EOF > /data/nfs 192.168.3.87(rw,sync,no_subtree_check) 192.168.3.88(rw,sync,no_subtree_check) > EOF [root@NFS ~]# cat /etc/exports /data/nfs 192.168.3.87(rw,sync,no_subtree_check) 192.168.3.88(rw,sync,no_subtree_check) [root@NFS ~]# 2.1.4启动RPC和NFS服务

[root@NFS ~]# systemctl start rpcbind # 启动rpc [root@NFS ~]# systemctl start nfs-server #启动nfs [root@NFS ~]# systemctl enable rpcbind #设置开机自启 [root@NFS ~]# systemctl enable nfs-server #设置开机自启 2.1.5 设置配置文件生效

[root@NFS ~]# exportfs -r #让配置文件生效 2.1.6 检查

[root@NFS ~]# rpcinfo -p localhost # 检查NFS服务是否向rpc注册端口信息 [root@NFS ~]# showmount -e # 检查共享目录信息 2.2 客户端挂载 2.2.1 检查客户端是否可以连接服务端

[root@localhost ~]# showmount -e 192.168.0.89 # 检查共享目录信息 Export list for 192.168.3.89: /u01/upload 192.168.3.88,192.168.3.85,192.168.3.87 2.2.2 进行挂载

[root@localhost ~]# mount -t nfs 192.168.3.89:/data/nfs /u01/upload # 进行磁盘挂载 [root@localhost ~]# df -h #检查挂载情况 [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 50G 7.4G 43G 15% / devtmpfs 16G 0 16G 0% /dev tmpfs 16G 0 16G 0% /dev/shm tmpfs 16G 8.9M 16G 1% /run tmpfs 16G 0 16G 0% /sys/fs/cgroup /dev/sda1 1014M 145M 870M 15% /boot /dev/mapper/centos-home 334G 34M 334G 1% /home tmpfs 3.2G 0 3.2G 0% /run/user/0 192.168.3.89:/data/nfs 50G 22G 29G 44% /u01/upload 三、安装过程中的报错与解决 报错一clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host) 这个出现在客户端用 showmount -e 检查与服务端共享情况时报得错,一般原因是因为服务端nfs服务没启动或者是防火墙没关闭。 报错二exportfs: 192.168.3.87:/data/share:Functionnotimplemented 这个报错一般出现在exportfs -r 设置配置文件生效时出现的,可能是因为相关nfs服务没启动或者相关服务器需要加端口号才能访问。 解决方法让如下: 1. 尝试重启nfs服务和rpc服务 2. 配置文件加上端口号如:/data/share/192.168.3.87/22(rw,no_root_squash,no_all_squash,sync) 报错三 -bash: showmount: command not found 在客户端测试时,发现无法使用showmount命令,需要执行命令yum -y install nfs-utils安装相关命令 其它详情参考:NFS文件共享系统

标签:介绍11

本文共计1398个文字,预计阅读时间需要6分钟。

如何详细介绍并搭建NFS网络文件系统?

NFS简介 + 1.1 什么是NFS? + NFS是Network File System的缩写,即网络文件系统。它是一种用于分散式文件系统协定的协议,由Sun公司开发并于1984年对外公布。 + 在文件传输或信息传输过程中,NFS依赖于客户端-服务器模式。

如何详细介绍并搭建NFS网络文件系统?

一、NFS的介绍 1.1 什么是NFS
  • NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。
  • NFS在文件传送或信息传送过程中依赖于RPC协议。RPC:远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。
  • NFS服务器可以看作是一个FILE SERVER。它可以让你的机器(客户端)通过网络将远端的NFS SERVER共享目录MOUNT到自己的系统中。
在客户端看来使用NFS的远端文件就象是在使用本地文件一样,原理图如下: 1.2 NFS守护进程
  • nfsd:它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器;
  • mountd:它是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端登录到NFS服务器后,必须通过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限。
  • portmap:主要功能是进行端口映射工作。
1.3 NFS服务器的配置 1.3.1 需要的包:一般都缺省安装好了,如果需要可从镜像文件中安装。 1.3.2 NFS的相关配置文件和命令
  • /etc/exports NFS服务的主要配置文件
  • /usr/sbin/exportfs NFS服务的管理命令
  • /usr/sbin/showmount 查看命令
1.3.3 /etc/exports文件内容格式: <输出目录> [客户端1 选项(访问权限,用户映射,其他)] [客户端2 选项(访问权限,用户映射,其他)] 如:将NFS Server的/soft共享给192.168.3.0/24网段,权限为读写。

[root@NFS ~]#vi /etc/exports /soft 192.168.3.0/24(rw)访问权限 二、NFS 搭建 2.1. 创建NFS服务器 2.1.1 安装nfs-utils和RPC

[root@NFS ~]# rpm -qa nfs-utils rpcbin #检查系统中是否安装 NFS 和 RPC [root@NFS ~]# yum -y install nfs-utils rpcbind #使用 yum 安装nfs 和 rpc 2.1.2 创建共享目录

[root@NFS ~]# mkdir -p /data/nfs/ [root@NFS ~]# chmod 777 /data/nfs/ [root@NFS ~]# ll /data 2.1.3编辑配置NFS配置文件 编辑/etc/exports文件添加需要共享目录,每个目录的设置独占一行,编写格式如下: NFS共享目录路径 客户机IP段(参数1,参数2,...,参数n) 参数说明: 参数说明 ro 只读访问 rw 读写访问 sync 所有数据在请求时写入共享 async nfs在写入数据前可以响应请求 secure nfs通过1024以下的安全TCP/IP端口发送 insecure nfs通过1024以上的端口发送 wdelay 如果多个用户要写入nfs目录,则归组写入(默认) no_wdelay 如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置 hide 在nfs共享目录中不共享其子目录 no_hide 共享nfs目录的子目录 subtree_check 如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认) no_subtree_check 不检查父目录权限 all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录 no_all_squash 保留共享文件的UID和GID(默认) root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认) no_root_squash root用户具有根目录的完全管理访问权限 anonuid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的UID anongid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的GID

  • 注1:尽量指定IP段最小化授权可以访问NFS 挂载的资源的客户端
  • 注2:经测试参数insecure必须要加,否则客户端挂载出错 mount.nfs: access denied by server while mounting
例子:

[root@NFS ~]# cat >>/etc/exports<<EOF > /data/nfs 192.168.3.87(rw,sync,no_subtree_check) 192.168.3.88(rw,sync,no_subtree_check) > EOF [root@NFS ~]# cat /etc/exports /data/nfs 192.168.3.87(rw,sync,no_subtree_check) 192.168.3.88(rw,sync,no_subtree_check) [root@NFS ~]# 2.1.4启动RPC和NFS服务

[root@NFS ~]# systemctl start rpcbind # 启动rpc [root@NFS ~]# systemctl start nfs-server #启动nfs [root@NFS ~]# systemctl enable rpcbind #设置开机自启 [root@NFS ~]# systemctl enable nfs-server #设置开机自启 2.1.5 设置配置文件生效

[root@NFS ~]# exportfs -r #让配置文件生效 2.1.6 检查

[root@NFS ~]# rpcinfo -p localhost # 检查NFS服务是否向rpc注册端口信息 [root@NFS ~]# showmount -e # 检查共享目录信息 2.2 客户端挂载 2.2.1 检查客户端是否可以连接服务端

[root@localhost ~]# showmount -e 192.168.0.89 # 检查共享目录信息 Export list for 192.168.3.89: /u01/upload 192.168.3.88,192.168.3.85,192.168.3.87 2.2.2 进行挂载

[root@localhost ~]# mount -t nfs 192.168.3.89:/data/nfs /u01/upload # 进行磁盘挂载 [root@localhost ~]# df -h #检查挂载情况 [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 50G 7.4G 43G 15% / devtmpfs 16G 0 16G 0% /dev tmpfs 16G 0 16G 0% /dev/shm tmpfs 16G 8.9M 16G 1% /run tmpfs 16G 0 16G 0% /sys/fs/cgroup /dev/sda1 1014M 145M 870M 15% /boot /dev/mapper/centos-home 334G 34M 334G 1% /home tmpfs 3.2G 0 3.2G 0% /run/user/0 192.168.3.89:/data/nfs 50G 22G 29G 44% /u01/upload 三、安装过程中的报错与解决 报错一clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host) 这个出现在客户端用 showmount -e 检查与服务端共享情况时报得错,一般原因是因为服务端nfs服务没启动或者是防火墙没关闭。 报错二exportfs: 192.168.3.87:/data/share:Functionnotimplemented 这个报错一般出现在exportfs -r 设置配置文件生效时出现的,可能是因为相关nfs服务没启动或者相关服务器需要加端口号才能访问。 解决方法让如下: 1. 尝试重启nfs服务和rpc服务 2. 配置文件加上端口号如:/data/share/192.168.3.87/22(rw,no_root_squash,no_all_squash,sync) 报错三 -bash: showmount: command not found 在客户端测试时,发现无法使用showmount命令,需要执行命令yum -y install nfs-utils安装相关命令 其它详情参考:NFS文件共享系统

标签:介绍11