我需要重新安装在 VMWare VPS 上运行的 Ubuntu Server。最简单的方法当然是从 mini ISO 进行全新安装。但这是一台生产服务器,我无法承受一小时或更长时间的停机时间。是否有可能在几乎没有停机时间的情况下重新安装(例如 15 分钟左右)?
换句话说,我正在寻找一种在实时 Ubuntu Server 上升级操作系统版本且不会出现明显停机时间的方法。我将手动传输所有设置和数据。
服务器事实:
- Ubuntu 服务器 10.04.2 LTS amd64
- 具有控制台访问权限的 VMWare VPS(我可以安装本地 ISO 映像)
- 单驱动器:
/boot
sda1
, @ext4上 92 MB/
root
, LVM @ext4上 1.5 GB/srv
data
, LVM @ext4上有 19 GB- LVM 上的交换
swap
我还没有使用过 Linux 文件系统工具(chroot
以及类似工具)。不过,我猜行动计划相似的以下可能有效(host
是目标 VPS 机器,upgrade
是新操作系统):
安装升级操作系统
在本地虚拟盒上安装全新的 Ubuntu 服务器。
传输服务和设置
将服务和设置从当前操作系统转移到升级操作系统。我尽可能保持配置的可移植性,并用它
etckeeper
来跟踪配置更改。将升级 OS 文件系统复制到主机
我打算用
rsync
它把升级操作系统的文件系统复制到主机上。但是把它放在主机的哪里呢?我想到:一个单独的分区;我需要缩小
data
主机上的 LVM 并为升级操作系统文件系统准备新的分区。文件映像;我将在主机的
/srv
分区上创建一个文件映像,将其安装到主机上(还不知道如何操作)并将升级操作系统文件系统复制到其中。文件夹;我会将镜像传输到主机
/srv
分区上的文件夹中。如果可能的话,我认为这是最好的选择。
使用升级操作系统文件系统替换当前操作系统
我知道这取决于镜像被转移到了哪里。无论如何,应该可以先切换以测试其是否正常工作,然后再替换文件系统。我可以重新启动并使用恢复控制台或启动 mini ISO 来实现这一点。
步骤 3 和 4 是我需要说明的主要问号。如果您能建议更改我的“计划”或采用不同的方法,请继续。如果能提供说明或文档,我将不胜感激。
編輯:如建议如果没有其他解决方案,我会选择克隆机器。
答案1
我不知道您与 VPS 提供商的商业关系是什么,但是如果这是我的 VMWare 环境,我只需克隆当前生产 VM,使用相邻的 IP 地址启动克隆,应用更改/更新,移动自克隆以来从生产中更改的所有内容,测试更新的克隆,然后在满意时切换 IP 并最终终止原始 VM。