NFS共享存储服务

2023-05-12,,

NFS共享存储服务

               一、NFS共享

                 1)NFS(Network File System)网络文件系统

                 2)详情

               二、NFS共享操作

                 1)在文件服务器使用NFS发布共享资源

                 2)在客户机中访问NFS共享资源

                 3)其它常用选项

一、NFS共享

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

2)详情  
✎NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。

✎对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差一般只能在局域网中使用。

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

✎NFS的配置文件为:/etc/exports

✎格式为:共享的目录位置 客户机地址(权限选项)

二、NFS共享操作

1)在文件服务器使用NFS发布共享资源

1.安装 nfs-utils、rpcbind 软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind 2.设置共享目录
mkdir -p /share
chmod 777 /share vim /etc/exports /opt/wwwroot 192.168.30.0/24 (rw, sync,no_ root_ squash)
/var/ftp/pub 192.168.03.133 (ro) 192.168.30.110 (rw)
/share * (rw, sync) #客户机地址可以是主机名、IP地址、网段地址,允许使用“*”、“?”通配符 #"rw”表示允许读写,“ro” 表示为只读 #sync:表示同步写入到内存与硬盘中 #no_root_squash : 表示当客户机以root身份访问时赋予本地root权限 (默认是root_squash) #root_squash : 表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户 3.启动NFS服务程序
#手动加载NFS共享服务时,应该先启动rpcbind,再启动nfs
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs netstat -anpt | grep rpcbind
#查看rpcbind端口是否开启,rpcbind默认 使用tcp端口111 4.查看本机发布的NFS共享目录
exportfs - rv
#发布共享
showmount -e

2)在客户机中访问NFS共享资源

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

rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
systemctl start rpcbind
systemctl enable rpcbind #查看NES服务器端共享了哪些目录
showmount -e 192.168.80.10 2.手动挂载NFS 共享目录 mkdir /myshare
mount 192.168.80.10: /opt/wwwroot /myshare
mount
#确认挂载结果,也可以使用df -Th 3.设置自动挂载 vim /etc/fstab
192.168.80.10:/opt/wwwroot /myshare nfs defaults,_netdev 0 0 _netdev:表示挂载设备需要网络 4.强制卸载NFS #如果服务器端NFS服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行df-h命令卡死的现象。这个时候直接使用umount命令是无法直接卸载的,需要加上-lf选项才能卸载。
umount -lf /myshare

3)其它常用选项

all_squash:所有访问用户都映射为匿名用户或用户组。

async:将数据先保存在内存缓冲区中,必要时才写入磁盘。

subtree_check(默认):若输出目录是一个子目录,则nfs服 务器将检查其父目录的权限。

o_subtree_check:即使输出目录是一个子目录,则nfs服务器也不检查其父目录的权限,这样可以提高效率。

anonuid=xxx:指定NFS服务器/etc/ passwd文件中匿名用户的UID。
anongid=xxx:指定NFS服务器/etc/passwd文件中匿名用户的GID。

例:

开启客户机和服务器

首先在服务端安装软件包并开启服务

创建目录并给最大权限

设置共享目录

设置好之后重启一下服务并进行查看

到客户机中查看

进行手动挂载

回到服务端创建一些目录和文件

创建好了回到客户端查看,发现已共享

在开一台客户机

查看一下

进行自动挂载

查看验证一下,发现已共享

NFS共享存储服务的相关教程结束。

《NFS共享存储服务.doc》

下载本文的Word格式文档,以方便收藏与打印。