Linux教程

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

本文主要是介绍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 原理图


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选项才能卸载。

 

 

 

-

 

这篇关于Blog.034 Linux 中的 NFS 共享存储服务的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!