Cloning a Redis Instance in Memory Machine Management Center

To clone a running instance of a Redis server, use the All Actions Dropdownin the Applications Console.

Before you begin

Create a Redis server instance. See Starting a Redis Server.

Important: When you clone a Redis instance that uses a Unix domain socket, the cloned instance listens on that same domain socket. You can make the Redis instances independent by using a mount namespace to make the domain socket invisible to the cloned instance. If you need help implementing this workaround, please contact MemVerge support. Without a thorough understanding of this mechanism, you can inadvertently introduce data inconsistency.

About this task

You can create a duplicate of a Redis server instance from a snapshot of the instance. The clone begins in the same state as the snapshot.

To clone a snapshot, Memory Machine creates a new PID namespace. The snapshot to be cloned is then run in the new PID namespace, with the original PID. In this way:

  • The OS can see the cloned process in the original namespace (though with a new PID)
  • The cloned process is identical to the snapshot and has the same PID (though running in a subordinate namespace)
  • Any number of processes can be cloned from a single snapshot and run in their own PID namespaces as described above

Procedure

  1. In the Applications Console, choose the Redis Application Tab.
  2. In the Instance Table Entry for the selected instance, click the All Actions Dropdown and choose Clone.
    It is not necessary for the instance to be running.
    Important: If you clone a stopped process without redirecting file resources, the clone uses the original process's resources. If you later restart the original process, the clone and the original can compete for the resource, causing data corruption.
  3. In the Clone Dialog, choose one of the instance snapshots from the Snapshot to Clone From Dialog.
  4. Click OK.