NFS简介
NFS(Network File System)是一种网络文件系统,允许不同主机系统之间共享文件或目录。它通过局域网络实现文件或目录的共享,适用于企业集群架构,尤其在大型网站中,可能会使用更复杂的分布式文件系统如FastDFS、GlusterFS或HDFS。NFS本身不提供资料传递的协议,而是使用远程过程调用(RPC)协议来协助其运作。NFS服务依赖于RPC机制,包括rpc.nfsd和rpc.mountd两个后台进程,用于管理客户端的登录权限和文件系统使用权限。
要使用NFS,需要安装nfs-utils和rpcbind软件包,并通过配置文件/etc/exports来管理NFS共享目录的使用权限和安全设置。在服务器上,需要创建共享目录并设置相应的访问权限,如只读或读写。客户端通过挂载NFS共享目录来访问这些文件,并可以设置自动挂载以简化操作。
NFS的一个主要缺点是它没有用户认证机制,数据在网络上明文传输,因此安全性较差,通常仅限于局域网使用。在生产环境中,可能会使用其他安全措施,如加密和双因素认证,来增强NFS的安全性。
说明
本文指定服务端为192.168.31.20,客户端为192.168.31.21,192.168.31.22…(可以配置多台),共享文件夹为nfsdata
下载方式
官网地址:https://pkgs.org/
自提地址:
链接:https://pan.baidu.com/s/1ClhxqIBJYpZCj80fowxK8Q
提取码:fdxo
安装步骤
- 客户端和服务端共同执行
rpm -Uvh *.rpm --nodeps --force
- 服务端
#开机启动
systemctl enable rpcbind.service
systemctl enable nfs-server.service
#启动nfs
systemctl start rpcbind.service
systemctl start nfs-server.service
service nfs start
#检查启动项
chkconfig nfs on
- 客户端
#客户端执行
systemctl enable rpcbind.service
systemctl start rpcbind.service
- 创建共享文件夹
在每一台服务器下创建共享文件夹,例如执行 mkdir -p /nfsdata
而后在服务端执行(以下内容为服务端侧执行)
vi /etc/exports
清空/exports,并添加可访问的客户端ip
例如(注意命令行的空格)
/nfsdata 192.168.31.21 (rw,sync,no_root_squash,no_subtree_check)
/nfsdata 192.168.31.22 (rw,sync,no_root_squash,no_subtree_check)
…
或者/nfsdata/ * (rw,sync,no_root_squash,no_subtree_check) //所有应用服务器都可以访问该NFS文件服务器
注:192.168.31.21,192.168.31.22等是可以访问服务器的客户端IP地址
而后执行
exportfs -arv
使/etc/exports的配置生效
- 客户端挂载
在客户端执行命令:showmount -e 192.168.31.20会显示服务器端共享的文件夹列表
我们之前已经创建了nfsdata
接下里执行mount挂载命令
mount -t nfs 192.168.31.20:/nfsdata /nfadata
然后编辑vi /etc/fstab执文件行开机自动挂载命令
192.168.31.20:/nfsdata /nfsdata nfs defaults 0 0
至此已经完毕,当实现完挂载之后,在客户端可以使用cat命令查看是否可以查看NFS服务器下的某个文件信息
- 卸载
umount /nfsdata
执行此命令即卸载