[DRBD-user] 3 node chain config

Ehud Karni ehud at unix.mvs.co.il
Wed Nov 4 11:23:14 CET 2009

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


On Tue, 3 Nov 2009 11:57:10 paziulek wrote:
>
> I would like to create 2 copies of the primary in a "chain" configuration:
> ( sys1 mirror to sys2, sys2 mirror to sys3 - [same data on all] )
>
> sys1/sda10 -> sys2/sda10 -> sys3sda10

Below is my configuration that does exactly that.

> Q1: is there a way of mirroring the secondary?
> Q2: is there a way of mirroring primary to 2 secondaries? ( I am using drbd
> 0.7.5 on a 2.4.21 system )

Q1 - yes, see my configuration.

Q2 - AFAIK yes, with stacked primary (what I do on the secondary).

Also, I think it works on DRBD 8.3.x only (not on 7.x.x).

> and if somebody would ask why I would need such config:
> I want to mount the sdaX filesystem on sys3 in read-only mode to have access
> to semi-real-time data and at the same time have full mirror on sys2 with no
> sdaX access other than DRBD.

As far as my understanding of DRBD goes, you can not do that.
You can NOT mount (even read only) an updating secondary.

Ehud.


-------------------- /etc/drbd.conf --------------------
##  lcl-nfs  -->  bu-lcl  -->  bu-rmt

common {
  protocol A;

  startup {
    wfc-timeout  60;
  }

  disk {
      on-io-error  pass_on ;
      no-disk-barrier ;
      no-disk-flushes ;
      # no-md-flushes;
      no-disk-drain ;
  }

  net {
    # this is the size of the tcp socket send buffer increase it _carefully_ !!
    sndbuf-size 0;
    rcvbuf-size 0;

    # timeout       60;    #  6 seconds  (unit = 0.1 seconds)
    # connect-int   10;    # 10 seconds  (unit = 1 second)
    # ping-int      10;    # 10 seconds  (unit = 1 second)
    # ping-timeout   5;    # 500 ms (unit = 0.1 seconds)

    max-buffers     8192;
    unplug-watermark   8192;

    # The highest number of data blocks between two write barriers.
    max-epoch-size     8192;

    data-integrity-alg "md5";

  }

  # rate is given in units of _byte_ not bit
  syncer {
    verify-alg md5 ;

    # Configures the size of the active set. Each extent is 4M,
    # 257 Extents ~> 1GB active set size.
    # BTW, the hash algorithm works best if the number of al-extents is prime.
    al-extents  499;

  }

}

resource rmt {
  disk {
    ## stack size 1459913168 K
    ##  meta size     262144 K (256 MB)
             size 1460175312K;
           no-md-flushes ;
  }

  startup {
    become-primary-on bu-lcl ;
  }

  # rate is given in units of _byte_ not bit
  # slow line to Med1 - Max of 6MB
  syncer {
    rate 4M ;
  }

  on bu-lcl {
    device     /dev/drbd0;
    disk       /dev/sdb1;
    address    192.168.0.84:7789;
    meta-disk  /dev/sda4[1];
  }

  on bu-rmt {
    device     /dev/drbd0;
    disk       /dev/md_d0p1;
    address    192.168.1.87:7788;
    meta-disk  /dev/cciss/c0d0p3[0];
  }

}


resource lcl {
  disk {
    size 1459913168K;
  }

  startup {
    become-primary-on  lcl-nfs ;
  }

  # rate is given in units of _byte_ not bit
  syncer {
    rate 30M ;
  }

  on lcl-nfs {
    device     /dev/drbd0;
    disk       /dev/sdb;
    address    192.168.239.1:7789;
    meta-disk  internal;
  }

  stacked-on-top-of rmt {
    device     /dev/drbd1;
    address    192.168.239.2:7788;
  }

}




--
 Ehud Karni           Tel: +972-3-7966-561  /"\
 Mivtach - Simon      Fax: +972-3-7976-561  \ /  ASCII Ribbon Campaign
 Insurance agencies   (USA) voice mail and   X   Against   HTML   Mail
 http://www.mvs.co.il  FAX:  1-815-5509341  / \
 GnuPG: 98EA398D <http://www.keyserver.net/>    Better Safe Than Sorry



More information about the drbd-user mailing list