本章目录
1. NFS 概述
1.1 NFS 的优点
1.2 NFS 的缺点
1.3 NFS 的使用要求
1.4 NFS 的配置文件
1.5 NFS 原理图
2. NFS 共享存储服务的配置实例
①:服务器端基本配置
②:客户端基本配置
③:强制卸载 NFS
网络文件系统,英文 Network File System(NFS),是由 SUN 公司研制的 UNIX 表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。
通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源;对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的方法,NFS也是NAS存储设备必然支持的一种协议。
由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只在局域网中使用。
NFS 服务的实现依赖于 RPC(远程过程调用)机制,以完成远程到本地的映射过程,所以需要安装 nfs-utils、rpcbind 软件包来提供共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。
- 依赖于 RPC (远端过程调用)
- 需安装 nfs-utils、rpcbind 软件包
- 系统服务: nfs、rpcbind
- 共享配置文件: /etc/exports
- NFS的配置文件为:/etc/exports
- 格式:共享的目录名称 客户机地址(权限选择)
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服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行df-h命令卡死的现象。
这个时候直接使用umount命令是无法直接卸载的,需要加上-lf选项才能卸载。
-