我最近注意到,我的一台服务器运行在一个非常老的Xen版本上:
$ dpkg-query -l | grep xen ii libc6-xen 2.11.3-4 Embedded GNU C Library: Shared libraries [Xen version] ii libxenstore3.0 4.0.1-5.10 Xenstore communications library for Xen ii linux-image-2.6.32-5-xen-686 2.6.32-48squeeze1 Linux 2.6.32 for modern PCs, Xen dom0 support ii xen-hypervisor-4.0-amd64 4.0.1-5.10 The Xen Hypervisor on AMD64 ii xen-linux-system-2.6-xen-686 2.6.32+29 Xen system with Linux 2.6 for modern PCs (meta-package) ii xen-linux-system-2.6.32-5-xen-686 2.6.32-48squeeze1 Xen system with Linux 2.6.32 on modern PCs (meta-package) ii xen-tools 4.2-1 Tools to manage Xen virtual servers ii xen-utils-4.0 4.0.1-5.10 XEN administrative tools ii xen-utils-common 4.0.0-1 XEN administrative tools - common files ii xenstore-utils 4.0.1-5.10 Xenstore utilities for Xen
Dom0也很古老:
$ uname -a Linux Dom0 2.6.32-5-xen-686 #1 SMP Mon Feb 25 05:55:06 UTC 2013 i686 GNU/Linux
我不太喜欢这样的生产服务器,我宁愿在做之前三思而行:
$ apt-get update $ apt-get upgrade
在升级之前需要检查什么,在升级过程中是否需要closures并重新启动所有虚拟机?
我只能从我使用Citrix XenServer(免费版)的经验中得知。 有升级真的是小孩子玩的。 从Citrix下载.iso,刻录/写入CD / USB驱动器,从中启动并select升级。 它只会编辑您的安装的现有分区/文件,不会触及您的虚拟机的虚拟磁盘所在的存储库。 重新启动后,一切都像以前一样,即使自动启动机器恢复在线状态。
但据我所知,您既不使用Citrix版也不打算这样做。 根据我对KVM-QEMU的经验,在更新虚拟化环境时不应该有任何问题(上次主要升级甚至无需重新启动)。 在所有情况下(如果可能的话),我build议closures或挂起虚拟机,升级至less应该像这样快。 如果你能忍受一点点宕机。
顺便说一句:Aptitude总是问你是否要安装更多的软件包,或者是否有任何冲突。 或者你可以用–show-upgraded运行它,它只显示它想要升级的东西。
在这种情况下,最小的风险和停机时间可能有点主观,也可能受到可用资源的限制。
无需停机并且对VM数据的风险最小化的“ 理想 ”方式将涉及多个服务器,至less有3个,可能更多,取决于负载和存储要求:
一旦系统就绪, 迁移活动虚拟机相对简单。 一旦从server0迁移到server1,并且validation服务器1上的所有内容都正确运行,则可以停止并升级server0上的相关服务。
如果您有足够的资源来设置这种基础架构,则以这种方式运行虚拟机pipe理程序/虚拟机池可能会有很多优势。 在虚拟机pipe理程序之间有一个经过testing和logging的虚拟机迁移过程,可以让您安排虚拟机pipe理程序的定期维护和停机。 计划的升级和维护允许您保持可能影响安全性和性能的更新。
只需最less的基础架构即可在虚拟机pipe理程序之间实现临时服务迁移,也可以在需要将关键安全补丁应用于生产系统时降低对客户的影响和可见性。
在某些停机时间可以接受的情况下,以及“ 理想 ”更新scheme的基础设施,我通常使用这个过程取得了成功,尽pipe可能会偶尔出现无法预料的问题。 根据以往的经验,如果可能的话,为关键的系统和基础设施保留热备份总是一个好主意。 我已经在openSUSE和CentOS上使用了KVM和Xen这一套步骤的一些变化: