Linux NFS服务搭建

本文档介绍了如何通过NFS(Network FileSystem)在Linux系统间建立网络文件系统共享,以优化工控机与服务器之间的日志系统。原先的日志处理方式导致SQL文件过大和读取速度慢,作者提出使用NFS服务,在服务器上配置NFS-Server,并在客户端安装NFS-Client,实现工控机日志的实时写入和服务器的快速读取,提高日志系统的效率和维护性。
摘要由CSDN通过智能技术生成

本项目是一个外包出去的Web项目。硬件涉及同一局域网内的若干工控机及一个服务器。工控机内运行python工作脚本,服务器部署项目前后端等。现有需求:前端实时展示各个服务器的python脚本日志文件。
外包使用的日志方式是重定向python脚本输出到文件,再将文本写入mysql中。该方法会导sql文件过大,读取太慢且不易维护。
本人的想法是对日志系统进行重构,尽量使用原生的文件系统,搭建一个轻量化,易维护的服务。
于是使用NFS。NFS全名为Network File System。本服务可以用于linux系统间通过网络共享一个文件系统。设计思路是在服务器上搭建一个NFS-Server,通过局域网挂载出服务器的一个目录到工控板上某目录,使其对工控机可见,工控机实时写入python日志文本文件。
服务器端(192.168.8.71)安装NFS-Server:

apt install nfs-kernel-server

编辑配置文件

vim /etc/exports

添加一行:

/tmp/logs *(rw,sync,no_subtree_check,no_root_squash)

各参数说明如下:
ro 该主机对该共享目录有只读权限
rw 该主机对该共享目录有读写权限
root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户
no_root_squash 客户机用root访问该共享文件夹时,不映射root用户
all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户
sync 资料同步写入到内存与硬盘中
async 资料会先暂存于内存中,而非直接写入硬盘
insecure 允许从这台机器过来的非授权访问
subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check 和上面相对,不检查父目录权限
wdelay 如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
hide 在NFS共享目录中不共享其子目录
no_hide 共享NFS目录的子目录
secure NFS通过1024以下的安全TCP/IP端口发送
insecure NFS通过1024以上的端口发送

配置修改完成后,重启NFS服务

service nfs-kernel-server restart

客户端(192.168.8.72)安装NFS-Client:

apt install nfs-common

创建欲挂载到服务端192.168.8.71:/tmp/logs的目录/tmp/logs
使用指令挂载:mount -t nfs 192.168.8.71:/tmp/logs /tmp/logs
挂载后可以使用df -h指令查看已挂载的文件系统

root@pc-desktop:/tmp# df -h
文件系统                容量  已用  可用 已用% 挂载点
udev                    3.9G     0  3.9G    0% /dev
tmpfs                   787M  9.1M  778M    2% /run
/dev/sda5                36G  4.3G   30G   13% /
tmpfs                   3.9G  184K  3.9G    1% /dev/shm
tmpfs                   5.0M  4.0K  5.0M    1% /run/lock
tmpfs                   3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/sda6                93M  1.6M   85M    2% /d1
/dev/sda10              969M  1.3M  902M    1% /d5
/dev/sda8               380M  2.3M  354M    1% /d3
/dev/sda7               190M  1.6M  175M    1% /d2
/dev/sda9               772M  808K  715M    1% /d4
/dev/sda2               1.9G  6.0M  1.8G    1% /home
/dev/sda1               464M   74M  362M   17% /boot
tmpfs                   787M   24K  787M    1% /run/user/108
tmpfs                   787M     0  787M    0% /run/user/0
192.168.8.71:/tmp/logs   39G   14G   23G   38% /tmp/logs

在客户机上测试文件系统功能:echo '1' >>/tmp/logs/client.txt
主机上出现了client.txt文件。
在主机上测试: echo '1'>>/tmp/logs/server.txt
客户机上出现了server.txt文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值