nfs安装和使用
1. NFS介绍
NFS(Network File System) 即网络文件系统,它允许网络中服务器之间通过TCP/IP网络共享资源,NFS的一个最大优点是可以节省本地存储空间,一台NFS服务器和若干台客户机。
2. 环境准备
#准备两台服务器一台做客户端,一台做服务器,根据自己的电脑网段来做
A:192.168.0.101 #做服务端
B:192.168.0.102 #做客户端
3. 在A服务端机器安装nfs-utils和rpcbind包
yum install -y nfs-utils rpcbind
# nfs-utils:提供了NFS服务器程序和对应的管理工具
# rpcbind:获取nfs服务器端的端口等信息
4. 启动rpcbind检查是否启动了rpcbind服务并监听111端口
systemctl start rpcbind
netstat -tunlp | grep 111
5. 配置NFS服务的配置文件
参数配置:vi /etc/exports
# NO.01
/data/NFSdata 192.168.0.0/24(rw,sync)
/data/NFSdata #表示要共享文件的目录
192.168.0.0/24 #表示所有允许访问的客户端IP网段,也可以写成指定的ip,只允许当前客户机访问
(rw,sync) #rw:表示读写权限,sync:表示数据同步写入内存硬盘
=============================================================================
# NO.02 (推荐) 括号前边的没有空格
/data/NFSdata *(insecure,rw,sync,no_root_squash,no_subtree_check)
#参数 表示含义
/data/NFSdata #是需要共享的目录
* #表示允许所有客户端访问
rw #表示允许读写访问
async #优先将数据保存到内存,然后再写入硬盘,效率更高,但可能丢失数据
sync #表示数据同步写入内存和硬盘中,保证数据的安全性
root_squash #当NFS客户端以root管理员访问时,映射为NFS服务器匿名用户
no_root_squash #当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
no_all_squash #不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都不会拥有匿名用户权限。
#配置跟新以后需要重启服务
systemctl restart rpcbind
systemctl restart nfs-server.service
数据同步与数据异步的区别
- 数据同步:
当系统从内存中向磁盘中持久化数据时,同步发送表示只有当内存中的数据全部同步到磁盘中的时候,才会返回给服务器标识,确认数据已经持久化到磁盘,这时运维人员或者程序才可以继续进行别的操作,同步操作保证数据的一致性,不被丢失,但是效率性能会有所下降,适用于数据必须一致性的场景。
- 数据异步:
同样是内存中向磁盘中持久化数据,异步发送表示当发起异步持久化时,系统会开启一个fork线程,将内存中的数据持久化到磁盘,系统不会关注持久化的结果,这时运维人员或是程序可以继续进行别的操作,但是在传输的过程中,可能会数据丢失,数据一致性不能做保证,但是效率很快,适用于数据必须一致性要求不高,但是性能要高的场景。
6. 启动NFS
#创建目录
mkdir -p /data/NFSdata
#启动
systemctl start nfs
#设置开机启动
systemctl enable rpcbind.service
systemctl enable nfs.service
#更新配置文件
exportfs -r
#.配置防火墙 (按需)
#如果 CentOS 7 上的防火墙(firewalld)正在运行,需要允许 NFS 流量通过防火墙
#执行以下命令开放 NFS 服务的端口:
sudo firewall-cmd --permanent --zone=public --add-service=nfs
sudo firewall-cmd --permanent --zone=public --add-service=rpc-bind
sudo firewall-cmd --permanent --zone=public --add-service=mountd
sudo firewall-cmd --reload
7. 客户端安装
在 B服务器 安装
yum -y install nfs-utils
#设置开机启动
systemctl enable rpcbind.service
#挂载
mount -t nfs 192.168.0.101:/data/NFSdata /NFS #挂在文件系统
showmount -e 192.168.0.101 #查看是否挂载上
df -h #查看磁盘目录
#完成以上为临时挂载,服务器重启后挂载丢失
#开机启动挂载(永久挂载)
vi /etc/fstab
# device mountpoint fs-type options dump fsckorder
192.168.0.101:/data/NFSdata /NFS nfs ro 0 0
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
2022-11-09 centos7搭建常用环境