磁盘正在使用时重新分区?

我有两个密切相关的问题,所以我将把它们放在一个SF问题中:

问题1

我有一个Linux(Debian)服务器,它必须有最小的停机时间。 该磁盘有两个分区,一个是/ext3),一个是交换分区。 我想移动到自己的分区,因为它原来是由于某种原因在一个分区上build立的。 然而,我不想让机器停机多分钟来调整磁盘大小并创build一个新的分区。

是否有可能调整/使用它?

问题2

我想最终重新安装这个相同的服务器。 再一次,没有宕机。 一旦我使用提供给问题1的答案重新调整了磁盘大小后,可以以某种方式在原始系统仍处于联机状态的情况下安装在新的分区上。 因此,我可以简单地重新启动到新的操作系统,并删除旧的操作系统分区,并调整新的分区来接pipe旧的现在删除分区的空间。

感谢您对这个有点奇怪的问题的回应,令人不快的是我对这个特定的项目缺乏服务器。 不幸的是,我怀疑这是不能做的,但是我认为在得出结论之前我最好检查一下。

一些笔记和问题:

  • 也许有可能的解决办法可能是我以某种方式启动到networking托pipe内核?
  • 第二个磁盘是不可能的,这台机器不幸是一个非常灵活的托pipe服务提供商。
  • 暂时摆脱掉这个可能吗? 那会给我2GB未分区的空间来玩。

问题1:

从man resize2fs编号“如果挂载了文件系统,假设内核支持在线resize,则可以使用它扩展已挂载文件系统的大小。”

问题2:

是的,你可以在使用chroot运行时安装在不同的分区上。

买一个额外的磁盘。 或者,如果您没有物理访问权限,请将其移到另一台服务器上,然后进行快速切换。

回答编辑:

是的,还有其他的select可以帮助您减less停机时间。 这取决于你的服务器在做什么,你有什么select。 我给出了一个通用的解决scheme,将数据移动到另一台服务器,同时联机,停止服务器1,启动服务器2,执行服务器1的操作。 修复服务器1,然后以相同的方式回到它。

如果没有networking,你可以做swapoff,使用chroot在交换中安装linux,重新启动或者用kexec尝试一些东西,然后快速缩小你的其他分区并添加一个新分区。

得到一个新的托pipe服务提供商。 正如伊恩已经回答,你不能缩小一个挂载的ext3文件系统,但是一旦你有空间,你可以重新安装在chroot(debootstrap),并重新启动切换。

删除交换是获得第二部分的空间的可能性,因为如果你可以挤压你需要重新安装到交换分区的所有东西,你可以启动该分区,摆脱当前的根分区,使它变小一点,并把它变成/ home,在新释放的空间中创build一个新的交换分区,然后从此处继续。

考虑到必要的停机时间,以及造成大量混乱的可能性,更不用说花时间去做所有事情(包括在发生故障时清理所需的成本)首先解决您的托pipe情况。 仅仅因为你可以做到这一点,如果你真的不得不强迫你去做一个没用的供应商。

哦,下一次,给LVM一个尝试,只分配空间,因为你需要它。 在线扩展ext3是天赐之物。