SSH 访问 - 重新分配磁盘空间

mat*_*ick 7 server ssh partitioning

我知道这是一个经常被问到的问题,但不幸的是,大多数答案都涉及使用 LiveCD,这在这种情况下是不可能的。我目前在主机上使用运行 Ubuntu 14.04 LTS 的专用服务器,该服务器将大部分磁盘空间分配给 /home 目录。不幸的是,我已经用完了根目录上的磁盘空间,这实际上破坏了我的服务器。我的难题是我已经在服务器上设置了相当多的数据,因此很难在本地备份所有内容并使用更好的分配重新安装专用服务器。

基本上我正在寻找的是一种将 .home 目录中当前所有内容分配到 / 目录的方法。据我所知,在运行时无法重新分配磁盘,所以我真的不知道从哪里开始。我的主机确实提供了一个“救援模式”,它似乎创建了一个临时虚拟机,将当前文件树安装在 /mnt 目录中,但我不太确定是否可以通过它重新分区磁盘。它还有一个“Netboot”选项,我还没有尝试过,但总是有可能的。

我不太确定从哪里开始,所以您能提供的任何帮助将不胜感激!

Ami*_*ias 1

理想情况下,您应该添加另一个磁盘并将系统的部分迁移到该磁盘,但您的托管解决方案可能无法获得该选项。

作为紧急措施,您可以在 /home 文件夹中创建一个环回分区,并将其挂载以用作其他文件夹(如 var 或 usr)之一。这是一个安全问题,因为它可能会授予您的用户帐户 root 访问权限,因此请确保不要将环回放在 Webroot 上或以其他方式共享位置。

如何进行环回 http://www.walkernews.net/2007/07/01/create-linux-loopback-file-system-on-disk-file/

然后编辑 /etc/fstab 文件并添加一个在正确位置安装环回的条目,然后将文件复制到其中。

最终,这可能会使您的服务器对其他人来说更难以理解,并且会对重负载下的性能产生负面影响。这是一种奇怪的磁盘空间重新分配,正确的解决方案是使用 LVM 部署系统,LVM 会抽象磁盘分区,以便您可以动态地重新分配。


小智 0

如果分区中有足够的空间/home,则可以在 /home 分区的某个路径中创建一个目录,并使用该实用程序将该分区安装到需要的位置(mount如果您使用逻辑卷管理器 (LVM)),则可以使用以下命令:

mount --bind <some-path-of-/home partition> <some-path-of-/ partition>
Run Code Online (Sandbox Code Playgroud)

这将安装该路径,直到您下次重新启动为止。但是,您可以/etc/fstab通过在中附加以下行来使用永久设置/etc/fstab

<some-path-of-/ partition> <some-path-of-/home partition> none bind 0 0  
Run Code Online (Sandbox Code Playgroud)

更多信息请参见此链接