Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

1:N 

A way to configure mirror on N nodes from one node.

...

Code Block
titleWindows R0
collapsetrue
resource r0 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on w28r2-4 {
		node-id 1;
		device    d  minor 1;
		disk      d;
		meta-disk m;
		address   31.1.1.154:7789;
	}
	on w28r2-5 {
		node-id 2;
		device    d minor 1;
		disk      d;
		meta-disk m;
		address   31.1.1.155:7789;
	}
	on w28r2-6 {
		node-id 3;
		device    d minor 1;
		disk      d;
		meta-disk m;
		address   31.1.1.156:7789;
	}
	on w28r2-7 {
		node-id 4;
		device    d minor 1;
		disk      d;
		meta-disk m;
		address   31.1.1.157:7789;
	}
	connection 4-5 {
		host w28r2-4 address 31.1.1.154:6677 via proxy on c73-p1 {
			inside 31.1.1.191:6678;
			outside 31.1.1.191:6679;
		}
		host w28r2-5 address 31.1.1.155:6677 via proxy on c73-p2 {
			inside 31.1.1.192:6678;
			outside 31.1.1.192:6679;
		}
	}
	connection 4-6 {
		host w28r2-4 address 31.1.1.154:6680 via proxy on c73-p1 {
			inside 31.1.1.191:6681;
			outside 31.1.1.191:6682;
		}
		host w28r2-6 address 31.1.1.156:6680 via proxy on c73-p2 {
			inside 31.1.1.192:6681;
			outside 31.1.1.192:6682;
		}
	}
	connection 4-7 {
		host w28r2-4 address 31.1.1.154:6683 via proxy on c73-p1 {
			inside 31.1.1.191:6684;
			outside 31.1.1.191:6685;
		}
		host w28r2-7 address 31.1.1.157:6683 via proxy on c73-p2 {
			inside 31.1.1.192:6684;
			outside 31.1.1.192:6685;
		}
	}
}
Code Block
titleLinux DRX R0
collapsetrue
resource r0 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on w28r2-4 {
		node-id 1;
		device    /dev/drbd1;
		disk   /dev/sdm1;
		meta-disk /dev/sdm1;
		address   31.1.1.154:7789;
	}
	on w28r2-5 {
		node-id 2;
		device    /dev/drbd2;
		disk   /dev/sdm2;
		meta-disk /dev/sdm2;
		address   31.1.1.155:7789;
	}
	connection 4-5 {
		host w28r2-4 address 31.1.1.154:6677 via proxy on c73-p1 {
			inside 31.1.1.191:6678;
			outside 31.1.1.191:6679;
		}
		host w28r2-5 address 31.1.1.155:6677 via proxy on c73-p2 {
			inside 31.1.1.192:6678;
			outside 31.1.1.192:6679;
		}
	}
}

resource r0-1 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on w28r2-4 {
		node-id 1;
		device    /dev/drbd2;
		disk   /dev/sdm2;
		meta-disk /dev/sdm2;
		address   31.1.1.154:7789;
	}
	on w28r2-6 {
		node-id 3;
		device    /dev/drbd3;
		disk   /dev/sdm3;
		meta-disk /dev/sdm3;
		address   31.1.1.156:7789;
	}
	connection 4-6 {
		host w28r2-4 address 31.1.1.154:6680 via proxy on c73-p1 {
			inside 31.1.1.191:6681;
			outside 31.1.1.191:6682;
		}
		host w28r2-6 address 31.1.1.156:6680 via proxy on c73-p2 {
			inside 31.1.1.192:6681;
			outside 31.1.1.192:6682;
		}
	}
}

resource r0-2 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on w28r2-4 {
		node-id 1;
		device    /dev/drbd3;
		disk   /dev/sdm3;
		meta-disk /dev/sdm3;
		address   31.1.1.154:7789;
	}
	on w28r2-7 {
		node-id 4;
		device    /dev/drbd3;
		disk   /dev/sdm3;
		meta-disk /dev/sdm3;
		address   31.1.1.157:7789;
	}
	connection 4-7 {
		host w28r2-4 address 31.1.1.154:6683 via proxy on c73-p1 {
			inside 31.1.1.191:6684;
			outside 31.1.1.191:6685;
		}
		host w28r2-7 address 31.1.1.157:6683 via proxy on c73-p2 {
			inside 31.1.1.192:6684;
			outside 31.1.1.192:6685;
		}
	}
}

...

  • Same as left
  • Same as 'DRBD in LAN'

...

