public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Helge Hafting <helge.hafting@hist.no>
To: James Courtier-Dutton <James@superbug.demon.co.uk>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [RFC] zero downtime upgrades to the kernel.
Date: Wed, 11 Aug 2004 10:44:54 +0200	[thread overview]
Message-ID: <4119DC86.2050507@hist.no> (raw)
In-Reply-To: <41195339.9080500@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

      parent reply	other threads:[~2004-08-11  8:41 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-10 22:59 [RFC] zero downtime upgrades to the kernel James Courtier-Dutton
2004-08-10 23:36 ` Jesper Juhl
2004-08-10 23:56   ` James Courtier-Dutton
2004-08-11  8:44 ` Helge Hafting [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4119DC86.2050507@hist.no \
    --to=helge.hafting@hist.no \
    --cc=James@superbug.demon.co.uk \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox