HOWTO Remote Kernel Upgrade [出自Gentoo Linux Wiki]

HOWTO Remote Kernel Upgrade http://zh.gentoo-wiki.com/HOWTO_Remote_Kernel_Upgrade

出自Gentoo Linux Wiki跳转到: 导航, 搜索 安装方法 架构/平台 内核 & 硬件 Portage 系统相关 网络 & 服务器 X服务器 软件 游戏 非x86平台 目录 []
  • 1 介绍
  • 2 编译新内核
  • 3 设置 Grub
  • 4 重启
    • 4.1 引导失败
    • 4.2 引导成功
[ 编辑] 介绍

你有一台服务器,想要通过远程升级内核,如果内核启动失败将会怎么样?用grub你可以选择用fallback 来启动内核. 这篇文章将会介绍如何实现. Grub 的版本至少要 0.95 才有这个功能。

[ 编辑] 编译新内核

首先 编译 你想要安装的新内核并且将它移到/boot目录 - 确保文件名与旧内核不一样。

[ 编辑] 设置 Grub

为设置Grub你必须先编辑config文件。假如你是按照"Gentoo手册"的建议建立的分区, 你的boot分区就是 /dev/hda1, 那么你应该先:

mount /dev/hda1 /boot

然后, 在你喜欢的文本编辑器中打开/boot/grub/grub.conf,编辑它:

文件: /boot/grub/grub.conf default saved # 重要!
timeout 10
fallback 1 # 重要!

title A
root (hd1,0)
kernel /kernel-2.6.7
savedefault fallback # 重要!

title B
root (hd2,0)
kernel /kernel-2.6.5
savedefault

现在开始设置Grub在系统重启后引导新内核. 这是 非常重要的, 否则Grub在启动时会死锁在错误编号15,这个错误编号的意思是要求你从配置文件中手工删除 savedefault fallback行。所以在引导重启前请输入这个命令:

grub-set-default 0 [ 编辑] 重启

重启过程中Grub将首先启用新内核,如果因为什么原因导致引导失败,它将会回到“fallback”项的内核。这也许会要求你手工重启电脑,希望你能摸到它的电源按钮。

你也可以在内核选项中添加一项"panic=30" ,这项设置将会在内核启动出错30秒之后自动重启。

解释: 有关远程重起

如果使用了panic=30 选项但内核还不能重起,你就麻烦了。有两种方式实现硬件重起。第一个是让数据中心或colo staff来重起你的机器。 这样往往需要一点时间,有时候会很长。第二个方式是使用“reboot bar”,预知详情请搜索网络。有很多不同的产品,从rack mount units到small 1 outlet units, 比如"iboot"。你也可以使用IPMI,默认嵌入的硬件模块(BMC/miniBMC),就像大多数现代Intel(R)服务器主板一样。它提供网络重起服务器的方式,通过向网卡 发送特殊的数据包,甚至可以跨网段发送。更多信息请看:http://www.gnu.org/software/freeipmi/

[ 编辑] 引导失败

如果内核引导失败,“default kernel”项将自动递进一位,由此而恢复到旧内核。这项操作将在下次启动中进行。

[ 编辑] 引导成功

如果内核引导成功,你就不用再担心什么了。不过在下次重启时它还会fallback到旧内核,所以你可以重新编译config文件或者重新运行grub-set-default

你可能感兴趣的:(#gentoo)