Configuring storage write modes

For replication, the storage cluster supports two write modes—CS fanout and client fanout—which are configured separately and operate independently, each optimized for different performance and network conditions:

  • With CS fanout, the first chunk service (CS) in the write chain writes data simultaneously to other chunk services. This reduces network latency in cases when a node with vstorage-mount lacks a local replica. Enabling this mode also improves performance for migrated virtual machines until data rebalancing is complete. If all chunks of a file have a local CS, this mode behaves similarly to client fanout. By default, CS fanout is disabled.

  • With client fanout, the storage client writes data simultaneously to all chunk services. This mode offers the lowest network latency for random I/O operations but requires a high-bandwidth private network (50 Gbps/100 Gbps) to achieve optimal performance. By default, client fanout is disabled.

Prerequisites

To configure CS fanout

Use the following command to enable the CS fanout mode:

# vstorage -c <cluster_name> set-config cs.fanout=1

You can verify that CS fanout is enabled for the storage cluster in the vstorage -c <cluster_name> get-config output:

# vstorage -c <cluster_name> get-config | grep cs.fanout
connected to MDS#3
cs.fanout=1

If you want to disable the CS fanout, run:

# vstorage -c <cluster_name> set-config cs.fanout=0

To configure client fanout

Use the following command to enable the storage client fanout mode:

# vinfra cluster settings client-fanout-mode set --enable

You can verify that client fanout is enabled for the storage cluster in the vinfra cluster settings client-fanout-mode show output:

# vinfra cluster settings client-fanout-mode show
+---------------+-------+
| Field         | Value |
+---------------+-------+
| client_fanout | True  |
+---------------+-------+

If you want to disable storage client fanout, run:

# vinfra cluster settings client-fanout-mode change --disable