Code Block
titleLinux R0
collapsetrue
resource r0 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on c74-1 {
		node-id 1;
		device    /dev/drbd0;
		disk   /dev/sdd1;
		meta-disk /dev/sdb1;
		address   31.1.1.164:7789;
	}
	on c74-2 {
		node-id 2;
		device    /dev/drbd0;
		disk   /dev/sdd1;
		meta-disk /dev/sdb1;
		address   31.1.1.165:7789;
	}
	on c74-3 {
		node-id 3;
		device    /dev/drbd0;
		disk   /dev/sdd1;
		meta-disk /dev/sdb1;
		address   31.1.1.166:7789;
	}
	on c74-4 {
		node-id 4;
		device    /dev/drbd0;
		disk   /dev/sdd1;
		meta-disk /dev/sdb1;
		address   31.1.1.167:7789;
	}
	connection 1-2 {
		host c74-1 address 31.1.1.164:6677 via proxy on c73-p1 {
			inside 31.1.1.191:6678;
			outside 31.1.1.191:6679;
		}
		host c74-2 address 31.1.1.165:6677 via proxy on c73-p2 {
			inside 31.1.1.192:6678;
			outside 31.1.1.192:6679;
		}
	}
	connection 1-3 {
		host c74-1 address 31.1.1.164:6680 via proxy on c73-p1 {
			inside 31.1.1.191:6681;
			outside 31.1.1.191:6682;
		}
		host c74-3 address 31.1.1.166:6680 via proxy on c73-p2 {
			inside 31.1.1.192:6681;
			outside 31.1.1.192:6682;
		}
	}
	connection 1-4 {
		host c74-1 address 31.1.1.164:6683 via proxy on c73-p1 {
			inside 31.1.1.191:6684;
			outside 31.1.1.191:6685;
		}
		host c74-4 address 31.1.1.167:6683 via proxy on c73-p2 {
			inside 31.1.1.192:6684;
			outside 31.1.1.192:6685;
		}
	}
}
Code Block
titleLinux DRX R0
collapsetrue
resource r0 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on c74-1 {
		node-id 1;
		device    /dev/drbd0;
		disk   /dev/sdd1;
		meta-disk /dev/sdb1;
		address   31.1.1.164:7789;
	}
	on c74-2 {
		node-id 2;
		device    /dev/drbd1;
		disk   /dev/sdd1;
		meta-disk /dev/sdb1;
		address   31.1.1.165:7789;
	}
	connection 1-2 {
		host c74-1 address 31.1.1.164:6677 via proxy on c73-p1 {
			inside 31.1.1.191:6678;
			outside 31.1.1.191:6679;
		}
		host c74-2 address 31.1.1.165:6677 via proxy on c73-p2 {
			inside 31.1.1.192:6678;
			outside 31.1.1.192:6679;
		}
	}
}
resource r0-1 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on c74-1 {
		node-id 1;
		device    /dev/drbd2;
		disk   /dev/sdd2;
		meta-disk /dev/sdb2;
		address   31.1.1.164:7789;
	}
	on c74-3 {
		node-id 3;
		device    /dev/drbd2;
		disk   /dev/sdd2;
		meta-disk /dev/sdb2;
		address   31.1.1.166:7789;
	}
	connection 1-3 {
		host c74-1 address 31.1.1.164:6680 via proxy on c73-p1 {
			inside 31.1.1.191:6681;
			outside 31.1.1.191:6682;
		}
		host c74-3 address 31.1.1.166:6680 via proxy on c73-p2 {
			inside 31.1.1.192:6681;
			outside 31.1.1.192:6682;
		}
	}
}
resource r0-2 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on c74-1 {
		node-id 1;
		device    /dev/drbd3;
		disk   /dev/sdd3;
		meta-disk /dev/sdb3;
		address   31.1.1.164:7789;
	}
	on c74-4 {
		node-id 4;
		device    /dev/drbd3;
		disk   /dev/sdd3;
		meta-disk /dev/sdb3;
		address   31.1.1.167:7789;
	}
	connection 1-4 {
		host c74-1 address 31.1.1.164:6683 via proxy on c73-p1 {
			inside 31.1.1.191:6684;
			outside 31.1.1.191:6685;
		}
		host c74-4 address 31.1.1.167:6683 via proxy on c73-p2 {
			inside 31.1.1.192:6684;
			outside 31.1.1.192:6685;
		}
	}
}

...

  • Same as left

...

  • Same as 'DRBD in LAN'

N:1

A way to configure mirror on 1 node from N nodes.

...

Code Block
titleWindows R0
collapsetrue
resource r0 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on w28r2-4 {
		device    d minor 1;
		disk     d;
		meta-disk  m;
		node-id 1;
		address   31.1.1.154:6677;
	}
	on w28r2-7 {
		device    d minor 1;
		disk     d;
		meta-disk  m;
		node-id 4;
		address   31.1.1.157:6677;
	}

	connection 4-7 {
		host w28r2-4 address 31.1.1.154:6677 via proxy on c73-p1 {
			inside 31.1.1.191:6678;
			outside 31.1.1.191:6679;
		}
		host w28r2-7 address 31.1.1.157:6677 via proxy on c73-p2 {
			inside 31.1.1.192:6678;
			outside 31.1.1.192:6679;
		}
	}
}

