玩弄linux

网吧是如何做到同步更新所有的机子中的游戏?

网吧是如何做到同步更新所有的机子中的游戏?

不知道你们是否好奇网吧中是如何做到同步更新各种软件的?我怀着好奇之心对此进行了研究。

当游戏需要更新时,不可能是将每一个机子上的游戏进行更新,那也太耗费时间了,因此需要一个特定的技术去完成。

其实网吧上的机子是没有硬盘的,那或许疑问就来了,没有硬盘那游戏在哪呢?各种软件在哪呢?

我们都知道个人使用的电脑必须得装上硬盘才能使用,因为电脑的操作系统是安装在硬盘里面,如果想电脑的速度快基本上都选择加装固态硬盘,加装固态硬盘后再把系统安装到固态硬盘里面,这样电脑的开机加载及提取速度才理想,我们平时拷贝数据都是和自己的电脑硬盘有直接的关系

那么既然硬盘作用这么大,为何网吧的电脑没有一个上面安装硬盘?最关键的是网吧电脑即使没有硬盘我们拷贝几个G或者几十个G的文件时都可以拷贝成功,那么,我们拷贝到电脑上面的大文件都保存在哪里呢?

大家所有的这些疑问其实就是网吧比我们个人电脑多了一套设备,那就是:服务器。我们有时也称之为:无盘服务站

其实我们在网吧网卡上网的时候双击计算机里面出现的C盘、D盘、E盘或F盘等都是虚拟的,也就是服务器供应的虚拟容量硬盘。

那今天的重点就来了,如何虚拟出硬盘呢?

我们将问题想的简单一点,用更专业的话描述:如何将服务器上的某个目录挂载到我们普通电脑上面。

nfs (网络文件系统) 简介

网络文件系统(NFS)是文件系统之上的一个网络抽象,来允许远程客户端以与本地文件系统类似的方式,来通过网络进行访问。

即你就像在操作本地的文件一样,完全没有知觉,可以做各种操作。

但实际上这个是通过网络访问远程的服务器上的文件,并且可以实时更新。保证了多台服务器之间数据的同步。

如下图:图源自:https://blog.csdn.net/z609158391/article/details/105226176

NFS服务器中共享的目录为 /home/public

普通的机器中如A,B。可以将NFS提供的共享目录挂载在本地文件系统。

由于文件是共享的,当服务器将软件更新后,网吧中的其他机子也能同步更新。

当然,实际中应用到的技术应该不是NFS,因为NFS只适用在Unix/Linux中。

这里只是举例子说明。

部署NFS服务

本实验使用的环境为:debian

4.19.0-10-amd64 #1 SMP Debian 4.19.132-1 (2020-07-24) x86_64 GNU/Linux

安装服务端

sudo apt install nfs-kernel-server

创建共享目录

mkdir /home/public

编写配置文件

vim /etc/exports

# 添加内容
/home/public *(rw,sync,no_subtree_check,no_root_squash)

重启nfs服务

/etc/init.d/nfs-kernel-server restart

NFS客户端

安装客户端工具

sudo apt install nfs-common

创建本地挂载目录

mkdir /mnt/nfs

挂载共享目录

mount -v -t nfs -o rw,nfsvers=3,nolock,proto=udp,port=2049 localhost:/home/public /mnt/nfs

上述为本机挂载,如果你有公网服务器的话,可以使用服务器ip。

并且需要打开防火墙的端口,udp:111 udp:2049 udp:xxxx。

每在一个客户端挂载目录,需要一个端口服务,xxxx会随机产生一个端口,防火墙开启端口即可。

实验结果

image-20210510205036767

我们成功的将/home/public目录挂载到了/mnt/nfs。

两者的目录是共享的,当然这个看起来好像没什么了不起,如果你有服务器,那估计有不一样的感受!

因为你可以在你本地电脑去挂载服务器上的目录,然后对其进行一系列的操作。如读,写,创建,但是你感知不到这是服务器上的目录。

我们现在可以模拟网吧老板的操作。

服务器上的共享目录为 /home/public。

我们来创建一个文件,test.txt,并写入hello world

image-20210510205558109

这时候客户端的电脑挂载的目录的内容,应该是同步更新了。

我们进入到客户端挂载的目录。/mnt/nfs

image-20210510205740466

那我们开篇的问题差不过就能理解了。

当然实际的技术比这个复杂的多,我也只是举一个例子说明。术业有专攻,有机会去网吧研究研究,才能将所有的细节完整的展露出来。

浮点数累加的精度损失如何避免?

上一篇

word中如何检测单词拼写错误?

下一篇

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片

个人微信公众号

we-tuiguang

qq交流群

群号:1046260719

微信扫一扫

微信扫一扫