我有一台装有 debian lenny 的服务器。几年前我在这个服务器上安装了 vserver。摘要我现在有 5 个 vserver 客户端和主系统。每个客户端都是 debian lenny。
现在,我想将这些服务器(每个 Vserver 和主机)上的 lenny 升级到 squeezy。
你会这样做吗?我应该像平常一样升级系统吗?首先我应该升级主机旁边的每个虚拟服务器,并且我必须重置所有机器和虚拟服务器?
请告诉我该怎么做?
答案1
首先确保您的内核是 2.6.32。如果不是,我遇到过这种情况:自动升级因某种原因失败(例如,因为您正在运行 BPO 内核)。在这种情况下,取决于您的体系结构:
aptitude install linux-image-2.6-vserver-amd64
假设使用了上述内核,您可以继续进行系统升级。在类似情况下,我倾向于先升级虚拟机,然后再升级主机本身。
对于虚拟机,该过程如下:
- 更新 /etc/apt/sources.list 以进行 squeeze
执行 APT 更新并下载软件包(特别是从互联网上执行此操作时,假设没有本地存储库镜像):
sudo apt-get clean && sudo aptitude update
sudo aptitude full-upgrade --download-only
确保为硬件安装了适当的驱动程序包。如果发现自己与远程服务器断网了,那可就糟了 :) 例如:
sudo aptitude install firmware-linux-nonfree
进行几次安全升级,直到没有任何内容为止:
sudo aptitude safe-upgrade
最后进行全面升级:
sudo aptitude full-upgrade
对于虚拟机的主机,将需要额外一步将 GRUB 更新为 GRUB2。您可以通过运行以下命令检查引导加载程序是否已正确安装:
update-grub
如果您没有看到任何错误,则很可能可以安全地重新启动。
如果您收到任何有关缺少驱动程序的错误消息,请不要重新启动。重新启动前请安装必要的驱动程序。
根据您的实际环境和设置,上述步骤可能会略有不同,但这些应该可以让您有一个大致的了解。
答案2
我尝试在 linux-vservers 主机和 linux-vservers 客户机上进行升级 - 并且没有遇到任何重大问题。
小问题是: - Linux vserver 主机上缺少驱动程序/驱动程序不好 - 有时它们需要独立升级(网卡 - r8168、e1000、dahdi 驱动程序……) - squeeze 上的一些应用程序需要比 lenny 更新的内核 - 所以当我只升级客户机而不是主机时会出现问题(但这种情况很少见)
在大多数情况下 - 在主机上运行 apt-get dist-upgrade 就足够了,然后 - 一个接一个地 - 在客户机上运行 dist-upgrade 就足够了。
如果您正在使用 vhashify 功能 - 请记住,一个虚拟服务器上的 dist-upgrade 通常会破坏统一 - 您必须在升级客户机后重新调用它到那里的备用位置。