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

gad*_*iak 2 linux ubuntu vps installation deployment

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

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

服务器事实:

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

我还没有使用 Linux 文件系统工具(chroot等)的经验。但是,我想类似于以下的行动计划可能会奏效(host目标是 VPS 机器,upgrade是新操作系统):

  1. 安装升级操作系统

    在本地 Virtual Box 上安装新的 Ubuntu 服务器。

  2. 传输服务和设置

    从当前操作系统传输服务和设置以升级操作系统。我尽可能保持配置的便携性,并用于etckeeper跟踪配置更改。

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

    我计划使用rsync将升级操作系统文件系统复制到主机。但是把它放在主机上的什么地方呢?我想到了:

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

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

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

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

    我知道这取决于镜子被转移到哪里。在任何情况下,应该可以先切换以测试它是否工作,然后再替换文件系统。我可以为此重新启动并使用恢复控制台或启动迷你 ISO。

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

编辑:如果没有其他解决方案,我会按照建议使用克隆机器。

Cho*_*er3 9

我不知道你与你的 VPS 提供商的商业关系是什么,但如果这是我的 VMWare 环境,我会简单地克隆当前的生产 VM,将克隆带上相邻的 IP 地址,应用更改/更新,移动任何自克隆以来从生产中更改,测试更新的克隆然后当高兴地切换 IP 并最终杀死原始 VM 时。