一、NFS概述
1、概述
NFS是一种基于TCP/IP 传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源NAS存储: NFS服务的实现依赖于RPC (Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。在Centos 7系统中,需要安装**nfs-utils、 rpcbind **软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC支持。手动加载NFS共享服务时,应该先启动rpcbind, 再启动nfs。
nfs端口:2049
RPC端口:111
2、NFS挂载原理
NFS最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。
NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利。
1 服务端RPC服务起来,NFS服务再起来
2 待NFS服务起来后将所用的端口后向RPC上注册
3 NFS服务端将端口注册成功后等待连接进来
4 客户端不用起NFS服务,只需要起RPC服务,客户端的RPC服务向服务端的RPC daemon请求访问端口
5 服务端RPC daemon 向客户端RPC反馈NFS端口号
6 NFS客户端携带端口号向NFS服务端请求数据连接
二、NFS部署
1、NFS常用选项
常用选项描述rw允许读写ro只读sync(同步)资料同步写入内存于硬盘中(慢,不容易丢失数据)async(异步)资料会暂存于内存当中,而不是写入硬盘(快,容易丢失数据)no_root_squash客户端以root登陆时,赋予其本地root权限root_squash客户端以root登录时,将其映射为匿名用户all_squash将所有用户映射为匿名用户(nfsnobody)subtree_check若输出一个子目录,则nfs服务检查其父目录权限no_subtree_check若输出一个子目录,不检查父目录secureNFS通过1024以下的安全TCP/IP端口发送insecureNFS通过1024以上的端口发送hide在NFS共享目录中共享其子目录no_hide在NFS共享目录中不共享其子目录wdelay如果多个用户写入NFS目录,则归组写入no_wdelay如果多个用户写入NFS目录,则立即写入,当使用async时,无需设置anonuid=xxx指定匿名用户UIDanongid指定匿名用户GIDexportfs -v # 查看详细的nfs信息
exportfs -r # 重读配置文件
exportfs -a # 递增式更新,对/ext/export增加或修改的部分进行挂载和卸载
showmount -e # 查看本机发布的NFS共享目录
showmount -e {IP地址} # 查看IP地址发布的NFS共享目录
rpcinfo -p localhost # 查看nfs注册的端口号
/etc/exports # NFS的配置文件,默认文件内容为空(无任何共享)
2、NFS配置
test:OpenStack glance服务设置 nfs 共享文件存储
在提供的OpenStack私有云平台,创建一台云主机(镜像使用CentOS7.9,flavor使用带临时磁盘50G的),配置该主机为nfs的server端,将该云主机中的/mnt/test目录进行共享(目录不存在可自行创建)。然后配置controller节点为nfs的client端,要求将/mnt/test目录作为glance后端存储的挂载目录。
[root@nfs-server ~]# yum install nfs-utils rpcbind -y
[root@nfs-server ~]# mkdir -p /mnt/test
[root@nfs-server ~]# echo "/mnt/test *(rw,sync,no_root_squash,no_subtree_check)" > /etc/exports
[root@nfs-server ~]# exportfs -a
[root@nfs-server ~]# systemctl start rpcbind
[root@nfs-server ~]# systemctl start nfs
client节点
[root@controller ~]# mount -t nfs 192.168.100.30:/mnt/test /var/lib/glance/images/
[root@controller ~]# chown -R glance:glance /var/lib/glance/
[root@controller ~]# df -h
Filesystem Size Used Avail Use% Mounted on
...
10.0.109.208:/mnt/test 50G 1.1G 49G 3% /var/lib/glance/images
PS
1.NFS服务多用于局域网内
2.搭建服务时一定要先启动rpc后启动nfs
3.配置文件中的信息格式一定要对,否则报错