在使用磁盘时重新分区?

Ada*_*ins 5 linux ext3 debian

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

问题 1

我有一台 Linux (debian) 服务器,它必须具有最少的停机时间。磁盘有两个分区,一个是/(ext3),一个是swap。我想移动/home到它自己的分区,因为它最初出于某种原因将所有内容都放在一个分区中;但是,我不想让机器停机几分钟来调整磁盘大小并创建新分区。

我可以/在使用时调整大小吗?

问题2

我想最终重新安装同一台服务器。再一次,没有停机时间。一旦我使用问题 1 提供的答案调整了磁盘大小,我是否可以在原始系统仍然在线的情况下以某种方式安装在新分区上。所以我可以简单地重新启动到新的操作系统并删除旧的操作系统分区并调整新分区的大小以接管旧的现在删除分区的空间。

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

一些注意事项和问题:

  • 也许有可能的解决方案是让我以某种方式引导到网络托管内核?
  • 第二个磁盘是不可能的,不幸的是,这台机器在一个非常不灵活的托管服务提供商中。
  • 暂时摆脱掉期会让这成为可能吗?那会给我 2GB 的未分区空间来玩。

Ian*_*ing 2

问题一:

否。来自 man resize2fs “如果安装了文件系统,则可以使用它来扩展已安装文件系统的大小,假设内核支持在线调整大小。”

问题2:

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

购买额外的磁盘。或者,如果您没有物理访问权限,请在另一台服务器在线时将内容迁移到另一台服务器,然后进行快速切换。

对编辑的答复:

是的,还有其他选项可以帮助您减少停机时间。这完全取决于您的服务器正在做什么以及您有哪些选项。我给出了一个通用解决方案,即在两台服务器都在线时将数据移动到另一台服务器,停止服务器 1,启动服务器 2 执行服务器 1 正在执行的操作。修复服务器 1,然后以相同的方式返回到它。

如果没有网络,您可以执行 swapoff,使用 chroot 在交换区中安装 linux,重新启动或尝试使用 kexec,然后快速缩小其他分区并添加一个新分区。