resource r0-1 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on w28r2-5 {
		device    d minor 1;
		disk     d;
		meta-disk  m;
		node-id 2;
		address   31.1.1.155:6680;
	}
	on w28r2-7 {
		device    e minor 2;
		disk     e;
		meta-disk  n;
		node-id 4;
		address   31.1.1.157:6680;
	}
	connection 5-7 {
		host w28r2-5 address 31.1.1.155:6680 via proxy on c73-p1 {
			inside 31.1.1.191:6681;
			outside 31.1.1.191:6682;
		}
		host w28r2-7 address 31.1.1.157:6680 via proxy on c73-p2 {
			inside 31.1.1.192:6681;
			outside 31.1.1.192:6682;
		}
	}
}

resource r0-2 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on w28r2-6 {
		device    d minor 1;
		disk     d;
		meta-disk  m;
		node-id 3;
		address   31.1.1.156:6683;
	}
	on w28r2-7 {
		device    f minor 3;
		disk     f;
		meta-disk  o;
		node-id 4;
		address   31.1.1.157:6683;
	}
	connection 6-7 {
		host w28r2-6 address 31.1.1.156:6683 via proxy on c73-p1 {
			inside 31.1.1.191:6684;
			outside 31.1.1.191:6685;
		}
		host w28r2-7 address 31.1.1.157:6683 via proxy on c73-p2 {
			inside 31.1.1.192:6684;
			outside 31.1.1.192:6685;
		}
	}
}
Code Block
titleLinux DRX R0
collapsetrue
resource r0 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on w28r2-4 {
		device /dev/drbd1;
		disk     /dev/sdd;
		meta-disk  /dev/sdm;
		node-id 1;
		address   31.1.1.154:6677;
	}
	on w28r2-7 {
		device /dev/drbd1;
		disk     /dev/sdd;
		meta-disk  /dev/sdm;
		node-id 4;
		address   31.1.1.157:6677;
	}

	connection 4-7 {
		host w28r2-4 address 31.1.1.154:6677 via proxy on c73-p1 {
			inside 31.1.1.191:6678;
			outside 31.1.1.191:6679;
		}
		host w28r2-7 address 31.1.1.157:6677 via proxy on c73-p2 {
			inside 31.1.1.192:6678;
			outside 31.1.1.192:6679;
		}
	}
}

resource r0-1 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on w28r2-5 {
		device /dev/drbd1;
		disk     /dev/sdd;
		meta-disk  /dev/sdm;
		node-id 2;
		address   31.1.1.155:6680;
	}
	on w28r2-7 {
		device    /dev/drbd2;
		disk     /dev/sde;
		meta-disk  /dev/sdn;
		node-id 4;
		address   31.1.1.157:6680;
	}
	connection 5-7 {
		host w28r2-5 address 31.1.1.155:6680 via proxy on c73-p1 {
			inside 31.1.1.191:6681;
			outside 31.1.1.191:6682;
		}
		host w28r2-7 address 31.1.1.157:6680 via proxy on c73-p2 {
			inside 31.1.1.192:6681;
			outside 31.1.1.192:6682;
		}
	}
}

resource r0-2 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on w28r2-6 {
		device /dev/drbd1;
		disk     /dev/sdd;
		meta-disk  /dev/sdm;
		node-id 3;
		address   31.1.1.156:6683;
	}
	on w28r2-7 {
		device    /dev/drbd3;
		disk     /dev/sdf;
		meta-disk  /dev/sdo;
		node-id 4;
		address   31.1.1.157:6683;
	}
	connection 6-7 {
		host w28r2-6 address 31.1.1.156:6683 via proxy on c73-p1 {
			inside 31.1.1.191:6684;
			outside 31.1.1.191:6685;
		}
		host w28r2-7 address 31.1.1.157:6683 via proxy on c73-p2 {
			inside 31.1.1.192:6684;
			outside 31.1.1.192:6685;
		}
	}
}

...

  • Same as left

...

  • Same as 'DRBD in LAN'

...

Code Block
titleLinux R0
collapsetrue
resource r0 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on c74-1 {
		device    /dev/drbd1;
		disk   /dev/sdd1;
		meta-disk /dev/sdb1;
		node-id 1;
		address   31.1.1.164:6677;
	}
	on c74-4 {
		device    /dev/drbd1;
		disk   /dev/sdd1;
		meta-disk /dev/sdb1;
		node-id 4;
		address   31.1.1.167:6677;
	}

	connection 1-4 {
		host c74-1 address 31.1.1.164:6677 via proxy on c73-p1 {
			inside 31.1.1.191:6678;
			outside 31.1.1.191:6679;
		}
		host c74-4 address 31.1.1.167:6677 via proxy on c73-p2 {
			inside 31.1.1.192:6678;
			outside 31.1.1.192:6679;
		}
	}
}

