我需要重新安装在VMWare VPS上运行的Ubuntu服务器。 最简单的方法当然是从迷你ISO进行全新安装。 但它是一个生产服务器,我不能承受一个小时或更长的停机时间。 是否有可能重新安装几乎没有停机时间(比如15分钟左右)?
换句话说,我正在寻找一种方法来升级Ubuntu服务器上的操作系统版本,而不会出现明显的停机时间。 我将手动传输所有设置和数据。
服务器事实:
/boot ,在sda1 @ ext4上为92 MB / ,在LVM root @ ext4上为1.5 GB /srv ,在LVM data @ ext4上为19 GB swap 我还没有使用Linux文件系统工具( chroot等)的经验。 不过, 我猜想 类似于下面的行动计划可能工作( host是目标VPS机器, upgrade是新的操作系统):
安装升级操作系统
在本地虚拟Box上安装一个新的Ubuntu服务器。
转移服务和设置
从当前操作系统传输服务和设置以升级操作系统。 我保持configuration尽可能便携,并使用etckeeper来跟踪configuration更改。
将OS文件系统升级到主机
我打算使用rsync将升级操作系统文件系统复制到主机。 但是把它放在主机上? 我想到:
一个单独的分区; 我需要收缩主机上的LVM data ,并为升级OS文件系统准备新的分区。
一个文件映像; 我会在主机的/srv分区上创build一个文件映像,将其挂载到主机上(不知道该怎么做),并将升级的操作系统文件系统复制到主机上。
一个文件夹; 我会将镜像转移到主机/srv分区上的文件夹中。 如果可能的话,这将是IMO的最佳select。
用升级的OS文件系统replace当前的OS
我知道这取决于镜子被转移到哪里。 在任何情况下,都应该可以首先进行testing,然后再replace文件系统。 我可以负担得起重新启动,并使用恢复控制台或启动微型ISO的。
步骤3和4是我需要指示的主要问号。 如果您可以build议更改我的“计划”或采取其他方法,请继续。 参考说明或文件,将不胜感激。
编辑: build议如果我没有其他解决scheme,我会去一个克隆机。
我不知道你的VPS提供商与你的商业关系是什么,但是如果这是我的VMWare环境,我只需简单地克隆当前的生产虚拟机,用相邻的IP地址提取克隆,应用更改/更新,移动任何从克隆以来的生产改变,testing更新的克隆,然后快乐切换IP,并最终杀死原来的虚拟机。