public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Doug Ledford <dledford@redhat.com>
To: Max TenEyck Woodbury <mtew@cds.duke.edu>
Cc: Eric.Ayers@intec-telecom-systems.com,
	James Bottomley <James.Bottomley@steeleye.com>,
	"Roets, Chris" <Chris.Roets@compaq.com>,
	linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: Linux Cluster using shared scsi
Date: Wed, 02 May 2001 13:47:40 -0400	[thread overview]
Message-ID: <3AF0483C.49C8CF90@redhat.com> (raw)
In-Reply-To: <200105011445.KAA01117@localhost.localdomain> <3AEEDFFC.409D8271@redhat.com> <15086.60620.745722.345084@gargle.gargle.HOWL> <3AF025AE.511064F3@redhat.com> <3AF04648.73F5BFCE@cds.duke.edu>

Max TenEyck Woodbury wrote:
> 
> Doug Ledford wrote:
> >
> > ...
> >
> > If told to hold a reservation, then resend your reservation request once every
> > 2 seconds (this actually has very minimal CPU/BUS usage and isn't as big a
> > deal as requesting a reservation every 2 seconds might sound).  The first time
> > the reservation is refused, consider the reservation stolen by another machine
> > and exit (or optionally, reboot).
> 
> Umm. Reboot? What do you think this is? Windoze?

It's the *only* way to guarantee that the drive is never touched by more than
one machine at a time (notice, I've not been talking about a shared use drive,
only one machine in the cluster "owns" the drive at a time, and it isn't for
single transactions that it owns the drive, it owns the drive for as long as
it is alive, this is a limitation of the filesystes currently available in
mainstream kernels).  The reservation conflict and subsequent reboot also
*only* happens when a reservation has been forcefully stolen from a machine. 
In that case, you are talking about a machine that has been failed over
against its will, and the absolute safest thing to do in order to make sure
the failed over machine doesn't screw the whole cluster up, is to make it
reboot itself and re-enter the cluster as a new failover slave node instead of
as a master node.  If you want a shared common access device with write
locking semantics, as you seem to be suggesting later on, then you need a
different method of locking than what I put in this, I knew that as I wrote it
and that was intentional.

> Really, You can NOT do clustering well if you don't have a consistent locking
> mechanism. The use of a hardware locking method like 'reservation' may be a
> good way to avoid race conditions, but it should be backed up by the
> appropriate exchange of messages to make sure everybody has the same view of
> the system. For example, you might use it like this:
> 
> 1. Examine the lock list for conflicts. If a conflict is found, the lock
>    request fails.
> 
> 2. Reserve the device with the lock on it. If the reservation fails, delay
>    a short amount of time and return to 1.
> 
> 3. Update the lock list for the device.
> 
> 4. When the list update is complete, release the reservation.
> 
> In other words, the reservation acts as a spin-lock to make sure updates
> occur atomically.

Apples to oranges, as I described above.  This is for a failover cluster, not
a shared data, load balancing cluster.

-- 

 Doug Ledford <dledford@redhat.com>  http://people.redhat.com/dledford
      Please check my web site for aic7xxx updates/answers before
                      e-mailing me about problems

  reply	other threads:[~2001-05-02 17:46 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-05-01 13:07 Linux Cluster using shared scsi Roets, Chris
2001-05-01 14:45 ` James Bottomley
2001-05-01 16:10   ` Doug Ledford
2001-05-01 17:05     ` Eric Z. Ayers
2001-05-01 20:38       ` Alan Cox
2001-05-01 20:52         ` James Bottomley
2001-05-01 21:07         ` Eric Z. Ayers
2001-05-01 21:24           ` Alan Cox
2001-05-02 15:20       ` Doug Ledford
2001-05-02 16:37         ` Eddie Williams
2001-05-02 17:20         ` Mike Anderson
2001-05-02 17:50           ` Doug Ledford
2001-05-02 18:55             ` Mike Anderson
2001-05-02 20:31               ` Doug Ledford
2001-05-03 12:53                 ` James Bottomley
2001-05-03 13:52                   ` James Bottomley
2001-05-02 17:39         ` Max TenEyck Woodbury
2001-05-02 17:47           ` Doug Ledford [this message]
2001-05-02 21:03             ` Pavel Machek
2001-05-03 19:57               ` Eric Z. Ayers
2001-05-03 22:32                 ` Jonathan Lundell
2001-05-02 21:47             ` Max TenEyck Woodbury
2001-05-02 23:16               ` Doug Ledford
2001-05-04 14:52             ` Eddie Williams
  -- strict thread matches above, loose matches on Subject: below --
2001-04-27 15:11 James Bottomley
2001-04-27 13:18 Roets, Chris

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=3AF0483C.49C8CF90@redhat.com \
    --to=dledford@redhat.com \
    --cc=Chris.Roets@compaq.com \
    --cc=Eric.Ayers@intec-telecom-systems.com \
    --cc=James.Bottomley@steeleye.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=mtew@cds.duke.edu \
    /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