Volume Live Migration (Multi-Attach)

The Volume Live Migration refers to dynamically binding specific volumes to different client(s). This is a fundamental feature for cloud-native applications, which can dynamically migrate the service in virtual machines or container pods located in different physical servers.

Test Purpose

The purpose of this test is to prove that this feature can work as expected with manual commands. The volume can be dynamically reassigned to different clients, without any data loss.

In a production environment, this migration is typically conducted by a cloud infrastructure; for example, Kubernetes or OpenStack, or a customer’s own orchestrator with RESTful API.

Test Steps

  1. Allocate two client servers for this test. You can name them Client Server A and Client Server B. Use the lbcli command to create a volume and bind it to Client Server A using the client hostnqn found on the client at /etc/nvme/hostnqn as the volume ACL. For more, see Creating a Volume on the Lightbits Storage Server.
Bash
Copy
  1. In Client A, use the “nvme connect” command to connect the Lightbits storage cluster, and check the visibility of the newly created volume. For more, see Connecting the Client to Lightbits.
Bash
Copy
  1. Format this volume with a filesystem; for example, XFS. Mount it to /mnt, and write some content to it. Then unmount it.
Bash
Copy
  1. Use the “lbcli update volume” command to update the ACL of this volume to the hostnqn of Client B found on the client at /etc/nvme/hostnqn.
Bash
Copy
  1. In both Client A and B, use the “nvme” command to check the visibility of this volume. It should disappear in Client A, but appear in Client B (make sure that Client B was also connected to the Lightbits storage cluster). This volume disappears from Client A:
Bash
Copy

This volume is connected to Client B. Check whether the previously written content is still there.

Bash
Copy
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard