Connect clients to an Azure Managed Lustre file system

Completed

This unit describes how to prepare clients and mount the Azure Managed Lustre file system from a client machine.

Client requirements

Client machines running Linux can access Azure Managed Lustre. The basic client requirements are as follows:

  • Lustre client software: Clients must have the appropriate Lustre client package installed. Prebuilt client packages are tested with Azure Managed Lustre. See Install or upgrade Lustre client software for instructions and package download options. Client packages are available for several commonly used Linux OS distributions.
  • Network access: Client machines need network connectivity to the subnet that hosts the Azure Managed Lustre file system. If the clients are in a different virtual network, you might need to use virtual network peering.
  • Mount command - Clients must be able to use the POSIX mount command to connect to the file system.
  • Performance: To achieve optimal performance, clients should meet the following requirements:
  • Security type: When selecting the security type for the VM, choose the Standard Security Type. Choosing Trusted Launch or Confidential prevents the Lustre module from being properly installed on the client.

The following steps describe the basic workflow to connect a client to the Azure Managed Lustre file system:

  1. Install or upgrade Lustre client software on each client.
  2. Use the mount command to make the Azure Managed Lustre file system available on the client.
  3. When a client is no longer needed, use the umount command without the -f (force) or -l (lazy) options to cleanly unmount the client before shutting it down. Failure to properly unmount a client before rebooting or deprovisioning can result in performance issues for other clients.

Install or upgrade Lustre client software

Each client that connects to the Lustre file system must have a Lustre client package that is compatible with the file system's Lustre version (currently 2.15).

You can download prebuilt and tested client packages for Azure Managed Lustre from the Linux software repository for Microsoft products.

Packages and kernel modules are available for the following Linux operating systems:

If you need to upgrade an older Lustre client version on your Linux system, see Upgrade a Lustre client to the current version. You must remove old kernel modules and software packages as part of the upgrade.

Note

Microsoft will publish new packages within one business day of a new kernel being available. If you experience any issues, please file a support ticket.

Start the Lustre client using the mount command

Note

Before you run the mount command, make sure that the client host can see the Azure Managed Lustre file system's virtual network. You can do this by pinging the file system's server IP address. If the ping command doesn't succeed, make the file system network a peer to your compute resources network.

Mount all of your clients to the file system's MGS IP address. The Client connection page in the Azure portal shows the IP address and gives a sample mount command that you can copy and use to mount clients.

Screenshot of client connection page in the portal.

The mount command includes three components:

  • Client path: The path on the client machine where the Azure Managed Lustre file system should be mounted. The default value is the file system name, but you can change it. Make sure that this directory path exists on the client machine before you use the mount command.
  • MGS IP address: The IP address for the Azure Managed Lustre file system's Lustre management service (MGS).
  • Mount command options: Additional recommended options are included in the sample mount command.

These components are assembled into a mount command with this form:

sudo mount -t lustre -o noatime,flock <MGS_IP>@tcp:/lustrefs /<client_path>

The lustrefs value in the MSG IP term is the system-assigned internal name associated with the Lustre cluster inside the Azure-managed system. Don't change this literal value when you create your own mount commands.

Set the client path to any convenient mount path that exists on your clients. It doesn't need to be the Azure Managed Lustre file system name (which is the default value).

Example mount command:

sudo mount -t lustre -o noatime,flock 10.0.0.4@tcp:/lustrefs /azure-lustre-mount

Now that your clients are connected to the file system, you can use the Azure Managed Lustre file system as you would any mounted file system. For example, you might start a compute job to process data imported from a blob container.

Important

When a client is no longer needed, you must cleanly unmount the client without using the -f (force) or -l (lazy) options before shutting it down. Failure to properly unmount a client before rebooting or deprovisioning can result in performance issues for other clients.