如何以最少的停机时间重新安装实时生产服务器?

如何以最少的停机时间重新安装实时生产服务器?

我需要重新安装在 VMWare VPS 上运行的 Ubuntu Server。最简单的方法当然是从 mini ISO 进行全新安装。但这是一台生产服务器,我无法承受一小时或更长时间的停机时间。是否有可能在几乎没有停机时间的情况下重新安装(例如 15 分钟左右)?

换句话说,我正在寻找一种在实时 Ubuntu Server 上升级操作系统版本且不会出现明显停机时间的方法。我将手动传输所有设置和数据。

服务器事实:

  • Ubuntu 服务器 10.04.2 LTS amd64
  • 具有控制台访问权限的 VMWare VPS(我可以安装本地 ISO 映像)
  • 单驱动器:
    • /bootsda1, @ext4上 92 MB
    • /root, LVM @ext4上 1.5 GB
    • /srvdata, LVM @ext4上有 19 GB
    • LVM 上的交换swap

我还没有使用过 Linux 文件系统工具(chroot以及类似工具)。不过,我猜行动计划相似的以下可能有效(host是目标 VPS 机器,upgrade是新操作系统):

  1. 安装升级操作系统

    在本地虚拟盒上安装全新的 Ubuntu 服务器。

  2. 传输服务和设置

    将服务和设置从当前操作系统转移到升级操作系统。我尽可能保持配置的可移植性,并用它etckeeper来跟踪配置更改。

  3. 将升级 OS 文件系统复制到主机

    我打算用rsync它把升级操作系统的文件系统复制到主机上。但是把它放在主机的哪里呢?我想到:

    • 一个单独的分区;我需要缩小data主机上的 LVM 并为升级操作系统文件系统准备新的分区。

    • 文件映像;我将在主机的/srv分区上创建一个文件映像,将其安装到主机上(还不知道如何操作)并将升级操作系统文件系统复制到其中。

    • 文件夹;我会将镜像传输到主机/srv分区上的文件夹中。如果可能的话,我认为这是最好的选择。

  4. 使用升级操作系统文件系统替换当前操作系统

    我知道这取决于镜像被转移到了哪里。无论如何,应该可以先切换以测试其是否正常工作,然后再替换文件系统。我可以重新启动并使用恢复控制台或启动 mini ISO 来实现这一点。

步骤 3 和 4 是我需要说明的主要问号。如果您能建议更改我的“计划”或采用不同的方法,请继续。如果能提供说明或文档,我将不胜感激。

編輯:如建议如果没有其他解决方案,我会选择克隆机器。

答案1

我不知道您与 VPS 提供商的商业关系是什么,但是如果这是我的 VMWare 环境,我只需克隆当前生产 VM,使用相邻的 IP 地址启动克隆,应用更改/更新,移动自克隆以来从生产中更改的所有内容,测试更新的克隆,然后在满意时切换 IP 并最终终止原始 VM。

相关内容