Hi!请登陆

centos 使用nfs同步文件

2020-10-27 46 10/27

今天我们来学习一下NFS的文件同步系统,首先介绍一下NFS:NFS是Network File System的简写,
即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS.
NFS允许一个系统在网络上与他人共享目录和文件.通过使用NFS,
用户和程序可以像访问本地文件一样访问远端系统上的文件.

安装NFS:

服务端和客户端都需要安装.
只需要一条命令即可安装好nfs:

yum install nfs-utils nfs4-acl-tools portmap

配置NFS服务端:

nfs的主配置文件是/etc/exports,这里是配置NFS服务器开放的目录以及客户端访问的权限等.

vi /etc/exports

加入:

/nfsdata 192.168.1.103(rw,root_squash,no_all_squash,sync)

保存设置.

exportfs -r

配置解释:

#配置文件每行分为段:
#第一段为共享的目录,使用绝对路径
#第二段为客户端地址及权限:
地址可以使用完整IP或网段,例如192.168.1.103或10.0.0.0/24,10.0.0.0/255.255.255.0当然也可以
地址可以使用主机名,DNS解析的和本地/etc/hosts解析的都行,支持通配符.
权限有:

rw:read-write,可读写;
ro:read-only,只读;
sync:文件同时写入硬盘和内存;
async:文件暂存于内存,而不是直接写入内存;
no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限.显然开启这项是不安全的.
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;
anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;
anongid:匿名用户的GID值.

配置允许指定客户端连接NFS服务器:

注意 NFS 使用 portmap,而且新版本的 portmap 使用 hosts.deny 和 hosts.allow 文件来控制访问源,修改这2个配置文件以便 NFS 客户端能正常连接到服务器:

# vi /etc/hosts.deny
portmap:ALL
# vi /etc/hosts.allow
portmap:192.168.1.103

NFS服务端启动与测试:

先启动所依赖的postmap:

service portmap start
service nfs start

显示已共享的目录信息:

showmount -e

现在建立需要共享的文件目录:

mkdir /nfsdata
NFS客户端连接测试
service portmap start
service nfs start

显示可挂载的目录:

showmount -e 192.168.1.101

挂载网络目录/nfsdata/root/nfsdata(确保存在):

mount -t nfs 192.168.1.101:/nfsdata /root/nfsdata

检查是否已经挂载好:

mount

如果需要开机挂载的话别忘了在/etc/fstab中加入:

/root/nfsdata 192.168.1.101:/nfsdata

好这样一个基于nfs的文件共享系统就搭建完成了.

Tag:

相关推荐