resource r0-1 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on c74-2 {
		device    /dev/drbd2;
		disk   /dev/sdd2;
		meta-disk /dev/sdb2;
		node-id 2;
		address   31.1.1.165:6680;
	}
	on c74-4 {
		device    /dev/drbd2;
		disk   /dev/sdd2;
		meta-disk /dev/sdb2;
		node-id 4;
		address   31.1.1.167:6680;
	}
	connection 2-4 {
		host c74-2 address 31.1.1.165:6680 via proxy on c73-p1 {
			inside 31.1.1.191:6681;
			outside 31.1.1.191:6682;
		}
		host c74-4 address 31.1.1.168:6680 via proxy on c73-p2 {
			inside 31.1.1.192:6681;
			outside 31.1.1.192:6682;
		}
	}
}

resource r0-2 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on c74-3 {
		device    /dev/drbd3;
		disk   /dev/sdd3;
		meta-disk /dev/sdb3;
		node-id 3;
		address   31.1.1.166:6683;
	}
	on c74-4 {
		device    /dev/drbd3;
		disk   /dev/sdd3;
		meta-disk /dev/sdb3;
		node-id 4;
		address   31.1.1.167:6683;
	}
	connection 3-4 {
		host c74-3 address 31.1.1.166:6683 via proxy on c73-p1 {
			inside 31.1.1.191:6684;
			outside 31.1.1.191:6685;
		}
		host c74-4 address 31.1.1.169:6683 via proxy on c73-p2 {
			inside 31.1.1.192:6684;
			outside 31.1.1.192:6685;
		}
	}
}
Code Block
titleLinux DRX R0
collapsetrue
resource r0 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on c74-1 {
		device    /dev/drbd1;
		disk   /dev/sdd1;
		meta-disk /dev/sdb1;
		node-id 1;
		address   31.1.1.164:6677;
	}
	on c74-4 {
		device    /dev/drbd1;
		disk   /dev/sdd1;
		meta-disk /dev/sdb1;
		node-id 4;
		address   31.1.1.167:6677;
	}

	connection 1-4 {
		host c74-1 address 31.1.1.164:6677 via proxy on c73-p1 {
			inside 31.1.1.191:6678;
			outside 31.1.1.191:6679;
		}
		host c74-4 address 31.1.1.167:6677 via proxy on c73-p2 {
			inside 31.1.1.192:6678;
			outside 31.1.1.192:6679;
		}
	}
}

resource r0-1 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on c74-2 {
		device    /dev/drbd2;
		disk   /dev/sdd2;
		meta-disk /dev/sdb2;
		node-id 2;
		address   31.1.1.165:6680;
	}
	on c74-4 {
		device    /dev/drbd2;
		disk   /dev/sdd2;
		meta-disk /dev/sdb2;
		node-id 4;
		address   31.1.1.167:6680;
	}
	connection 2-4 {
		host c74-2 address 31.1.1.165:6680 via proxy on c73-p1 {
			inside 31.1.1.191:6681;
			outside 31.1.1.191:6682;
		}
		host c74-4 address 31.1.1.168:6680 via proxy on c73-p2 {
			inside 31.1.1.192:6681;
			outside 31.1.1.192:6682;
		}
	}
}

resource r0-2 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on c74-3 {
		device    /dev/drbd3;
		disk   /dev/sdd3;
		meta-disk /dev/sdb3;
		node-id 3;
		address   31.1.1.166:6683;
	}
	on c74-4 {
		device    /dev/drbd3;
		disk   /dev/sdd3;
		meta-disk /dev/sdb3;
		node-id 4;
		address   31.1.1.167:6683;
	}
	connection 3-4 {
		host c74-3 address 31.1.1.166:6683 via proxy on c73-p1 {
			inside 31.1.1.191:6684;
			outside 31.1.1.191:6685;
		}
		host c74-4 address 31.1.1.169:6683 via proxy on c73-p2 {
			inside 31.1.1.192:6684;
			outside 31.1.1.192:6685;
		}
	}
}

...

  • Same as left

...

  • Same as 'DRBD in LAN'

N:N

A way to configure mirror on N nodes from N nodes.

...

Code Block
titleWindows R0
collapsetrue
resource r0 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on w28r2-4 {
		device    d minor 1;
		disk     d;
		meta-disk  m;
		node-id 1;
		address   31.1.1.154:6677;
	}
	on w28r2-7 {
		device    d minor 1;
		disk     d;
		meta-disk  m;
		node-id 4;
		address   31.1.1.157:6677;
	}

	connection 4-7 {
		host w28r2-4 address 31.1.1.154:6677 via proxy on c73-p1 {
			inside 31.1.1.191:6678;
			outside 31.1.1.191:6679;
		}
		host w28r2-7 address 31.1.1.157:6677 via proxy on c73-p2 {
			inside 31.1.1.192:6678;
			outside 31.1.1.192:6679;
		}
	}
}

