9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Venkatesh Srinivas <me@acm.jhu.edu>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] Hardware for Plan9
Date: Mon, 11 Jan 2010 11:54:41 -0500	[thread overview]
Message-ID: <20100111165440.GA21617@endeavour> (raw)
In-Reply-To: <126f64914bf395ab797aa58afc6344e6@coraid.com>

On Mon, Jan 11, 2010 at 10:22:49AM -0500, erik quanstrom wrote:
>>
>> An alternate configuration, which takes more memory, but might offer
>> a bit more in the way of survivability, would be to not use fs for venti. Instead,
>> run one venti daemon per disk, with independent arenas/indexes. Insert a little
>> Venti proxy between fossil and your daemons; it should try reads on each
>> venti until one returns a block; it should issue writes to all of them.
>
>why would that be more survivable?

When an fs mirror is out of sync, which mirror holds the right data? Fs has no
way of knowing. Venti at least has the block hashes.

Imagine cutting power after a first disk in a mirror has data written but
subsequent ones don't? With fs, disaster. (well, sorta. devfs always reads from
the first device in a mirror first, and writes to the devices in order as well.
you might get lucky, but you wouldn't know about errors until you have to hit
the second device. at which point its too late.)

Venti deals with incompletely written blocks; the arenas and index structures
are still workable. The situation is even recoverable - a proxy could notice
that one of the backends failed to return a read, so it rewrite the data from
an other copy (which it can verify) to the failed one.

Also, the isolation granted by writing data to two venti daemons is nicer than
scribbling blocks to both disks; you can bring down either back-end venti while
the system is running. You can even move one of the pairs to a remote system.
If disks are removable in your configuration, you can even grow the available
space live.

-- vs



  reply	other threads:[~2010-01-11 16:54 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-11  8:27 Wolfgang Kunz
2010-01-11 13:01 ` Steve Simon
2010-01-11 14:07   ` Venkatesh Srinivas
2010-01-11 15:22     ` erik quanstrom
2010-01-11 16:54       ` Venkatesh Srinivas [this message]
2010-01-11 17:24         ` erik quanstrom
2010-01-11 17:29           ` Venkatesh Srinivas
2010-01-11 13:51 ` erik quanstrom
2010-01-11 16:43   ` Steve Simon
2010-01-11 17:26     ` erik quanstrom
  -- strict thread matches above, loose matches on Subject: below --
2010-01-13  6:46 Wolfgang Kunz
2010-01-11 19:47 Wolfgang Kunz
2010-01-11 20:05 ` erik quanstrom
2010-01-11 17:52 Wolfgang Kunz
2010-01-11 18:00 ` Frederik Caulier
2010-01-11 20:31   ` Akshat Kumar
2010-01-13 12:49     ` matt
2010-01-13 13:28       ` erik quanstrom
2010-01-13 18:16       ` Akshat Kumar
2010-01-11 18:14 ` erik quanstrom
2010-01-11  8:33 Wolfgang Kunz
2010-01-11 13:41 ` erik quanstrom
2010-01-11 19:50 ` Federico G. Benavento
2010-01-11  8:24 Wolfgang Kunz
2010-01-11 13:39 ` erik quanstrom
2010-01-10 13:39 Wolfgang Kunz
2010-01-10 14:06 ` Steve Simon
2010-01-10 15:59 ` erik quanstrom
2010-01-10 16:14   ` Federico G. Benavento
2004-02-16 15:11 [9fans] Hardware for plan9 Ryan
2004-02-16 15:39 ` matt
2004-02-16 15:57 ` David Cantrell
2004-02-16 15:59 ` Jim Choate

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=20100111165440.GA21617@endeavour \
    --to=me@acm.jhu.edu \
    --cc=9fans@9fans.net \
    /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;
as well as URLs for NNTP newsgroup(s).