1

共享文件系统本身并不是我们通常意义上讲的磁盘文件系统,它不能用于存储和管理磁盘数据,而只是定义了文件在网络传输过程中的组织格式和传输协议,所以,一个文件从网络的一端到达另一端的过程中,需要进行两次格式转换,分别发生在进入网络和离开网络的时候。

对于共享文件系统的实现,常用的有NFS(Network File System)和Samba,其中NFS主要用于UNIX/Linux平台下,而Samba的设计初衷是用于将UNIX/Linux的文件映射到Windows的网上邻居中,实现UNIX/Linux到Windows的文件共享,但同时它也支持UNIX/Linux平台之间的文件共享。

NFS的服务器端程序采用多进程(nfsd)模型,并且进程数是固定的,默认情况下为4。大多数情况下,这些进程是难以肩负重任的,当存在大量的并发请求时,由于进程数不足,一些请求将被拒绝,为此,我们可以通过修改/etc/sysconfig/nfs将NFS服务器端进程数适当提高,比如:

USE_KERNEL_NFSD_NUMBER="64"

这样一来,NFS服务器的并发处理能力有所提高,但是仍不容乐观,当并发用户数达到1000时,我们的压力测试很少能够顺利完成。

NFS注定不适合作为I/O密集型文件的共享方案,但是作为一般的用途,比如提供站点内部的资源共享,它的优势在于容易搭建,而且可以减少不必要的数据冗余。


codecraft
11.9k 声望2k 粉丝

当一个代码的工匠回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧,这样,当他老的时候,可以很自豪告诉世人,我曾经将代码注入生命去打造互联网的浪潮之巅,那是个很疯狂的时代,我在一波波的浪潮上留下...