远程升级Ubuntu:如何最大限度地减less丢失服务器的风险?

背景:由于raid控制器的兼容性问题,我不得不从Ubuntu 8.04 LTS远程升级服务器到10.04 LTS。

互联网连接到服务器是有点稳定,很less下降。 尽pipe我担心在升级过程中通过SSH丢失连接,导致服务器处于不可访问状态。 我也担心升级后服务器无法启动,万一我不知道是什么问题。

行动计划:我正在寻找的是build议,以尽量减less失去服务器的风险,我知道我在做什么是非常危险的。 这是我目前的行动计划:

1)在本地和外部备份所有重要的东西。

2)使用fsck临时禁用引导时间磁盘检查。 (如果磁盘检查需要很长时间才能完成,我不知道发生了什么)。 这将通过fstab通过将最后一个参数从1更改为0来完成:

UUID=5b1ff964-7608-44fd-a38d-7e43ad6b4c11 / ext3 relatime,errors=remount-ro 0 0 

3)使用屏幕启动所有升级过程,以便在丢失连接时恢复。 即:

 sudo screen apt-get upgrade 

问题:

  • 我提议的行动计划是否合理?
  • 禁用启动时间磁盘检查一个坏主意?
  • 还有什么可以做的,以减less失去服务器的风险?

更新:几乎所有的答案都build议我设置我现在已经完成的DRAC / IPMI。 这感觉就像是一个非常好的成果,肯定会让风险小得多,因为我可以通过KVM /控制台redirect来关注整个电源周期。 为了将来的参考,这是我所做的:

1)安装ipmitool为IPMI v2.0设置IP地址,网关等:

 sudo ipmitool lan set 1 ipaddr 192.168.1.99 sudo ipmitool lan set 1 defgw ipaddr 192.168.1.1 

2)安装free-ipmi将网卡select模式改为共享(我只有一个networking接口连接到networking):

 sudo ipmi-oem dell set-nic-selection shared 

3)在https://192.168.1.99上使用DRAC的https界面启动控制台redirect查看器。 这使我可以按照整个启动顺序以及configurationBIOS,RAID控制器等。真棒。


更新2.完成。 一切都很有魅力,用了不到30分钟的时间来完成这项工作。 我最终没有关掉磁盘检查,因为redirect的控制台给了我任何时候打断它的自由,但是我让它运行到最后。

谢谢你们,你们的智慧是无价的!

如果硬件没有中断,串口控制台就不能做任何事情,所以这是一条路:

  • 获得对串行控制台的一些远程访问(如果系统具有> = IPMI-2.0,或者将串行电缆连接到另一个运行minicom的系统上,则通过局域网上的IPMI串行)
  • configurationgrub和linux来使用串行控制台
  • 如果可能的话,串行redirect系统BIOS接口(许多服务器系统都可以这样做)
  • 重新启动系统,并检查你可以使用(bios),grub,看到dmesg,看到init脚本,并通过串行控制台login
  • 运行升级
  • 交叉你的手指

另外,如果可能的话,将新系统安装在另一个磁盘或分区上,以便在擦除旧系统之前testing新系统。 我通常用两个磁盘系统来做这件事:我从镜子中取出一个磁盘,用空闲磁盘创build一个新的(退化的)镜像,安装在那里,如果一切正常的话,我就摧毁旧镜像并热添加“旧”磁盘到新的镜像,让它重build。

编辑:我读它是一个戴尔R710,AFAIK应该有IPMI2。 configuration它在系统上本地运行ipmitool,然后在另一个系统上使用ipmitool sol enabletestingserial over lanfunction。 砰! 你有你的串口控制台。 戴尔还可以在串行控制台上重新定向BIOS(IPMI将依次在串口上redirect)。 如果事情变得非常糟糕,你应该做到这一点来访问系统。 我使用带有bios,grub,系统串口控制台的零调制解调器电缆以及几个Dell R300pipe理一些旧的戴尔PE1425,但是使用IPMI串口通过局域网取代实际的串行电缆。

就个人而言,取决于这个服务器对您(您的业务等)的重要性,我会把我的手放在一个类似的系统上,然后尝试复制环境,然后通过SSH在房间中对其进行升级(或者在物理上访问)所以你可以testing你的程序。 如果您可以在不丢失configuration/连接的情况下进行升级,那么您可以很好地升级远程服务器。

这并不是100%确切的,但是至less应该消除软件升级,软件configuration,变更等引起的错误,只要你可以使testing系统尽可能地configuration到你的远程服务器。

编辑:另一种解决scheme是创build第二个服务器作为故障转移第一。 这样,如果服务器死亡,您仍然有客户/用户的备份,直到主服务器恢复。 这应该可以减轻你有一台服务器如此遥远的一些蝴蝶。 同样,在许多情况下,这可能有点矫枉过正,但是这取决于这个业务服务器对你的公司的重要性,以及影响宕机的时间会有多less你愿意花费在确保它是可用的完全失败。

我认为带外pipe理(我最熟悉惠普的iLO),甚至IP KVM将是您最好的select。

正如巴特所说,如果你拥有资源,testing是无价的(阅读:一个备用的类似盒子或同胞群成员)。

最后(或者第一个,实际上)备份。 经testing的备份。 备份你可以引以为傲