linux – 写入某些会话文件名时“设备上没有剩余空间”错误

linux – 写入某些会话文件名时“设备上没有剩余空间”错误,第1张

概述我有一些无法写入文件名(会话文件)(“设备上没有剩余空间”).其他文件名(相同的目录)都可以.磁盘未满.文件系统是ext3 PHP在尝试创建文件时出错,但错误可以在命令行上重现: # less /path/to/session_data/sess_u2q1pfelfr0jof3mp38jb2eaj1/path/to/session_data/sess_u2q1pfelfr0jof3mp38jb 我有一些无法写入的文件名(会话文件)(“设备上没有剩余空间”).其他文件名(相同的目录)都可以.磁盘未满.文件系统是ext3

PHP在尝试创建文件时出错,但错误可以在命令行上重现:

# less /path/to/session_data/sess_u2q1pfelfr0jof3mp38jb2eaj1/path/to/session_data/sess_u2q1pfelfr0jof3mp38jb2eaj1: No such file or directory# touch /path/to/session_data/sess_u2q1pfelfr0jof3mp38jb2eaj1touch: cannot touch `/path/to/session_data/sess_u2q1pfelfr0jof3mp38jb2eaj1': No space left on device# touch /path/to/session_data/sess_u2q1pfelfr0jof3mp38jb2eaj0# less /path/to/session_data/sess_u2q1pfelfr0jof3mp38jb2eaj0# ls -al /path/to/session_data/sess_u2q1pfelfr0jof3mp38jb2eaj1ls: /path/to/session_data/sess_u2q1pfelfr0jof3mp38jb2eaj1: No such file or directory

请注意不同的文件名.似乎没有任何模式,但它确实只影响某些文件名,并且它们似乎无法写入.

为了使事情进一步复杂化,这是一个OpenVZ服务器,但您无法从虚拟服务器或硬件节点写入/创建这些文件名.

该目录中有很多文件(在撰写本文时为18,456,002),但没有inode问题,磁盘肯定没有满.

根据要求,df输出:

[root@web1 session_data]# df -hfilesystem            Size  Used Avail Use% Mounted on/dev/simfs            2.7T  2.1T  495G  81% //dev/root             2.7T  2.1T  495G  81% /path/to/session_data[root@web1 session_data]# df -ifilesystem            Inodes   IUsed   IFree IUse% Mounted on/dev/simfs           726761472 22843560 703917912    4% //dev/root            726761472 22843560 703917912    4% /path/to/session_data

(我已经编辑了会话数据的路径,但它确实是单独安装的,以便在多个虚拟服务器之间共享会话数据)

解决方法 Ext3对文件/目录名进行哈希处理.
如果你在一个目录中有这么多文件,那么如果你在哈希冲突问题上运行,我不会感到惊讶.
所有具有相同长度且具有相同结构的文件名使得碰撞的可能性更加严重.

如果发生冲突,文件名实际上无法使用,正如您所注意到的那样.

我没有这方面的经验,所以我不能给你更详细的建议.
(我们曾在办公室遇到过类似的问题,而常驻的linux大师使用了一些tunefs魔法来解决问题.我从来没有得到他所做的确切细节.只是因为它与文件名上的哈希冲突有关.)

您可以通过tunefs显然设置散列行为.还有一个名为“dirindex”的ext3扩展,它真正有助于处理包含这么多文件的目录.

总结

以上是内存溢出为你收集整理的linux – 写入某些会话文件名时“设备上没有剩余空间”错误全部内容,希望文章能够帮你解决linux – 写入某些会话文件名时“设备上没有剩余空间”错误所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存