昨晚,我在听最新的Under the Radar,Marco Arment在其中深入探讨了有关他最近的Overcast服务器问题的详细信息。讨论非常好,您应该听一下,但是Marco最近的服务器故障与去年以来我自己的服务器问题非常相似,因此我认为我将向遇到相同问题的任何人分享我的终生解决方案。
什么和在哪里
两位主持人Marco Arment和David Smith都在Linode上运行了自己的服务器(我也是如此),我发现自己与Marco一致点头,因为他在痛苦的数据库服务器迁移期间讨论了自己的工作。这是Marco用自己的话说的话的症结所在:
磁盘已满,这是您不希望在Linux服务器或Mac上使用的一件事。当磁盘已满时,什么也不会发生。
马可说的一件事让我特别亲近我:
当您是独立开发者时,服务器管理非常寂寞。
在去年的主要停机问题中,我感到非常难以置信和沮丧。没有人可以帮助我,也没有时间可以利用。我的网站关闭了,有一段时间了。我的问题基本上是相同的:我的数据库服务器已装满(但出于不同的原因)。正如Marco所说,当磁盘已满时,什么也没发生。
在解决服务器问题后的几天里,我想确保即使问题再次解决,也永远不会遇到问题。
便宜的骇客?是的。有效的?也可以
在Linux服务器上,如果磁盘已满,则任何过程都很难成功。复制命令甚至删除操作可能会失败,甚至永久失败,因为内存会尝试交换到完整的磁盘,而您几乎没有什么办法释放大块空间。但是,如果有一种方法可以在最需要时释放磁盘上的大量空间呢?输入dd
命令1。
截止到去年,我所有的服务器都有一个8GB的空spacer.img
文件,除了占用空间外,它什么也不做。这样,在发生全盘危机时,我可以简单地将其删除,并给自己买一些关键的时间来调试和解决问题。8GB是相当大的空间,但是如今这些存储足够便宜,以至于ho积这么大的空间基本上是不明显的……直到我真正需要它为止。然后,它改变了世界。
就是这样。这就是为什么我始终将无用的文件保留在磁盘上的原因:因此我有一天可以将其删除。该解决方案超级简单,易于实现且易于使用。显然,真正的解决方案是不填满数据库服务器,但是就像Marco的迁移困境一样,有时服务器会因为简单的错误或设计缺陷而填满。到时候,最好有个计划,因为否则,您将陷入磁盘满盘的情况,并度过了非常糟糕的一天。