作为前言,我极其我对网络总体上还是个新手,而且我的知识非常有限,甚至连你们认为最基本的东西都不知道。我会尽力跟上你们提供的任何建议。
在描述我的问题之前,让我先确定我的硬件/软件:
硬件
- 服务器主机: OVH.com
- 服务器硬件:SP2(点击此处了解详情)
- 硬盘:2x120GB 固态硬盘
软件
- 操作系统:CentOS 6.4
- Web 控制面板: Parallels Plesk 11.5
问题
今天,我尝试登录服务器上的 Web 应用程序,这时出现以下错误:
这立刻引起了我的警觉,因为我不知道是什么原因引发了这种情况或导致我遇到错误 500。
当我咨询该特定网络面板的提供商时,他们告诉我,这要么是因为网络面板所依赖的 MySQL 数据库已被清除,要么是存在其他问题。
这立刻引起了我的担忧,因为安装后我没有对 MySQL 做任何事情,而且安装后我甚至没有关心过它。
在使用 Multicraft 面板遇到这个问题后,我立即登录到我的 Parallels Plesk 11.5 服务器,看到了以下信息。
“磁盘空间不足”对我来说是新问题,在此之前我从未注意到。大约在这个时候,我在 Plesk 中也遇到了一些 MySQL 小问题,所以我想尝试重新启动以查看它是否会成功;然而,重新启动后,当我随后连接到我的 Plesk 服务器时,出现了以下错误:
经过进一步询问,我被告知通过 SSH 运行df -h
,并收到以下结果:
我现在意识到每个目录中可以保存的数据量是有“上限”的。这就是服务器提供给我的,这绝不是故意的,因为它让我在如何管理数据方面陷入了极大的困境。
然后我得到了以下建议:我应该重新映像我的驱动器以纠正此问题并避免数据丢失。
atomicturtle: yeah thats not a great layout. I usually put everything on /
atomicturtle: on the plus side, Ive seen worse
jflory7: This was how it was provided to me... is there a way I can adjust
that? I presume putting it on / would let the hard drive not be
limited to a particular directory?
atomicturtle: probably not
jflory7: So, I'm stuck with this? :/
atomicturtle: probably
atomicturtle: you could free up space
atomicturtle: boot it single user
atomicturtle: merge / and /var together
atomicturtle: you could also try parted, and make /var smaller an / larger,
or try to merge them together with it
atomicturtle: it might be less work to back it up, and rekick it too
jflory7: So, if I were to back it up, adjust the hard drive partitioning, and
then restoring the backup, that would be an effective way to solve
the problem?
atomicturtle: it might be less work to reimage it, but yeah thats one way to
do it
所以现在我得到的建议是恢复我的系统以正确分配硬盘空间给所有目录,这样我就不必再担心这个问题了。但我不知道如何安全、可靠地做到这一点,而且如前所述,我对这类事情非常非常陌生。
因此,问题是:如何重新映像硬盘以正确分配硬盘内存没有丢失任何数据?
答案1
正如我们在聊天中讨论。您主要的问题是,挂载为根目录的卷上的空间不足。
您的大部分可用空间专用于另一个卷,该卷以 的形式安装/var
。
采用这样的配置通常假定大量数据放置在/var
挂载点下并且根卷仅包含与操作系统相关的数据(尽可能)。
您现在的主要目标应该是确定哪个文件夹占用了您的所有空间。
du -h --max-depth=1
正如我在聊天中指出的那样,一个好方法是在系统的根目录下运行( cd /
)。然后,您应该尝试找到占用最多空间的文件夹,同时忽略下面的任何内容/var
(因为这些文件夹是从具有足够可用空间的卷安装的)。
在聊天中,我们确定您的系统上运行着一个 Minecraft 服务器。该服务器占用了目录中 17GB 的空间/home/minecraft
。将此文件夹移动到/var/opt
是解决您当前问题的第一步。
为了实现这一举措,我们首先尽可能优雅地关闭了 Minecraft。我们首先使用 确定与 Minecraft 相关的进程是否正在运行ps aux | grep minecraft
。
我们请求正在运行的 Minecraft 进程退出,使用kill -s TERM
向 Minecraft 进程发送学期信号(这将导致它正常终止)。
此后,我们就可以移动有问题的文件夹,而不必担心仍然有任何打开的句柄。