linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/12] DRBD: a block device for HA clusters
@ 2009-03-23 15:47 Philipp Reisner
  2009-03-23 15:47 ` [PATCH 01/12] DRBD: lru_cache Philipp Reisner
  0 siblings, 1 reply; 31+ messages in thread
From: Philipp Reisner @ 2009-03-23 15:47 UTC (permalink / raw)
  To: linux-kernel; +Cc: philipp.reisner, gregkh

Hi,

this is a series of patches aimed at integrating DRBD (www.drbd.org) into
upstream linux kernel. DRBD is a shared-nothing replicated storage device
that's a commonly encountered building block in high availability clusters.

For a variety of reasons now obsolete, DRBD has been maintained as an out of
tree module for 9 years and counting. We, the DRBD developers, would like to
fix that and would like to encourage everybody to review our code, tear it
apart and break it to pieces, so we can ultimately get this to merge.

Only the first patch is self contained (the lru_cache). The other parts of
the patch are split on file boundaries, but are not self contained.

Cheers,
 Phil (writing on behalf of the DRBD developer community)

^ permalink raw reply	[flat|nested] 31+ messages in thread
* [PATCH 00/12] DRBD: a block device for HA clusters
@ 2009-03-30 16:47 Philipp Reisner
  2009-04-07 10:26 ` Lars Marowsky-Bree
  2009-04-07 12:23 ` Nikanth K
  0 siblings, 2 replies; 31+ messages in thread
From: Philipp Reisner @ 2009-03-30 16:47 UTC (permalink / raw)
  To: linux-kernel; +Cc: gregkh, jens.axboe, nab, andi

Hi,

  This is a repost of DRBD, to keep you updated about the ongoing
  cleanups.

Description

  DRBD is a shared-nothing, synchronously replicated block device. It
  is designed to serve as a building block for high availability
  clusters and in this context, is a "drop-in" replacement for shared
  storage. Simplistically, you could see it as a network RAID 1.

  Each minor device has a role, which can be 'primary' or 'secondary'.
  On the node with the primary device the application is supposed to
  run and to access the device (/dev/drbdX). Every write is sent to
  the local 'lower level block device' and, across the network, to the
  node with the device in 'secondary' state.  The secondary device
  simply writes the data to its lower level block device.

  DRBD can also be used in dual-Primary mode (device writable on both
  nodes), which means it can exhibit shared disk semantics in a
  shared-nothing cluster.  Needless to say, on top of dual-Primary
  DRBD utilizing a cluster file system is necessary to maintain for
  cache coherency.

  This is one of the areas where DRBD differs notably from RAID1 (say
  md) stacked on top of NBD or iSCSI. DRBD solves the issue of
  concurrent writes to the same on disk location. That is an error of
  the layer above us -- it usually indicates a broken lock manager in
  a cluster file system --, but DRBD has to ensure that both sides
  agree on which write came last, and therefore overwrites the other
  write.

  More background on this can be found in this paper:
    http://www.drbd.org/fileadmin/drbd/publications/drbd8.pdf

  Beyond that, DRBD addresses various issues of cluster partitioning,
  which the MD/NBD stack, to the best of our knowledge, does not
  solve. The above-mentioned paper goes into some detail about that as
  well.

  DRBD can operate in synchronous mode, or in asynchronous mode. I want
  to point out that we guarantee not to violate a single possible write
  after write dependency when writing on the standby node. More on that
  can be found in this paper:
    http://www.drbd.org/fileadmin/drbd/publications/drbd_lk9.pdf

  Last not least DRBD offers background resynchronisation and keeps
  a on disk representation of the dirty bitmap up-to-date. A reasonable
  tradeoff between number of updates, and resyncing more than needed
  is implemented with the activity log.
  More on that:
    http://www.drbd.org/fileadmin/drbd/publications/drbd-activity-logging_v6.pdf

Changes since the last post from DRBD upstream

  * Updated to the final drbd-8.3.1 code
  * Optionally run-length encode bitmap transfers

Changes triggered by reviews

  * Using the latest proc_create() now
  * Moved the allocation of md_io_tmpp to attach/detach out of drbd_md_sync_page_io()
  * Removing the mode selection comments for emacs
  * Removed DRBD_ratelimit()

cheers,
  Phil

^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2009-04-08 15:12 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-03-23 15:47 [PATCH 00/12] DRBD: a block device for HA clusters Philipp Reisner
2009-03-23 15:47 ` [PATCH 01/12] DRBD: lru_cache Philipp Reisner
2009-03-23 15:47   ` [PATCH 02/12] DRBD: activity_log Philipp Reisner
2009-03-23 15:47     ` [PATCH 03/12] DRBD: bitmap Philipp Reisner
2009-03-23 15:47       ` [PATCH 04/12] DRBD: request Philipp Reisner
2009-03-23 15:48         ` [PATCH 05/12] DRBD: userspace_interface Philipp Reisner
2009-03-23 15:48           ` [PATCH 06/12] DRBD: internal_data_structures Philipp Reisner
2009-03-23 15:48             ` [PATCH 07/12] DRBD: main Philipp Reisner
2009-03-23 15:48               ` [PATCH 08/12] DRBD: receiver Philipp Reisner
2009-03-23 15:48                 ` [PATCH 09/12] DRBD: proc Philipp Reisner
2009-03-23 15:48                   ` [PATCH 10/12] DRBD: worker Philipp Reisner
2009-03-23 15:48                     ` [PATCH 11/12] DRBD: misc Philipp Reisner
2009-03-23 15:48                       ` [PATCH 12/12] DRBD: final Philipp Reisner
2009-04-08 10:17                 ` [PATCH 08/12] DRBD: receiver Nikanth K
2009-04-08 15:10                   ` Philipp Reisner
2009-03-23 16:51               ` [PATCH 07/12] DRBD: main Alexey Dobriyan
2009-03-23 22:26                 ` Philipp Reisner
2009-04-08 10:16         ` [PATCH 04/12] DRBD: request Nikanth K
2009-04-08 10:16       ` [PATCH 03/12] DRBD: bitmap Nikanth K
2009-04-08 15:09         ` Philipp Reisner
2009-03-24 12:27     ` [PATCH 02/12] DRBD: activity_log Andi Kleen
2009-03-25 10:27       ` Philipp Reisner
2009-03-25 10:46         ` Andi Kleen
2009-03-25 10:57           ` Philipp Reisner
2009-03-23 15:58   ` [PATCH 01/12] DRBD: lru_cache Greg KH
2009-04-08 10:15   ` Nikanth K
2009-04-08 15:09     ` Philipp Reisner
2009-03-30 16:47 [PATCH 00/12] DRBD: a block device for HA clusters Philipp Reisner
2009-04-07 10:26 ` Lars Marowsky-Bree
2009-04-07 12:23 ` Nikanth K
2009-04-07 15:56   ` Philipp Reisner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).