[9fans] Subject: Venti, redundancy, and hardware failure. - Plan9

This is a discussion on [9fans] Subject: Venti, redundancy, and hardware failure. - Plan9 ; Sorry if this is a repost, but I haven't seen it show up on groups, so I think I'm OK. I recently asked about mirroring venti arenas and was told that mirroring is generally a good idea. It occurred to ...

+ Reply to Thread
Results 1 to 3 of 3

Thread: [9fans] Subject: Venti, redundancy, and hardware failure.

  1. [9fans] Subject: Venti, redundancy, and hardware failure.

    Sorry if this is a repost, but I haven't seen it show up on groups, so
    I think I'm OK.

    I recently asked about mirroring venti arenas and was told that mirroring
    is generally a good idea. It
    occurred to me that, although I know how to mirror my arenas, I'm not
    clear on how to recover from hardware failure. That is, suppose sdD0
    and sdD1 are dedicated to arenas, they are mirrored, and venti.conf
    has something like 'arenas /dev/fs/arenas'. Now suppose sdD0 goes
    belly up. Do I change '/dev/fs/arenas' to '/dev/sdD1/arenas', in
    venti.conf and fossil conf? Maybe rerun fmtindex? I recall reading
    about setting up venti and recovering fossil from venti, but I don't
    remember seeing anything about this.

    Also, I was looking at venti-backup. I assume that using it to
    'incrementally back up a Venti server to another Venti server' could
    also include just copying the arenas to another device on the same
    machine. Is that right? Even if I can use venti-backup tools in this
    way, is mirroring preferable when it's possible? Why or why not?

    (Hah! Sounds like a quiz. Bad college flashback. :-))

    Greg


  2. Re: [9fans] Subject: Venti, redundancy, and hardware failure.

    > occurred to me that, although I know how to mirror my arenas, I'm not
    > clear on how to recover from hardware failure. That is, suppose sdD0
    > and sdD1 are dedicated to arenas, they are mirrored, and venti.conf
    > has something like 'arenas /dev/fs/arenas'. Now suppose sdD0 goes
    > belly up. Do I change '/dev/fs/arenas' to '/dev/sdD1/arenas', in
    > venti.conf and fossil conf?


    Only if you've changed your mind and
    no longer think mirroring is a good idea.

    What you want to do is re-establish the
    mirror. Assuming that sdD1 is still working,
    you replace sdD0, run dd (or pump(1)) to
    initialize sdD0 with the contents of sdD1.
    Then you keep using /dev/fs/arenas.

    > Maybe rerun fmtindex? I recall reading
    > about setting up venti and recovering fossil from venti, but I don't
    > remember seeing anything about this.


    Let's assume you need to run off sdD1 alone
    for a while until you get your sdD0 replacement.
    The easiest thing to do is change your mirror
    config so that /dev/fs/arenas is now a mirror of
    one disk (if that's not allowed, it should be), just sdD1.
    Then nothing else has to change, since the data
    is still available as /dev/fs/arenas.

    But suppose you are asking "I changed the disk
    device name in venti.conf. What else do I
    need to do for that to take effect?"
    The answer is nothing: fmtindex does write
    down info about the disks, but it names them
    using the names you provided to fmtisect
    and fmtarenas (things like index0 and arenas0.1).
    The only place that a full path name is given
    is in venti.conf. If you move the device to a
    different name (but have the same data), only
    venti.conf needs to change.

    Russ



  3. Re: [9fans] Subject: Venti, redundancy, and hardware failure.

    > But suppose you are asking "I changed the disk
    > device name in venti.conf. What else do I
    > need to do for that to take effect?"
    > The answer is nothing:...


    having been in this situation, here is what I have planned
    to do - but still havent got around to yet ...

    I am going to make two new partitions of one sector each
    which contain modified copies of the venti config but which specify
    only one of the two mirrored disks in my arenas pair.

    This, combined with changes to plan9.ini will allow me to have boot options
    of venti-mirrored (normal venti partition) venti-sd01 and venti-sd02
    which use those named partitions in case one of my physical disks dies;
    these options setting the venti= variable differently.

    this works because venti is passsed the name of the config file it needs
    at startup, by convention this config 'file' is the first few tens of bytes
    in the arenas partition (venti leaves the first chunk of its partition empty
    for this reason, as does fossil). This however is convention only, its the
    config data itself which tells venti where to find its disk partitions.

    -Steve


+ Reply to Thread