Edit

Share via


Migrate GlusterFS volumes to Azure Files

This article provides guidance on migrating data from GlusterFS volumes to Azure Files, Microsoft's fully managed file service in the cloud. Azure Files offers both SMB (Server Message Block) and NFS (Network File System) protocols, making it suitable for both Windows and Linux workloads.

GlusterFS end-of-life considerations

Red Hat Gluster Storage (based on GlusterFS) has reached the end of its support lifecycle. Red Hat officially announced end of life for this product with the following schedule.

  • End of full support: November 2020
  • End of maintenance support: November 2021
  • End of extended life phase: June 2024
  • Formal end of life: December 2024

Organizations using GlusterFS should migrate to supported alternatives, such as Azure Files, to ensure continued support and security updates.

Client requirements for Azure Files

Before migrating from GlusterFS to Azure Files, ensure your client systems meet the necessary requirements for connecting to Azure file shares using either SMB or NFS protocols.

SMB requirements

Windows clients connecting to Azure Files via SMB should meet the following requirements:

  • Windows 7 or Windows Server 2008 R2 or newer
  • SMB 2.1 protocol support (minimum)
  • SMB 3.0 protocol support for encryption features
  • SMB 3.1.1 protocol support for best security and performance

Important

We strongly recommend using SMB 3.1.1 protocol for Azure Files access. SMB 3.0 and 2.0 should only be used for legacy clients, and you must plan an OS upgrade to mitigate unpatched security vulnerabilities.

For a complete list of requirements and setup instructions, see Use an Azure file share with Windows.

NFS requirements

Azure Files supports NFSv4.1, but Windows doesn't include a compatible NFSv4.1 client. To use NFS shares on Windows:

  1. Install Windows Subsystem for Linux (WSL):

  2. Mount the NFS share from within a Linux distribution running on WSL.

Migration tools

For Windows clients, we recommend using Robocopy.

For Linux clients, use rsync or fpsync, which allows you to parallelize rsync file operations. See Using fpsync vs. rsync.

For Windows clients: Robocopy

Robocopy is a built-in Windows command-line tool designed for copying SMB file shares.

Basic Robocopy syntax for migration

robocopy <GlusterFS_Source> <AzureFiles_Destination> /MIR /Z /MT:8 /W:1 /R:3 /LOG:migration_log.txt

Parameters:

  • /MIR: Mirrors directory structure (includes subdirectories)
  • /Z: Enables restart mode for interrupted copies
  • /MT:8: Uses 8 threads for multi-threaded copying
  • /W:1: Wait time between retries (1 second)
  • /R:3: Number of retries on failed copies
  • /LOG: Creates a detailed log file

Step-by-step migration procedure

Step 1: Assessment and planning

  1. Inventory your GlusterFS volumes, noting:

    • Total data size
    • Number of files and directories
    • Access patterns and performance requirements
    • Client operating systems
  2. Select the appropriate protocol. In most cases, you'll want to use SMB for Windows workloads and NFS for Linux workloads.

  3. Select HDD or SSD, and size your Azure file shares appropriately:

    • Standard (HDD): Up to 100 TiB
    • Premium (SSD): Up to 100 TiB with higher performance

Step 2: Prepare Azure environment

  1. Create a storage account in the appropriate Azure region.

    • Choose the right performance tier (Standard or Premium) based on your needs. Premium is required for NFS file shares.
  2. Configure networking. See Azure Files networking considerations.

  3. Create Azure file shares with appropriate protocols.

Step 3: Mount Azure file share

Before migrating the data, you must mount the Azure file share(s).

For Windows clients (SMB):

This article shows how to mount the Azure file share using NTLMv2 authentication (storage account key). In non-administrative scenarios, using identity-based authentication is preferred for security reasons.

You can find your storage account key in the Azure portal by navigating to the storage account and selecting Security + networking > Access keys, or you can use the Get-AzStorageAccountKey PowerShell cmdlet.

To mount the file share, run the following command. Be sure to replace <storage-account-name>, <share-name>, and <storage-account-key> with your actual values.

net use Z: \\<storage-account-name>.file.core.windows.net\<share-name> /u:AZURE\<storage-account-name> <storage-account-key>

For more information, see Mount SMB Azure file share on Windows.

Step 4: Perform data migration

After you've mounted the Azure file share, you can perform the data migration.

For Windows workloads using Robocopy:

Open a command prompt or PowerShell window with administrator privileges, and run the following command:

robocopy X:\GlusterFSData Z:\AzureFilesData /MIR /Z /MT:8 /W:1 /R:3 /LOG:C:\migration_log.txt

Step 5: Verify that migration succeeded

  1. Compare file counts and sizes:

    • On Windows: Use Get-ChildItem -Recurse | Measure-Object
    • On Linux: Use find . -type f | wc -l and du -sh
  2. Validate user/group permissions and access rights.

  3. Perform application-specific tests.

Step 6: Cutover

  1. Redirect applications to use Azure Files endpoints.
  2. Update mount points in fstab (Linux) or mapped drives (Windows).
  3. Update documentation and monitoring tools.
  4. Decommission GlusterFS volumes after successful validation.

Optimize performance

Follow these recommendations to optimize performance when migrating from GlusterFS to Azure Files. For detailed performance tuning, see Azure Files scalability and performance targets and Understand and optimize Azure file share performance.

Note

Check virtual machine (VM) size to ensure that VM network bandwidth isn't a bottleneck when your file shares are correctly sized for required throughput and IOPS. Different VM SKUs have different network bandwidth limits that can constrain overall file share performance. Select VM sizes that provide sufficient network throughput for your workload requirements. For more information, see Azure virtual machine sizes.

Optimize SMB performance

Troubleshooting

Follow these instructions to troubleshoot common migration issues.

Common issues with Robocopy

  • Error 5 (Access denied): Verify permissions on source and destination.
  • Error 67 (Network name not found): Check network connectivity and share name.
  • Error 1314 (Not enough quota): Increase Azure Files quota or free space.

Migration support

For issues related to Azure Files, contact Azure Support through the Azure portal.

For GlusterFS migration assistance, consider engaging Microsoft Consulting Services.

See also