Blog.034 Linux 中的 NFS 共享存储服务

本章目录

 

 

 

 

1. NFS 概述
  1.1 NFS 的优点
  1.2 NFS 的缺点
  1.3 NFS 的使用要求
  1.4 NFS 的配置文件
  1.5 NFS 原理图
2. NFS 共享存储服务的配置实例
  ①:服务器端基本配置
  ②:客户端基本配置
  ③:强制卸载 NFS

 

 

 

 

1. NFS 概述

    网络文件系统,英文 Network File System(NFS),是由 SUN 公司研制的 UNIX 表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。


  1.1 NFS 的优点

    通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源;对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的方法,NFS也是NAS存储设备必然支持的一种协议。


  1.2 NFS 的缺点

    由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只在局域网中使用。


  1.3 NFS 的使用要求

 

    NFS 服务的实现依赖于 RPC(远程过程调用)机制,以完成远程到本地的映射过程,所以需要安装 nfs-utils、rpcbind 软件包来提供共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。

 

  • 依赖于 RPC (远端过程调用)
  • 需安装 nfs-utils、rpcbind 软件包
  • 系统服务: nfs、rpcbind
  • 共享配置文件: /etc/exports


  1.4 NFS 的配置文件

 

  • NFS的配置文件为:/etc/exports
  • 格式:共享的目录名称 客户机地址(权限选择)


  1.5 NFS 原理图

Blog.034 Linux 中的 NFS 共享存储服务


2. NFS 共享存储服务的配置实例
  ①:服务器端基本配置

 

1 rpm -q rpcbind nfs-utils                    #查看是否安装
2 yum install-y rpcbind nfs-utils             #未安装可以使用yum进行安装
3 mkdir -p /opt/share                     #创建目录
4 chmod 777 /opt/share                        #赋予权限
5 vim /etc/exports                            #编辑配置文件
6 /opt/share 192.168.229.0/24(rw,sync,no_root_squash)         #新增的配置

 

 

 

    配置文件内容的解释:

 

  • 客户机地址可以是主机名、IP地址、网段地址,允许使用“*”、“?”通配符;
  • “rw”表示允许读写,“ro”表示为只读;
  • “sync”:表示同步写入到内存与硬盘中;
  • “no_root_squash”:表示当客户机以root身份访问时赋予本地root权限(默认是root_squash);
  • “root_squash”:表示客户机用root用户访问更改共享目录时,将root用户映射成匿名用户。

 

    其他常用选项:

 

  • “all_sauash”:所有访问用户都映射为匿名用户或者用户组;
  • “async”:将数据先保存在内存缓冲区中,必须时才写入磁盘;
  • “subtree_check”(默认):若输出目录是一个子目录,则nfs服务器将检查其父目录的权限;
  • “no_subtree_check”:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样做可以提高效率。
  • “anonuid=xxx”:指定NFS服务器/etc/passwd文件中的匿名用户的UID
  • “anongid=xxx”:指定NFS服务器/etc/passwd文件中的匿名用户的GID

 

 1 systemctl stop firewalld
 2 setenforce 0
 3 systemctl status firewalld 
 4 systemctl start rpcbind             #开启rpcbind
 5 systemctl start nfs                 #开启nfs
 6 systemctl enable rpcbind            #将rpcbind设为自启动
 7 systemctl enable nfs                #将nfs设为自启动
 8  
 9 netstat -anpt | grep rpcbind        #查看rpcbind是否开启
10 netstat -anpt | grep 111            #查看端口111是否开启
11 exportfs -rv                        #发布NFS共享目录
12 showmount -e                        #查看NFS共享目录

 

 

  ②:客户端基本配置

 

 1 rpm -q rpcbind nfs-utils                    #查看是否安装
 2 yum install-y rpcbind nfs-utils             #未安装可以使用yum进行安装
 3 
 4 showmount -e 192.168.229.30                            #查看服务器NFS共享目录
 5 mkdir /data                                #新建目录                       
 6 mount 192.168.229.30:/opt/share  /data/     #进行手动挂载
 7 df -hT                                              #查看挂载情况
 8  
 9 设置自动挂载:
10 vim /etc/fstab
11 192.168.229.30:/opt/share   /data   nfs  defaults,_netdev     0 0
12  
13 _netdev:表示挂载设备需要网络

 

 

  ③:强制卸载NFS

 

 

    如果服务器端NFs服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行df-h命令卡死的现象。
    这个时候直接使用umount命令是无法直接卸载的,需要加上-lf选项才能卸载。

 

 

 

-

 

上一篇:NFS共享存储服务


下一篇:centos nfs配置及df -h卡死的问题