resource r0-1 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on w28r2-5 {
		device    d minor 1;
		disk     d;
		meta-disk  m;
		node-id 2;
		address   31.1.1.155:6680;
	}
	on w28r2-6 {
		device    d minor 1;
		disk     d;
		meta-disk  m;
		node-id 3;
		address   31.1.1.156:6680;
	}
	connection 5-6 {
		host w28r2-5 address 31.1.1.155:6680 via proxy on c73-p1 {
			inside 31.1.1.191:6681;
			outside 31.1.1.191:6682;
		}
		host w28r2-6 address 31.1.1.156:6680 via proxy on c73-p2 {
			inside 31.1.1.192:6681;
			outside 31.1.1.192:6682;
		}
	}
}
Code Block
titleLinux DRX R0
collapsetrue
resource r0 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on w28r2-4 {
		device /dev/drbd1;
		disk     /dev/sdd;
		meta-disk  /dev/sdm;
		node-id 1;
		address   31.1.1.154:6677;
	}
	on w28r2-7 {
		device /dev/drbd1;
		disk     /dev/sdd;
		meta-disk  /dev/sdm;
		node-id 4;
		address   31.1.1.157:6677;
	}

	connection 4-7 {
		host w28r2-4 address 31.1.1.154:6677 via proxy on c73-p1 {
			inside 31.1.1.191:6678;
			outside 31.1.1.191:6679;
		}
		host w28r2-7 address 31.1.1.157:6677 via proxy on c73-p2 {
			inside 31.1.1.192:6678;
			outside 31.1.1.192:6679;
		}
	}
}

resource r0-1 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on w28r2-5 {
		device /dev/drbd1;
		disk     /dev/sdd;
		meta-disk  /dev/sdm;
		node-id 2;
		address   31.1.1.155:6680;
	}
	on w28r2-6 {
		device /dev/drbd1;
		disk     /dev/sdd;
		meta-disk  /dev/sdm;
		node-id 3;
		address   31.1.1.156:6680;
	}
	connection 5-6 {
		host w28r2-5 address 31.1.1.155:6680 via proxy on c73-p1 {
			inside 31.1.1.191:6681;
			outside 31.1.1.191:6682;
		}
		host w28r2-6 address 31.1.1.156:6680 via proxy on c73-p2 {
			inside 31.1.1.192:6681;
			outside 31.1.1.192:6682;
		}
	}
}

...

  • Same as left

...

  • Same as 'DRBD in LAN'

...

Code Block
titleLinux R0
collapsetrue
resource r0 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on c74-1 {
		device /dev/drbd1;
		disk     /dev/sdd1;
		meta-disk  /dev/sdb1;
		node-id 1;
		address   31.1.1.164:6677;
	}
	on c74-4 {
		device /dev/drbd1;
		disk     /dev/sdd1;
		meta-disk  /dev/sdb1;
		node-id 4;
		address   31.1.1.167:6677;
	}

	connection 1-4 {
		host c74-1 address 31.1.1.164:6677 via proxy on c73-p1 {
			inside 31.1.1.191:6678;
			outside 31.1.1.191:6679;
		}
		host c74-4 address 31.1.1.167:6677 via proxy on c73-p2 {
			inside 31.1.1.192:6678;
			outside 31.1.1.192:6679;
		}
	}
}

resource r0-1 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on c74-2 {
		device /dev/drbd1;
		disk     /dev/sdd1;
		meta-disk  /dev/sdb1;
		node-id 2;
		address   31.1.1.165:6680;
	}
	on c74-3 {
		device /dev/drbd1;
		disk     /dev/sdd1;
		meta-disk  /dev/sdb1;
		node-id 3;
		address   31.1.1.166:6680;
	}
	connection 2-3 {
		host c74-2 address 31.1.1.165:6680 via proxy on c73-p1 {
			inside 31.1.1.191:6681;
			outside 31.1.1.191:6682;
		}
		host c74-3 address 31.1.1.166:6680 via proxy on c73-p2 {
			inside 31.1.1.192:6681;
			outside 31.1.1.192:6682;
		}
	}
}
Code Block
titleLinux DRX R0
collapsetrue
resource r0 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on c74-1 {
		device /dev/drbd1;
		disk     /dev/sdd1;
		meta-disk  /dev/sdb1;
		node-id 1;
		address   31.1.1.164:6677;
	}
	on c74-4 {
		device /dev/drbd1;
		disk     /dev/sdd1;
		meta-disk  /dev/sdb1;
		node-id 4;
		address   31.1.1.167:6677;
	}

	connection 1-4 {
		host c74-1 address 31.1.1.164:6677 via proxy on c73-p1 {
			inside 31.1.1.191:6678;
			outside 31.1.1.191:6679;
		}
		host c74-4 address 31.1.1.167:6677 via proxy on c73-p2 {
			inside 31.1.1.192:6678;
			outside 31.1.1.192:6679;
		}
	}
}

