linux网络服务——nfs共享存储服务(包含操作详解)(代码片段)

0611# 0611#     2023-01-01     262

关键词:

NFS共享存储服务概述

  • NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
  • 对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
  • NFS 服务的实现依赖于 RPC(Remote Process Call 远端过程调用)机制,以完成远程到本地的映射过程。所以需要安装 nfs-utils、rpcbind 软件包来提供 NFS共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持
  • NFS 的配置文件为/etc/exports 格式为:共享的目录位置 客户机地址(权限选项)

NFS应用场景

  • 在企业集群架构的工作场景中,特别是中小型公司,NFS网络文件系统一般用来存储共享视频、图片等静态资源文件,例如把网站用户上传的文件放到NFS共享里,通过网络共享目录,让网络上的其他服务器能够挂载访问共享目录内的数据

NFS服务器配置

一、服务器的配置

1、安装nfs-utils、rpcbind软件包

[root@pakho ~]# yum -y install nfs-utils rpcbind  #下载服务
[root@pakho ~]# systemctl enable nfs-server      
[root@pakho ~]# systemctl enable rpcbind          #并且将两个服务设置为开机自启动

2、设置共享目录

  • NFS的配置文件为/etc/exports 文件默认为空
  • 格式为:共享的目录位置 客户机地址(权限选项)

例如:要将文件夹/mnt/nfstest文件共享给192.168.100.0/24网段使用,允许读写,操作如下

[root@pakho ~]# mkdir -p /mnt/nfstest    #创建共享目录
[root@pakho ~]# vim /etc/exports         #进入主配置文件
/mnt/nfstest  192.168.100.0/24(rw,sync,no_root_squash)
  • rw:允许读写
  • ro:只读
  • sync:表示同步写入
  • no_root_squash:表示当客户机以root身份访问时赋予本地root权限(默认是root_squash,将作为nfsnobody用户降权对待)ps:因为nfs系统用户权限很低加上后不作降权处理

例如:需要将同一个目录共享给不同的客户机,且分配不同的权限时,只要以空格分隔指定多个“客户机(权限选项)”即可。例如,将以下操作将/var/ftp/public 目录共享给两个客户机,并分别给予只读、读写权限

[root@pakho ~]# vim /etc/exports         #进入主配置文件
/var/ftp/pub 192.168.100.20(ro) 192.168.100.30(rw)

3、启动NFS服务程序

[root@pakho ~]# systemctl start rpcbind
[root@pakho ~]# systemctl start nfs-server   #切记必须按顺序启动
  • 两个服务必须按上述顺序启动 否则会发生报错!

4、查看本机发布的NFS共享目录

[root@pakho ~]# showmount -e    #本机查看不需要加路径
Export list for pakho:
/mnt/nfstest 192.168.100.0/24

注:如果发生报错,提示 RPC:程序未注册
参照第三步先关闭两个服务在按上述顺序启动(可能是虚拟机的bug)

二、客户端的配置

1、安装nfs-utils、rpcbind软件包

[root@client ~]# yum -y install nfs-utils rpcbind    #下载服务
[root@client ~]# systemctl enable nfs-server
[root@client ~]# systemctl enable rpcbind            #并且将两个服务设置为开机自启动

2、查看NFS服务器端共享了哪些目录
查询格式为showmount -e 服务器地址

[root@client ~]# showmount -e 192.168.100.20        
Export list for 192.168.100.20:
/mnt/nfstest 192.168.100.0/24

3、手动挂载NFS共享目录

[root@client ~]# mkdir /mnt/nfsclient               #首先创建一个挂载点
[root@client ~]# mount 192.168.100.20:/mnt/nfstest /mnt/nfsclient
#将NFS服务器共享的/mnt/nfstest目录挂载到本地目录/mnt/nfsclient 

确认挂载结果

4、fstab自动挂载设置

  • 修改/etc/fstab文件,加入NFS共享目录的挂载设置
192.168.100.20:/mnt/nfstest /mnt/nfsclient nfs defaults,_netdev 0 0  

5、强制卸载NFS

  • NFS客户端与服务器端的耦合度是非常高,如果客户端正在挂载使用,服务器端NFS服务突然间停掉了,那么在客户端就会出现执行df -h命令卡死的现象。
  • 这个时候使用umount命令是无法直接卸载的,需要加上 -lf才能卸载
  • -l 表示解除正在繁忙的文件系统
  • -f 表示强制

NFS常见故障解决思路

  • 当NFS共享无法挂载使用时,首先检查配置文件的正确性,查看是否允许该网段的访问。然后将服务端的NFS服务和 rpcbind 服务都要开启,同时客户端也要开启 rpcbind 服务,这是能够成功挂载使用NFS共享存储的大前提。
  • 在两边服务都开启的情况下,如果客户端挂载共享存储出现长时间挂载等待的情况,此时要ping服务器的地址,检查客户端到服务器端的网络是否正常。
  • 如果客户端到服务器端的网络是没有问题的,但是还是无法 mount 挂载使用,可以使用telnet命令加服务端的地址和端口号,远程连接服务器。当出现 “ connected to… ” 的字样时,表示已经连接上了。这就表示客户端与服务器端是通的。
  • 客户端无法正常访问服务器端,也有可能是iptables导致的,使用telnet命令连接服务器时会显示 “ no route to host ” 的字样,这就表示是防火墙的问题。在服务器端本地telnet自己,如果正常就表示服务器端是没有问题的。
  • 当然也可以使用 showmount -e 命令检查,或者是在服务端 mount 挂载自己本地共享的目录看能否挂载成功。

