Volume Replication

Volume replication refers to data synchronously replicated to multiple storage servers. Volumes can sustain server failures. The replication also can be set up across different failure domains, which can deliver most high availability storage service.

The replication data flow is illustrated in the diagram below.

Test Purpose

Verify that the write IO data is replicated as expected, and test that different replication volumes can work in parallel.

The high availability, optimized path switchover in case of server failure will be covered in the “Server Failure Handling” test case.

Test Steps

  1. Create three volumes with different replication numbers: 1, 2 and 3 for Client Server A.
Bash
Copy
  1. On the client server side, use the “nvme list” command to check the new volumes and the multi-path information.
Bash
Copy

The “live optimized” path is the primary replication resided path, while “live inaccessible” is the secondary replication resided path. The replication number of the volume can also be reflected in this multi-path information. For example, three replication volumes have three paths total.

  1. In the client server, use FIO to generate the write IO to these three volumes separately, and monitor the network traffic in these three Lightbits storage servers to verify whether the replication worked as expected. For example, use the Linux tool “nload” - running in the three storage servers - to monitor the data traffic.

The following is an example of a single replication volume IO traffic - with only incoming data IO in the primary path (MB or KB level traffic is the ACK or management IO).

The following is an example of a two replication volume IO traffic. In the primary path, in addition to the incoming traffic, there is also the same bandwidth outgoing traffic, which is for replicated data. And in the other secondary path, there is incoming data traffic.

The following is an example of a three replication volume IO traffic. In the primary path, the outgoing traffic is almost double that of the incoming traffic. This is because it needs to replicate the data IO to the other two secondary paths. The two secondary paths have the same incoming traffic bandwidth as the primary path.

Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard
On This Page
Volume Replication