Re: [RFC] zero downtime upgrades to the kernel.

From: Helge Hafting (helge.hafting_at_hist.no)
Date: 08/11/04

  • Next message: David N. Welton: "Re: 2.6 kernel won't reboot on AMD system - 8042 problem?"
    Date:	Wed, 11 Aug 2004 10:44:54 +0200
    To: James Courtier-Dutton <James@superbug.demon.co.uk>
    
    

    James Courtier-Dutton wrote:

    > Has anyone investigated how one might be able to upgrade the linux
    > kernel without rebooting?
    >
    > We could maybe start with just being able to upgrade kernel modules
    > while the modules were still in use.
    >
    > E.g. There is a bug in the hard disc driver, and we have a fix, but
    > don't want to reboot the machine.
    > Could we replace the hard disc driver while it was still being used,
    > and keep mounted partitions?

    You can only upgrade a module that isn't in use. So, umount everything
    using that
    driver (keeping linux running from some other drive (or ramdisk))
    replace module,
    reload module, remount filesystems. This can be quite fast, but you do
    have to
    umount (and stop all the processes running from those disks.)

    There are some trick you can use with disks:
    1. Have root on a initial ramdisk, and never remount to a real disk.
    This way,
        all disks can be umounted so any disk device driver can be
    replaced. You'll
        tie up a fair amount of memory in that big initial ramdisk though.

    2. Consider using multipath and different scsi adapters using different
    drivers.
       Perhaps this will let you unload adapter drivers one at a time while you
       reload the other one, and keeps disks & processes running troughout.

    3. Have two identical pc's sharing a set of scsi equipment. When you
    want to upgrade
    the base kernel on one, set your IP addressses so traffic goes to the other.
    This should work with protocols that allows server reboot, such as nfs.

    You simply won't get a linux kernel (or module) that can be replaced
    while running,
    but redundant hardware may give some of the same benefits.

    Helge Hafting
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: David N. Welton: "Re: 2.6 kernel won't reboot on AMD system - 8042 problem?"

    Relevant Pages

    • Re: accessing NAND flash directly from CE
      ... Yeah I am going to try producing a driver based on the iMX31 NANDFMD code. ... Luckily I have experience with doing kernel upgrades and yes I totally agree ... No upgrade should be performed unless there is wall power and if kernel ... And don't upgrade the bootloader either. ...
      (microsoft.public.windowsce.embedded)
    • Re: kernel panic, Areca, 6.2-REL with GENERIC [Was: Re: 6.2-st panic w/ ggate [Was: Re: kern
      ... On Feb 15, 2007, at 11:06 AM, Scott Long wrote: ... Aug 29 02:11:40 greengoose syslogd: kernel boot file is /boot/ kernel/kernel ... But if not, it seems whatever bug in this driver existed, did not go away... ... Gotta give a big thanks to the whoever is working on these drivers, once you get working with big disks, it takes A LONG TIME to figure out what's wrong... ...
      (freebsd-stable)
    • Re: DRM function pointer work..
      ... >> CVS code into the kernel source tree and tell the user to rebuild his ... He wants to upgrade the driver for one of them (or ... Yes, while I support the current rework and de-templatization of the code, I ...
      (Linux-Kernel)
    • Re: Wireless broken after partial upgrade
      ... wireless connection is no longer available. ... with the newer kernel i think the driver for my wireless card is not ... the driver in use is the Broadcom STA wireless ... I use the same driver & when I did the upgrade to 12 I had no issues. ...
      (Ubuntu)
    • Re: Help with hardware please
      ... Anyhow, put the new board in, booted and got a kernel panic/not ... Are your disks plain IDE or are they SATA? ... IDE driver on the old motherboard? ...
      (comp.os.linux.misc)