resource r0-1 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	on c74-2 {
		device /dev/drbd1;
		disk     /dev/sdd1;
		meta-disk  /dev/sdb1;
		node-id 2;
		address   31.1.1.165:6680;
	}
	on c74-3 {
		device /dev/drbd1;
		disk     /dev/sdd1;
		meta-disk  /dev/sdb1;
		node-id 3;
		address   31.1.1.166:6680;
	}
	connection 2-3 {
		host c74-2 address 31.1.1.165:6680 via proxy on c73-p1 {
			inside 31.1.1.191:6681;
			outside 31.1.1.191:6682;
		}
		host c74-3 address 31.1.1.166:6680 via proxy on c73-p2 {
			inside 31.1.1.192:6681;
			outside 31.1.1.192:6682;
		}
	}
}

...

  • Same as left

...

  • Same as 'DRBD in LAN'

MDR

Mirror DR (MDR) configuration is a way to configure mirror on one node to two nodes.

...

Windows

Code Block
titleWindows node r0
collapsetrue
resource r0 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	device d;
	disk  d;
	meta-disk m;

	on w28r2-4 {
		node-id 1;
	}
	on w28r2-5 {
		node-id 2;
	}
	on w28r2-6 {
		node-id 3;
	}

	connection DR-4-6 {
		host w28r2-4 address 31.1.1.154:6677 via proxy on c73-p1 {
			inside 31.1.1.191:6678;
			outside 31.1.1.191:6679;
		}
		host w28r2-6 address 31.1.1.156:6677 via proxy on c73-p2 {
			inside 31.1.1.192:6678;
			outside 31.1.1.192:6679;
		}
	}

	connection DR-5-6 {
		host w28r2-5 address 31.1.1.155:6680 via proxy on c73-p1 {
			inside 31.1.1.191:6681;
			outside 31.1.1.191:6682;
		}
		host w28r2-6 address 31.1.1.156:6680 via proxy on c73-p2 {
			inside 31.1.1.192:6681;
			outside 31.1.1.192:6682;
		}
	}

	connection {
		host w28r2-4 address 31.1.1.154:6676;
		host w28r2-5 address 31.1.1.155:6676;
	}
}
Code Block
titleLinux DRX R0
collapsetrue
resource r0 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	device /dev/drbd0;
	disk  /dev/sdd;
	meta-disk /dev/sdm;

	on w28r2-4 {
		node-id 1;
	}
	on w28r2-6 {
		node-id 3;
	}

	connection DR-4-6 {
		host w28r2-4 address 31.1.1.154:6677 via proxy on c73-p1 {
			inside 31.1.1.191:6678;
			outside 31.1.1.191:6679;
		}
		host w28r2-6 address 31.1.1.156:6677 via proxy on c73-p2 {
			inside 31.1.1.192:6678;
			outside 31.1.1.192:6679;
		}
	}
}

resource r0-1 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		verify-alg crc32c;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	device /dev/drbd1;
	disk  /dev/sdd1;
	meta-disk /dev/sdm1;

	on w28r2-5 {
		node-id 2;
	}
	on w28r2-6 {
		node-id 3;
	}

	connection DR-5-6 {
		host w28r2-5 address 31.1.1.155:6680 via proxy on c73-p1 {
			inside 31.1.1.191:6681;
			outside 31.1.1.191:6682;
		}
		host w28r2-6 address 31.1.1.156:6680 via proxy on c73-p2 {
			inside 31.1.1.192:6681;
			outside 31.1.1.192:6682;
		}
	}
}

...

  • Same as left

...

  • Same as 'DRBD in LAN'

...

Code Block
titleLinux r0
collapsetrue
resource r0 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	device /dev/drbd0;
	disk  /dev/sdd1;
	meta-disk /dev/sdb1;

	on c74-1 {
		node-id 1;
	}
	on c74-2 {
		node-id 2;
	}
	on c74-3 {
		node-id 3;
	}

	connection DR-4-6 {
		host c74-1 address 31.1.1.164:6677 via proxy on c73-p1 {
			inside 31.1.1.191:6678;
			outside 31.1.1.191:6679;
		}
		host c74-3 address 31.1.1.166:6677 via proxy on c73-p2 {
			inside 31.1.1.192:6678;
			outside 31.1.1.192:6679;
		}
	}

	connection DR-5-6 {
		host c74-2 address 31.1.1.165:6680 via proxy on c73-p1 {
			inside 31.1.1.191:6681;
			outside 31.1.1.191:6682;
		}
		host c74-3 address 31.1.1.166:6680 via proxy on c73-p2 {
			inside 31.1.1.192:6681;
			outside 31.1.1.192:6682;
		}
	}

	connection {
		host c74-1 address 31.1.1.164:6676;
		host c74-2 address 31.1.1.165:6676;
	}
}

