Migrating to GlusterFS Cluster

Migrating Standalone Storage to GlusterFS Cluster

Automatic conversion of an existing standalone Shared Storage node into a GlusterFS cluster is not supported. The migration is performed by creating a temporary storage node, copying the data and remounting existing shares, rebuilding the original storage layer as an auto-clustered GlusterFS setup, and then restoring the data and mounts.
Important: This workflow temporarily moves production data and changes active mount points. Verify backups and plan the migration window before removing the original standalone storage.

1. Add Temporary Storage

1Open Change Environment Topology

Locate the environment in the dashboard and open the topology editor.

Change Environment Topology button
Open the topology editor for the environment that contains the standalone storage.

2Add a Shared Storage node in the Extra layer

Create a temporary Shared Storage node in the Extra layer and click Apply.

Add temporary Shared Storage node
Add a temporary Shared Storage node that will hold data during the migration.

2. Create SSH Key Pair

Connect to the original source Storage node over SSH. The built-in Web SSH client can be used.

Generate a dedicated key pair for communication between the two storage nodes:

ssh-keygen -f ~/.ssh/storage
Generate SSH key pair
Generate the SSH key pair on the original storage node.

Display and copy the generated public key:

cat ~/.ssh/storage.pub
Copy storage public SSH key
Copy the generated public key for installation on the temporary storage node.

3. Authorize the Temporary Storage

Connect to the temporary Shared Storage node through SSH and add the source storage public key to:

~/.ssh/authorized_keys

The source example uses:

vim ~/.ssh/authorized_keys
Add SSH key to authorized_keys
Add the public key to the temporary storage node so the source can connect without an interactive password.

4. Copy Data with rsync

Return to the original source storage and copy the contents of /data to the temporary storage using rsync over the dedicated SSH key:

cd /data; rsync -az . {NEW_STORAGE_IP}:/data/ -e "ssh -i $HOME/.ssh/storage"

Replace {NEW_STORAGE_IP} with the internal IP address of the temporary Shared Storage node shown in the dashboard.

Copy storage data using rsync
Copy the standalone storage data to the temporary node over SSH.
On the first SSH connection, confirm the host key when prompted. Copy duration depends on the amount of stored data.

5. Remount Applications to Temporary Storage

Applications must stop using the original storage before it can be removed.

1Unmount the original Shared Storage

Open Config for the application server, go to Mount Points, and unmount the current Shared Storage.

Unmount original Shared Storage
Remove the application’s current mount to the original standalone storage.

2Mount the temporary storage

Create a new mount that points to the temporary Shared Storage server.

Mount temporary Shared Storage
Mount the temporary storage at the same application path so the workload can continue using the copied data.
Validate before proceeding: Confirm that applications can read and write the expected data from the temporary storage before deleting the original storage node.

6. Replace Standalone Storage with GlusterFS

The original standalone Shared Storage is replaced in two topology operations.

1Remove the original storage node

Open Change Environment Topology, remove the original Shared Storage node completely, and apply the change.

Remove original storage node
Remove the original standalone Shared Storage node after its data and mounts have been moved.

2Create the GlusterFS cluster

Open the topology wizard again, add Shared Storage, and enable Auto-Clustering.

Add GlusterFS Shared Storage cluster
Recreate the storage layer with Auto-Clustering enabled.

7. Restore Data and Mounts

Copy the data from the temporary storage back to the new GlusterFS cluster. Repeat the SSH-key and rsync procedure, this time using the temporary storage as the source and the master node of the GlusterFS cluster as the target.

After the data is restored, remount the application to the new Shared Storage cluster.

Mount GlusterFS Shared Storage cluster
Replace the temporary mount with the new GlusterFS Shared Storage cluster.
Final validation: Verify data completeness, permissions, application reads/writes, and all mount points before removing the temporary storage node.

8. Remove Temporary Storage

After the GlusterFS cluster contains the required data and all applications use the new mounts, remove the temporary Shared Storage node from the Extra layer.

Remove temporary Shared Storage node
Delete the temporary storage only after the new GlusterFS cluster is fully validated.
Migration summary: create temporary storage → configure SSH key access → copy /data with rsync → remount applications to temporary storage → remove standalone storage → recreate it with Auto-Clustering → copy data back → remount applications → remove the temporary node.

What’s next?