文件系统——搭建NFS单机文件系统

  • Post author:
  • Post category:其他



目录


1、NFS的工作原理:


2、服务器配置:


3、服务端安装:


(1)安装NFS和RPC依赖:


(2)配置exports:


① 创建共享文件夹:


② 修改共享文件夹所属用户及组:


③ 修改/etc/exports配置:


④ 文件读写权限参数说明:


(3)启动rpcbin服务:


(4)将rpcbin服务加入开机自启:


(5)启动nfs服务:


(6)将nfs服务加入开机自启:


(7)检查是否成功:


4、客户端安装:


(1)安装NFS和RPC依赖:


(2)启动rpcbin服务:


(3)是否将rpcbin服务加入开机自启:


(4)查看共享盘:


(5)挂载NFS:


(6)查看挂载信息:


① 查看方式一:


② 查看方式二:


5、查看NFS版本:


(1)查看NFS服务端版本:


(2)查看NFS客户端版本:


6、测试NFS:


注意:一台机器不要同时做 NFS 的服务端和 NFS 的客户端。如果同时作了 NFS 的服务端和客户端,那么在关机的时候,会一直夯住,可能十分钟之后甚至更久才能关闭成功。

1、NFS的工作原理:

启动NFS SERVER之前,首先要启动RPC服务(CentOS 5.x下为 portmap服务,CentOS 6.x和CentOS 7.x下为 rpcbind 服务,下同),否则NFS SERVER就无法向RPC服务注册了。

另外,如果RPC服务重新启动,原来已经注册好的NFS端口数据就会丢失,因此,此时 RPC 服务管理的NFS程序也需要重新启动以重新向RPC注册。

要特别注意的是:一般修改NFS配置文件后,是不需要重启NFS的,直接在命令行执行:/etc/init.d/nfs reload【针对CentOS 5.x 或 CentOS 6.x】或systemctl reload nfs.service【针对CentOS 7.x】或exportfs -rv,即可使修改的/etc/exports 生效。

2、服务器配置:

本次搭建采用2台虚拟机,操作系统采用centos7。

角色

主机名称

IP地址

server

nfs-server

192.168.137.190

client

nfs-client

192.168.137.191

3、服务端安装:

(1)安装NFS和RPC依赖:

执行命令:yum install -y nfs-utils rpcbind

(2)配置exports:

① 创建共享文件夹:

执行命令:mkdir -p /nfs/data

说明:该步骤是创建共享文件夹,文件夹的路径自定义。

② 修改共享文件夹所属用户及组:

执行命令:chown -R nfsnobody.nfsnobody /nfs/data

③ 修改/etc/exports配置:

修改配置文件:/etc/exports,增加配置参数,配置共享文件夹、服务器IP范围,以及对该文件夹的读写权限。

测试配置值:/nfs/data   192.168.137.0/24(rw,sync)

推荐配置值:/nfs/data 192.168.137.0/24(rw,sync,root_squash,all_squash,anonuid=XXXX,anongid=XXXX)

④ 文件读写权限参数说明:

参数说明:

ro:只读设置,这样 NFS 客户端只能读、不能写(默认设置);

rw:读写设置,NFS 客户端可读写;

sync:将数据同步写入磁盘中,效率低,但可以保证数据的一致性(默认设置);

async:将数据先保存在内存缓冲区中,必要时才写入磁盘;如果服务器重新启动,这种行为可能会导致数据损坏,但效率高;

root_squash:当客户端用 root 用户访问该共享文件夹时,将 root 用户映射成匿名用户(默认设置);

no_root_squash:客户端的 root 用户不映射。这样客户端的 root 用户与服务端的 root 用户具有相同的访问权限,这可能会带来严重的安全影响。没有充分的理由,不应该指定此选项;

all_squash:客户端所有普通用户及所属组都映射为匿名用户及匿名用户组;「推荐设置」

no_all_squash:客户端所有普通用户及所属组不映射(默认设置);

subtree_check:如果共享,如:/usr/bin之类的子目录时,强制NFS检查父目录的权限;

no_subtree_check:即使共享 NFS 服务端的子目录时,nfs服务端也不检查其父目录的权限,这样可以提高效率(默认设置);

secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);

insecure:允许客户端从大于1024的tcp/ip端口连接服务器;

wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);

no_wdelay:若有写操作则立即执行,当使用async时,无需此设置;

anonuid=xxx:将远程访问的所有用户主都映射为匿名用户主账户,并指定该匿名用户主为本地用户主(UID=xxx);

anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组为本地用户组(GID=xxx);

(3)启动rpcbin服务:

执行命令:systemctl start rpcbind.service

(4)将rpcbin服务加入开机自启:

执行命令:systemctl enable rpcbind.service

(5)启动nfs服务:

执行命令:systemctl start nfs.service

(6)将nfs服务加入开机自启:

执行命令:systemctl enable nfs.service

(7)检查是否成功:

执行命令:showmount -e 192.168.137.190

说明:其中IP为NFS的服务器地址。

4、客户端安装:

(1)安装NFS和RPC依赖:

执行命令:yum install -y nfs-utils rpcbind

(2)启动rpcbin服务:

执行命令:systemctl start rpcbind.service

(3)是否将rpcbin服务加入开机自启:

加入了开机自启动,当重启NFS客户端机器时,如果此时NFS服务端机器已关机,或者网络存在问题等等。使NFS客户端连接NFS服务端失败,那么此时会造成NFS客户端机器起不来的情况。

因此为了避免该情况发生,不建议机器开机自启动就挂载NFS。

(4)查看共享盘:

执行命令:showmount -e 192.168.137.190

(5)挂载NFS:

创建本地文件夹,执行命令:mkdir -p /nfs/test

挂载NFS命令:mount -t nfs 192.168.137.190:/nfs/data /nfs/test

(6)查看挂载信息:

① 查看方式一:

执行命令:df -h

② 查看方式二:

执行命令:cat /proc/mounts

5、查看NFS版本:

(1)查看NFS服务端版本:

执行命令:nfsstat -s

(2)查看NFS客户端版本:

执行命令:nfsstat  -c

6、测试NFS:

在客户端和服务端之间测试,本次有1个客户端,1个服务端。

在客户端创建文件夹或创建文件并且输入数据,在服务端是否可以查看;

在服务端创建文件夹或创建文件并且输入数据,在客户端是否可以查看;



版权声明:本文为LSY_CSDN_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。