nfs共享存储服务的部署(代码片段)

NFS共享存储服务的部署NFS(NetworkFileSystem)即网络文件系统主要用于存储web服务器上用户上传的数据信息,图片?附件?头像?视频?音频NFS网络文件系统工作方式1、在nfs服务端创建共享目录2、通过mount?网路挂载,将NFS客户端本地目... 查看详情

02-nfs存储服务(代码片段)

...。NFS主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录,NFS客户端可以通过挂载的方式将NFS服务端共享数据的文件目录挂载到本地挂载点,这样对本地挂载点目录中的数据进行操作其实就是操作NFS服务端共享数... 查看详情

nfs共享存储服务

NFS共享存储服务NFS应用场景在企业集群架构的工作场景中,特别是中小型网络公司,NFS网络文件系统一般被用来存储共享视频、图片等静态资源文件,把用户上传的文件放到HFS共享里,通过网络共享目录,让网络上的其他服务器... 查看详情

nfs

...文详解见:https://www.cnblogs.com/security-guard/Linux公社详解NFS共享存储服务 实验操作:准备一台服务器当存储服务器,在其上部署nfs(192.168.189.129)1)机器下载 rpcbind 和 nfs-utils1yum-yinstallrpcbindnfs-utils  开启服务,并... 查看详情

nfs

...server2.1NFS:NetworkFileSystem网络文件系统,Linux/Unix系统之间共享文件的一种协议NFS的客户端主要为Linux,支持多节点同时挂载,以及并发写入2.2作用:提供文件共享服务,为webserver配置集群中的后端存储2.3准备linux主机,一台linux主... 查看详情

详解nfs-----共享存储服务(代码片段)

...系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。NFS最早是由Sun公司发展出来的。简单的来说:它就是... 查看详情

linux环境下搭建nfs服务

...系统中的一个,它允许网络中的计算机之间通过TCP/IP网络共享资源。通过NFS协议,我们本地NFS的客户端应用可以透明的读写位于服务端NFS服务器上的文件,就像访问本地文件一样方便。简单的理解,NFS就是可以透过网络,让不同... 查看详情

linux中nfs网络文件系统共享

...系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。优点:1.节省本地存储空间,将常用的数据存放在一... 查看详情

nfs共享存储服务

NFS共享存储服务NFS概述:NSF是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,NFS客户机可以像访问本地目录一样访问远程NFS服务器中的共享资源。实验原理:NFS服务的实现依赖于RPC(远端过程调用)机制,RPC充当NFS客... 查看详情

nfs共享存储服务

NFS共享存储服务NFS是一种基于TCP/IP传输的网络文件系统协议,最初由SUN公司开发。通过使用NFS协议客户机可以向访问本地目录一样访问远程服务器中的共享资源。对大多数复制均衡群集来说,使用NFS协议来共享数据存储比较适用... 查看详情

关于linux挂载nas网络存储

...x操作系统也是支持NFS协议的,可以直接在Linux里面挂载NAS共享出来的NFS目录,把数据直接拷贝到NAS上。比如NAS服务器的地址是10.0.0.111,在Linux上:#mount10.0.0.111:/sharefolder/mnt#cp-r/des/mnt参考技术A挂载nfs:mount.nfs192.168.0.1:/mov/mnt挂载cifs... 查看详情

nfs共享存储服务

一,安装nfs-utilsrpcbind软件包后启动 [root@localhost~]#yum-yinstallnfs-utilsrpcbind [root@localhost~]#systemctl enablerpcbind [root@localhost~]#systemctl enablenfs 二,设置共享目录 [r 查看详情

nfs服务搭建及数据无缝迁移

...术-----------------------NFS和samba的区别samba是混合型网络中的共享服务,windows服务器可建samba服务,linux服务器也可建samba服务nfs只面向unix、linux间的共享,linux服务器可建nfs服务(winodws系统也可以挂载nfs,就是有点不稳定)NFS服务... 查看详情

nfs共享存储服务

...NFS客户机可以像访问本地目录一样访问远程NFS服务器中的共享资源。但是,NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中中使用。NFS服务的实现依赖于RPC机制,RPC充当NFS客户端和NFS服... 查看详情

nfs共享存储

NFS共享存储NFS(N-twork File System)是一种基于TCP/IP传输的网络文件系统协议,最初由SUN公司开发。通过使用NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。对于大多数负载均衡群集来说,使用NFS... 查看详情

nfs共享存储服务

...系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。环境如下:rhel6-2作为服务端,rhel6-1作为客户端检查... 查看详情

nfs共享存储服务部署(代码片段)

...系统主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录。NFS系统和Windows网络共享、网络驱动器类似,只不过windows用于局域网,NFS用于企业集群架构中,如果是大型网站,会用到更复杂的分布式文件系统FastDFS,glusterfs,... 查看详情

nfs(代码片段)

...就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件(NFS一般用来存储共享视频,图片等静态数据)。而在客户端看来,共享的目录就是其本身的目录。网络文件系统:通过网络存储和组织文件的一种方法或... 查看详情