ydb icon indicating copy to clipboard operation
ydb copied to clipboard

Add support of the mirror-2 fault tolerance mode

Open oleg68 opened this issue 2 years ago • 5 comments

Now there are only three allowed fault tolerance modes in a ydb cluster: none, block-4-2 and mirror-3-dc. The first one does not provide any level of redundancy, the other two modes require high minimal number of nodes: 8 and 9.

But it is intended to have as much simple configuration as possible that, however, would provide some fault tolerance. Such configuration may be 3 nodes with replication factor 2. This configuration would allow to continue afrer losing of any one node.

Please add support of this configuration in ydb.

oleg68 avatar Jul 05 '22 15:07 oleg68

You can look at mirror-3dc-3-nodes configuration which requres 3 nodes with 3 disks on each. It's simplified version of mirror-3dc configuration with less fault tolerance.

mvgorbunov avatar Jul 06 '22 06:07 mvgorbunov

@mvgorbunov I've looked it but it requires 3 disks on each node and it seems does not survive when one node with three disks goes down.

I want to have a high availability solution with only 3 nodes, 3 disks, one disk on each node, aloowing one node with one disk to go down.

It is possible algorithmically, but it is not supported by ydb now.

oleg68 avatar Jul 06 '22 07:07 oleg68

No, it simulates mirror-3dc mode but on 3 nodes instead of 9. And the cluster will be still available if one of those 3 nodes faults (in mirror-3dc mode the cluster will be available in case of all 3 nodes in first DC and one more node in another DC would fail). BTW, we will update the documentation soon.

mvgorbunov avatar Jul 06 '22 10:07 mvgorbunov

No

"No" what? Is it impossible to provide fault tolerance with only 1 node in each DC with 1 disk on each node?

in mirror-3dc mode the cluster will be available in case of all 3 nodes in first DC and one more node in another DC would fail

I didn't catch it.

all 3 nodes

Why all? As I understand all 3 nodes applicable to mirror-3dc-3-nodes but not to mirror-3dc because there are 9 nodes. Could you clarify this?

uh-zuh avatar Jul 29 '22 13:07 uh-zuh

"No" what? Is it impossible to provide fault tolerance with only 1 node in each DC with 1 disk on each node?

It was reply to it seems does not survive when one node with three disks goes down. for mirror-3dc-3-nodes configuration. Now YDB supports only this 3 modes - None, block-4-2, mirror-3-dc (and mirror-3dc-3-nodes as a simplified version of mirror-3dc).

in mirror-3dc mode the cluster will be available in case of all 3 nodes in first DC and one more node in another DC would fail I didn't catch it.

The mirror-3dc mode cluster with 9 nodes would be available even if 4 of 9 nodes fault (best case).

all 3 nodes Why all? As I understand all 3 nodes applicable to mirror-3dc-3-nodes but not to mirror-3dc because there are 9 nodes. Could you clarify this?

mirror-3dc mode requires al least 3 nodes in each 3 DC (or availability zones). I mean "all 3 nodes in one of DC".

BTW, we have updated documentation - check the Topology section.

mvgorbunov avatar Aug 07 '22 08:08 mvgorbunov