Overview
Rclone is a command-line program that supports downloading large files from cloud sources, such as Nasuni Data Services (NDS).
Visit https://rclone.org/ for more information on the product and to download it.
Because NDS imposes a large file download limit, ranged reads must be used to download files larger than the single-file limit (see NDS for Azure - Supported Parameters & Limits for more information).
Rclone can be used to accomplish this.
Prerequisites
Before beginning, ensure you have the following:
An NDS deployment connected to one or more Nasuni volumes, and the connection information.
Rclone installed on your local system.
Configuring Connections (“Remotes”)
NDS for Azure
Configuring the Connection to NDS
Create the connection by editing the
/.config/rclone/rclone.conffile based on the example in step 6. If you choose this method, skip to step 6 and bypass the wizard. Steps 2 through 5 outline the process for using the wizard.With a clean install of Rclone, run
rclone configto start.Enter
nfor the New remote, and provide a name.
You are guided through the configuration.
Use the following values as prompted by the rclone config wizard.
Prompt
Value
Storage
azureblobaccount
ndsenv_auth
falsekey
Enter one of the two Access Keys from your NDS deployment.
Note: This not the same as a SAS Token.sas_url
Press Enter to leave it empty
tenant
Press Enter to leave it empty
client_id
Press Enter to leave it empty
client_secret
Press Enter to leave it empty
client_certificate_path
Press Enter to leave it empty
client_certificate_password
n
This configuration does not use a client certificate.Edit advanced config
yRequired to specify the NDS endpoint
client_send_certificate
falseusername
Press Enter to leave it empty
User’s password
nservice_principal_file
Press Enter to leave it empty
disable_instance_discovery
falseuse_msi
falsemsi_object_id
Press Enter to leave it empty
msi_client_id
Press Enter to leave it empty
msi_mi_res_id
Press Enter to leave it empty
use_emulator
falseuse_az
falseendpoint
Enter the NDS Blob Storage Endpoint URL from your NDS deployment.
Note: This URL begins withhttps://nds.upload_cutoff
Press Enter to leave it empty
chunk_size
Press Enter for the default
upload_concurrency
Press Enter for the default
copy_cutoff
Press Enter for the default
copy_concurrency
Press Enter for the default
use_copy_blob
Press Enter for the default
list_chunk
Press Enter for the default
access_tier
Press Enter to leave it empty
archive_tier_delete
falsedisable_checksum
falseencoding
Press Enter for the default
public_access
Press Enter to leave it empty
directory_markers
falseno_check_container
falseno_head_object
falsedelete_snapshots
Press Enter to leave it empty
description
Optional - could be a descriptive name of this NDS instance, such as the Resource Group name.
Edit advanced config (second time)
nThe configuration is completed.

Keep this “name” remote (Final step)
y
Enter
qto quit the Rclone config wizard.To review the configuration, run
cat ~/.config/rclone/rclone/conf
Your configuration file should look similar to the following example:❯ cat ~/.config/rclone/rclone.conf [NameOfRemote] type = azureblob account = nds key = NDSAccessKey endpoint = https://nds.uniquename.region.azurecontainerapps.ioWith the connection to NDS created (the “Remote”), the next step is to configure an additional Remote to use as the destination for data copied from NDS.
Configuring the Connection to Your Destination
Note: The following is an optional step.
Alternatively, you can write to your local filesystem as shown in the example below.
Run
rclone configto start. You should see your previously configured connection to NDS.
Enter
nfor New remote, and provide a name.As you are guided through the configuration, refer to the Rclone documentation for information about configuring a destination.
Sample Commands
Commands require an NDS path as the source. This path begins with the Nasuni Volume GUID (referenced as a Container or Bucket) configured in NDS.
Your Nasuni Volume GUID is found by running the Get Connection Information command: NDS for Azure - Installation & Management.
ls - List objects
In the example below:
The “Remote” connection name is
NDSThe Nasuni Volume GUID value is
9f58311a-3b21-4ae6-8bb6-60e3490-0We are limiting the results to two levels deep from the root.
rclone ls NDS:9f58311a-3b21-4ae6-8bb6-60e3490-0/ --max-depth 2copyto - Copy files from source to dest, skipping identical files
In the example below:
The Source “Remote” connection name is
NDSThe Nasuni Volume GUID value is
9f58311a-3b21-4ae6-8bb6-60e3490-0The path we are copying from the root of the volume is
/Accounting/The destination is the local filesystem
/Users/jsmith/Destination--azureblob-encoding "Percent"to handle potential file paths containing “%2F”--disable copyto force client side directory transfers--progressto show status--verboseto show verbose output
rclone copyto "NDS:9f58311a-3b21-4ae6-8bb6-60e3490-0/Accounting/" "/Users/jsmith/Destination" --azureblob-encoding "Percent" --disable copy --progress --verbose