NFS和SMB是否支持稀疏文件?

NFS和SMB是否支持稀疏文件?,第1张

概述这个问题之前曾在堆栈溢出中被问到,但那里的好人们建议我在这里尝试社区. 我正在研究关于各种文件系统的稀疏文件,并且我试图找到一些具体的东西,表明网络文件系统(NFS)或服务器消息块(SMB)支持稀疏文件. 我知道SMB在Windows中被广泛使用,根据这个entry,SMB服务器可以支持稀疏文件,即使底层文件系统没有.但是,如果我是对的,那么不支持稀疏文件的文件系统只会用零填充“漏洞”,这可能会导 这个问题之前曾在堆栈溢出中被问到,但那里的好人们建议我在这里尝试社区.

我正在研究关于各种文件系统的稀疏文件,并且我试图找到一些具体的东西,表明网络文件系统(NFS)或服务器消息块(SMB)支持稀疏文件.

我知道SMB在Windows中被广泛使用,根据这个entry,SMB服务器可以支持稀疏文件,即使底层文件系统没有.但是,如果我是对的,那么不支持稀疏文件的文件系统只会用零填充“漏洞”,这可能会导致性能问题.

关于NFS,我无法找到有关使用支持稀疏文件的NFS的任何信息.

因此,我的问题是,

NFS和SMB是否支持稀疏文件?

解决方法 NFS:它对稀疏文件有部分支持.基本上,它支持创建稀疏文件,但在读取时,文件会扩展为包含零.这意味着,虽然您可以通过NFS创建稀疏文件,但在读回同一文件时,传输中的网络数据将包含原始文件中找到的任何零.一个简单的测试表明行为:
cd /mnt/nfstruncate test.img -s 1Gls -lh test.img

-rw-r–r–. 1 root root 1.0G Oct 26 11:29 test.img

du -hs test.img

0 test.img

如您所见,test.img文件的磁盘大小为0字节.但是,使用dd if = test.img = / dev / null bs = 1M iflag = direct显示回读它

1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copIEd,
10.2269 s,105 MB/s

很明显,在传输稀疏文件时,它会扩展为包含全零.

NFSv4.2将通过包括稀疏文件的网络传输的特殊处理来扩展.换句话说,使用NFSv4.2,上面的dd几乎可以立即完成.

SMB:它与NFS具有相同的行为,至少在我的测试环境中,使用带有CIFS v1的Samba v3.6.x服务器和使用mount.cifs的linux客户端.也许在windows下,它表现得与众不同……

总结

以上是内存溢出为你收集整理的NFS和SMB是否支持稀疏文件?全部内容,希望文章能够帮你解决NFS和SMB是否支持稀疏文件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1045122.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存