LINUX:升级生产机器
我们的生产机器在 debian etch 上运行。 现在,他们终于发布了lenny,有一天我们需要升级这些系统。 我怎样才能以最小的风险做到这一点? 是否有任何前提、备用方案的准备?如果出现问题,我是否需要备用计划? 除了由 debian 安装程序处理的二进制包之外,机器上还运行着一些已编译的应用程序。
Our production machines are running on debian etch. Now, they finally released lenny, the day will come we need to upgrade these systems. How can I do this with minimal risk? Are there any premises, preparations of fall-back scenarios and do I need a plan B in case something goes wrong? Besides the binary packages handled by the debian installer there are a couple of compiled applications running on the machines.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
就我个人而言,我不会升级重要服务器上的任何操作系统。 操作系统升级总是有可能出现细微的错误,无论是 Windows、Linux 还是其他操作系统。 Debian 在这方面比以前做得更好了; dist-upgrade 不再像以前那样频繁地对机器进行软管清洗。 但对于生产机器来说,没有必要冒这个风险。
设置具有新操作系统和应用程序部署的新服务器,并根据需要进行交换。 无需急于在全公司范围内一次性更换 Etch。 它将在一段时间内得到安全更新的支持。
Personally I wouldn't upgrade any OS on an important server. OS upgrades always have the potential for subtle bugs, whether it's Windows, Linux or anything else. Debian has got better than it used to be in this regard; dist-upgrade doesn't hose the machine nearly as often as it used to back in the day. But for production machines there is no point in risking it.
Set up new servers with a fresh OS and application deployment and swap them in as needs arise. There is no need to hurry to replace Etch companywide in one go. It will be supported with security updates for a while yet.
刚刚经历了一些开发盒的转换,我想指出,您可能需要重新编译要链接的任何自定义库。 Lenny 使用 GCC 4.3,而 Etch 使用 4.1。 任一编译器的输出与另一个编译器的输出不太兼容。 您可能需要安装 gcc-4.1 软件包来执行诸如编译自定义内核模块之类的操作。
如果您使用具有插件界面的第三方工具,您可能会遇到挑战。 我在使用 Matlab 插件(mex 文件)时遇到了麻烦。
我建议从测试系统开始。 经过一段时间的锤击并确认一切正常后,将其切换为生产盒。
Having just gone through that transition for some dev boxes, I wanted to point out that you'll probably want to recompile any custom libraries that you'll be linking against. Lenny uses GCC 4.3, whereas Etch uses 4.1. The output from either compiler isn't very compatible with the other. You may need to install the gcc-4.1 package to do things like compile custom kernel modules.
If you're using 3rd party tools that have a plugin interface, you may have challenges there. I've been having troubles getting Matlab plugins (mex files) to work.
I'd suggest starting with a test system. After hammering it for a while and verifying that everything's working, switch it to be a production box.
大多数人不更新生产服务器正是出于这个原因 - 如果它工作正常,你就不会更新,除非你有一个令人信服的理由。
假设您有一个与生产机器类似的开发盒,您可以在开发盒上模拟更新。
Most people don't update production servers for exactly this reason - if it's working correctly, you wouldn't update unless you had a compelling reason.
Assuming you have a dev box built similarly to the production machine, you can simulate the update on the dev box.