昨天我的服务器停止正常工作。 经过一番挖掘,我发现问题在于/dev/sda1耗尽了inode。 现在我正在寻找一些文件来删除,我发现在qmail队列( todo , mess , intd等)是无数的小文件(名称是一个数字),只是包含一个不存在的电子邮件地址喜欢:
要么
或者,甚至有一些像
问题是,这些文件是什么? 为什么有这么多的文件? 我必须担心吗?
一些(可能)重要的信息 :服务器运行gentoo linux和qmail只是用来发送电子邮件(没有更多的用户)。 这不是一个电子邮件“帐户”,所有发送的邮件都来自网站注册系统。
如果他们是匿名的,那么他们很可能是状态消息,而这些消息实际上并没有到达任何地方,并且被排队等待,直到他们最终死亡。 如果系统中有很多事情正在生成状态消息,那么它们可以非常迅速地加起来。 qmail将每个消息的存储分割成3个文件的方式正在加剧这个问题,可能会发生inode耗尽,就像你看到的那样。
你可以使用qmail-qstat来检查你的队列中有多less封邮件
首先,我会创build别名为根和匿名到您的地址,以便您可以接收这些状态消息:
我猜r33422.ovh.net不是你正在使用的邮件域,但这是消息被指向的域。 如果这是你的qmail box的名字,那么你可以把/ var / qmail / defaultdomain改成电子邮件的域名,别名应该开始工作。 如果这是不同的主机,则可以更改发送邮件上的默认域名,或者在qmail框上创build虚拟域名,以便代表r33422.ovh.net接受邮件,然后将其转发给您。
完成这项工作应该能够解决你的紧急问题,因为你的队列会很快清除。
接下来,如果你曾经期望这个盒子上有大量的邮件,你应该看看为你的队列目录装入一个新的磁盘或分区,并确保你用一个小的inode大小格式化它。 发生什么事情是,你有很多很多的小文件,大概不到1K,但可能是4K或8K或16K的inode,每个小文件占用一个inode …所以你可以用尽可分配的空间,尽pipe驱动器上有大量未使用的空间。
最糟糕的情况是有人劫持您的邮件表单并以您的名义发送垃圾邮件,而您队列中的状态信息则无法反弹。 你一定会想要把这些信息交给你,以确定是否是这种情况,并在必要时采取进一步行动
祝你好运!
有可能有人将您的服务器用作中继或垃圾邮件机器人。 或者简单地填写您的用户注册愚蠢的注册。
只要你的队列中没有什么你想要保存的东西。