Code Block
titleLinux DRX R0
collapsetrue
resource r0 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	device /dev/drbd0;
	disk  /dev/sdd1;
	meta-disk /dev/sdb1;

	on c74-1 {
		node-id 1;
	}
	on c74-3 {
		node-id 3;
	}

	connection DR-4-6 {
		host c74-1 address 31.1.1.164:6677 via proxy on c73-p1 {
			inside 31.1.1.191:6678;
			outside 31.1.1.191:6679;
		}
		host c74-3 address 31.1.1.166:6677 via proxy on c73-p2 {
			inside 31.1.1.192:6678;
			outside 31.1.1.192:6679;
		}
	}
}

resource r0-1 {
	proxy {
		memlimit 500M;
	}

	net {
		protocol A;
		on-congestion pull-ahead;
		sndbuf-size 10M;
		congestion-fill 480M;
	}

	device /dev/drbd1;
	disk  /dev/sdd2;
	meta-disk /dev/sdb2;

	on c74-2 {
		node-id 2;
	}
	on c74-3 {
		node-id 3;
	}

	connection DR-5-6 {
		host c74-2 address 31.1.1.165:6680 via proxy on c73-p1 {
			inside 31.1.1.191:6681;
			outside 31.1.1.191:6682;
		}
		host c74-3 address 31.1.1.166:6680 via proxy on c73-p2 {
			inside 31.1.1.192:6681;
			outside 31.1.1.192:6682;
		}
	}
}
  • Same as left
  • Same as 'DRBD in LAN'

SDR

A way to configure mirror on a DR node on nodes that uses a shared disk.

...

Code Block
titleWindows Node R0
collapsetrue
resource r0 {
	options {
		svc-autostart no; # => SDR 구성시 필수!(DR 노드 설정에선 제외)
	}
	protocol A;
	device d  minor 1;
	disk d;
	meta-disk m;
	net {
		ping-timeout 300;
	}

	proxy {
		memlimit 500M;
	}
	floating 31.1.1.240:7780 {
		#node-id 0;
		proxy on 74a1p-1 {
			inside 31.1.1.191:7801;
			outside 31.1.1.191:7802;
		}
	}
	floating 31.1.1.243:7780 {
		#node-id 1;
		proxy on 74a1p-2 {
			inside 31.1.1.192:7801;
			outside 31.1.1.192:7802;
		}
	}
}

...

titleLinux DRX R0
collapsetrue

...

Table of Contents
maxLevel3


This section describes how to work with the File Replication FSR.

Overview

Unlike BSR, FSR connections are 1-channel connections that handle both replication and meta-packets. If you look at the drx connection information, you will see that it is marked as a complex type.

Info
λ drx-ctl co all
------------------------------------------------------------------------------------------
Name           Type    replicator  State          local-drx   State          remote-drx
------------------------------------------------------------------------------------------
r0_node2_node1 complex (local-fsr) -established-> (local-drx) -----bridged-> (remote-drx)
------------------------------------------------------------------------------------------
r0_node3_node1 complex (local-fsr) -established-> (local-drx) -----bridged-> (remote-drx)
------------------------------------------------------------------------------------------
 All connections : 2, Established : 2


Configuration files

Below is a description of the properties you need to specify for each section.

proxy connections

  • Section: connections/node1/proxy, connections/node2/proxy
propertiestypeformatdescription
namestringnameConnection name. Auto-generated if not specified.
Auto-generated format: {resource name}_{relative node name}_{node name}
insidestring{IP:Port}Address of the local DRX for the local FSR → local DRX connection
outsidestring{IP:Port}Address of the local DRX for remote DRX → local DRX connection
hostnamestringhost nameHostname of the machine on which DRX is operating
Operates according to the hostname specification in the system configuration.
optionsObjectProxy optionoption

The FSR connects to the inside address and the remote DRX connects to the outside address.

  • node1 connection
Info
Local FSR         Local DRX                                      Remote DRX
(node1 url) <-> (node1/proxy/inside | node1/proxy/outside) <-> (node2/proxy/outside)
  • node2 connection
Info
Remote DRX                Local DRX                                      Local FSR
(node1/proxy/outside) <-> (node2/proxy/outside | node2/proxy/inside) <-> (node2 url)


proxy options

  • section: proxy, connections/node1/proxy/options, connections/node2/proxy/options

Each option can be overridden hierarchically lower down the hierarchy.

propertiestypeformatdescription

memlimit

string

{number}{unit}

TX BAB size.
default: 1M

