【NFS】Linux系统NFS共享文件系统部署

前言

NFS(Network File System)意为网络文件系统,它是使用客户端/服务器架构,由一个客户端程序和服务器程序组成,让不同的机器可以共享彼此的文件。服务器程序向其他计算机提供对文件系统的访问,其过程称为输出。NFS客户端程序对共享文件系统进行访问时,把它们从NFS服务器中“输送”出来。

准备

我们准备两台CentOS7机器,分别做NFS服务器和客户端,配置如下:
服务器A作为NFS服务器,IP:192.168.124.86
服务器B作为客户端,ip:192.168.124.88
我们要实现的目标是:在NFS服务器上共享一个目录,在客户端上可以直接读写NFS服务器上共享目录下的文件。

NFS安装配置过程

服务器A:

1、安装nfs和rpcbind服务

[root@node86 opt]# yum -y install nfs-utils rpcbind

2、新建共享目录tmpshare

该目录可按实际情况自定义
[root@node86 opt]# mkdir -p /opt/tmpshare
如非root用户挂载,需赋予对应用户和用户组权限,再进行其他操作
[root@localhost ~]# chown -R test:test /opt/tmpshare

3、设置NFS

[root@node86 tmpshare]# vim /etc/exports
新增以下内容:
/opt/tmpshare *(rw,sync,root_squash,anonuid=0,anongid=0)
wq保存配置
补充信息:

/opt/tmpshare:		      本地路径,必须要先创建
*:						  权限控制,可以配置成可访问的IP地址(192.168.124.86)或IP地址段
rw:					  权限,可以读写
sync:					  同步模式
root_squash:			  如果client端以root等级,只能获取到nobody的权限
anonuid:				  登录用户的UID,本配置是wbs用户的ID
anongid:				  登录用户所属组的GID,本配置是wbs用户组的ID
备注:查看用户uid/gid的方法(id 用户名),如id root

在这里插入图片描述
4、启动nfs服务

[root@node86 tmpshare]# service rpcbind start
[root@node86 tmpshare]# service nfs start

5、防火墙开放

方法一,关闭防火墙
[root@node86 opt]# systemctl stop firewalld.service
方法二,开放对应协议
[root@node86 opt]# firewall-cmd --add-service=nfs --permanent
[root@node86 opt]# firewall-cmd --add-service=mountd --permanent
[root@node86 opt]# firewall-cmd --add-service=rpc-bind --permanent
[root@node86 opt]# firewall-cmd --reload

服务器B:
1、安装rpcbind服务

yum -y install rpcbind

2、验证共享目录设置

[root@localhost ~]# showmount -e 192.168.124.86

如下图所示,目录设置正常:
在这里插入图片描述
3、本机新建挂载点目录

该目录可按实际情况自定义,此处我们统一用tmpshare
[root@node88 opt]# mkdir -p /opt/tmpshare

4、挂载nfs服务端

[root@node88 opt]# mount -t nfs -o rw,soft,timeo=1,retrans=1,retry=1 192.168.124.86:/opt/tmpshare /opt/tmpshare
挂载后通过命令查看挂载结果
[root@node88 opt]# df -h
补充信息:
mount关于nfs相关的参数
(1)-a:把/etc/fstab中列出的路径全部挂载。
(2)-t:需要mount的类型,如nfs等。
(3)-r:将mount的路径定为read only。
(4)-v mount:过程的每一个操作都有message传回到屏幕上。
(5)rsize=n:在NFS服务器读取文件时NFS使用的字节数,默认值是4096个字节。
(6)wsize=n:向NFS服务器写文件时NFS使用的字节数,默认值是4096个字节。
(7)timeo=n:从超时后到第1次重新传送占用的1/7秒的数目,默认值是7/7秒。
(8)retry=n:在放弃后台mount操作之前可以尝试的次数,默认值是7 000次。
(9)soft:使用软挂载的方式挂载系统,若Client的请求得不到回应,则重新请求并传回错误信息。
(10)hard:使用硬挂载的方式挂载系统,该值是默认值,重复请求直到NFS服务器回应。
(11)intr:允许NFS中断文件操作和向调用它的程序返回值,默认不允许文件操作被中断。
(12)fg:一直在提示符下执行重复挂载。
(13)bg:如果第1次挂载文件系统失败,继续在后台尝试执行挂载,默认值是失败后不在后台处理。
(14)tcp:对文件系统的挂载使用TCP,而不是默认的UDP。
(15)-o<选项> 指定加载文件系统时的选项。有些选项也可在/etc/fstab中使用。这些选项包括:
async 以非同步的方式执行文件系统的输入输出动作。
atime 每次存取都更新inode的存取时间,默认设置,取消选项为noatime。
auto 必须在/etc/fstab文件中指定此选项。执行-a参数时,会加载设置为auto的设备,取消选取为noauto。
defaults 使用默认的选项。默认选项为rw、suid、dev、exec、anto nouser与async。
dev 可读文件系统上的字符或块设备,取消选项为nodev。
exec 可执行二进制文件,取消选项为noexec。
noatime 每次存取时不更新inode的存取时间。
noauto 无法使用-a参数来加载。
nodev 不读文件系统上的字符或块设备。
noexec 无法执行二进制文件。
nosuid 关闭set-user-identifier(设置用户ID)与set-group-identifer(设置组ID)设置位。
nouser 使一位用户无法执行加载操作,默认设置。
remount 重新加载设备。通常用于改变设备的设置状态。
ro 以只读模式加载。
rw 以可读写模式加载。
suid 启动set-user-identifier(设置用户ID)与set-group-identifer(设置组ID)设置位,取消选项为nosuid。
sync 以同步方式执行文件系统的输入输出动作。
user 可以让一般用户加载设备。

如下图所示,挂载结果为正常:
在这里插入图片描述

测试验证

1、在A服务器共享目录下新建一个空文件1.txt

[root@node86 opt]# cd /opt/tmpshare/
[root@node86 opt]# touch 1.txt

在这里插入图片描述
2、在B服务器挂载点目录查看是否有1.txt文件

[root@node88 ~]# cd /opt/tmpshare/
[root@node88 tmpshare]# ls

在这里插入图片描述
3、在B服务器下对1.txt文件输入文件内容

[root@node88 tmpshare]# echo "hello,this is test" > 1.txt

4、在A服务器下查看1.txt文件的内容

[root@node86 tmpshare]# cat 1.txt

在这里插入图片描述
5、在A服务器下删除1.txt文件

[root@node86 tmpshare]# rm -rf 1.txt

在这里插入图片描述
6、在B服务器下挂载点目录查看是否还有1.txt文件

[root@node88 ~]# cd /opt/tmpshare/
[root@node88 tmpshare]# ls

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值