bwlimit

string

{number}{unit}

Limit transfers per second

plugin

Object


Plugin settings list


svc_autostart

string
Boolean

true, yes, on,1
false, no, off, 0

Auto-start resources on DRX startup.
default: true


rx_memlimit

string

{number}{unit}

RX BAB size.
default: 0


crypto

string

plugin name

Encryption plugins
support: openssl AES256


compressor

string

plugin name

compression plugin
support: zlib, lz4


compressor_level

string
number

1~9

compression level
default: 1


Example configuration file

Info
{
  "id": "r0",
  "description": "proxy test",
  "nodes": [
    {
      "name": "node1",
      "hostname": "drx1",
      "files": [ { "path": "E:/r2" } ],
      "buffer": { "size": 100 },
    },
    {
      "name": "node2",
      "hostname": "drx2",
      "files": [ { "path": "E:/r2" } ],
      "buffer": { "size": 100 },
    },
    {
      "name": "node3",
      "hostname": "drx3",
      "files": [ { "path": "E:/r2" } ],
      "buffer": { "size": 100 },
    }
  ],
  "connections": [
    {
      "node1": {
        "name": "node1",
        "url": "192.168.65.111:9830",
        "proxy": {
          "inside": "192.168.65.111:9831",
          "outside": "192.168.65.111:9832"
        }
      },
 

...

 

...

    "node2": {
        "name": "node2",
 

...

 

...

      "url": "192.168.65.112:9830",
        

...

"proxy": {
         

...

 

...

"inside": "192.168.65.112:9831",
          "outside": "192.168.65.112:9832"
      

...

 

...

 }
      }
    },
   

...

 

...

{

...

 

...

     "node1": {
        "name": "node1",
        

...

"url": "192.168.65.111:9830",
        "proxy": {
          

...

"inside": "192.168.65.111:9833",
          "outside": "192.168.65.111:9834",
    

...

    }
    

...

  },
      

...

"node2": {
        

...

"name": "node3",
    

...

 

...

   "url": "192.168.65.113:9830"
        

...

"proxy": {
          

...

"inside": "192.168.65.113:9831",
          

...

"outside": "192.168.65.113:9832"
        }
      }
    },
   

...

 {
      "node1": {
        

...

"name": "node2",
       

...

  • Same as left
Code Block
titleWindows DR R0
collapsetrue
resource r0 {
	protocol A;
	device d  minor 1;
	disk d;
	meta-disk m;
	net {
		ping-timeout 300;
	}

	proxy {
		memlimit 500M;
	}
	floating 31.1.1.240:7780 {
		#node-id 0;
		proxy on 74a1p-1 {
			inside 31.1.1.191:7801;
			outside 31.1.1.191:7802;
		}
	}
	floating 31.1.1.243:7780 {
		#node-id 1;
		proxy on 74a1p-2 {
			inside 31.1.1.192:7801;
			outside 31.1.1.192:7802;
		}
	}
}

...

Code Block
titleLinux R0
collapsetrue
resource r0 {
	protocol A;
	device /dev/drbd1; # minor 1;
	disk /dev/sdb;
	meta-disk internal;

	proxy {
		memlimit 500M;
	}
	floating 31.1.1.140:7780 {
		#node-id 0;
		proxy on 74a1p-1 {
			inside 31.1.1.191:7801;
			outside 31.1.1.191:7802;
		}
	}
	floating 31.1.1.143:7780 {
		#node-id 1;
		proxy on 74a1p-2 {
			inside 31.1.1.192:7801;
			outside 31.1.1.192:7802;
		}
	}
}
Code Block
titleLinux DRX R0
collapsetrue
resource r0 {
	protocol A;
	device /dev/drbd1; # minor 1;
	disk /dev/sdb;
	meta-disk internal;

	proxy {
		memlimit 500M;
	}
	floating 31.1.1.140:7780 {
		#node-id 0;
		proxy on 74a1p-1 {
			inside 31.1.1.191:7801;
			outside 31.1.1.191:7802;
		}
	}
	floating 31.1.1.143:7780 {
		#node-id 1;
		proxy on 74a1p-2 {
			inside 31.1.1.192:7801;
			outside 31.1.1.192:7802;
		}
	}
}

...

  • Same as left

...

 "url": "192.168.65.112:9830",
        "proxy": {
          "inside": "192.168.65.112:9833",
          "outside": "192.168.65.112:9834"
        }
      },
      "node2": {
        "name": "node3",
        "url": "192.168.65.113:9830",
        "proxy": {
          "inside": "192.168.65.113:9833",
          "outside": "192.168.65.113:9834"
        }
      }
    } 
  ],
  "proxy": {
    "memlimit": "100M"
    "plugin": {
      "compressor": "lz4",
      "crypto": "openssl",
      "rx-memlimit": "10M",
    }
  }
}