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.conf
file 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 config
to start.Enter
n
for 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
azureblob
account
nds
env_auth
false
key
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
y
Required to specify the NDS endpoint
client_send_certificate
false
username
Press Enter to leave it empty
User’s password
n
service_principal_file
Press Enter to leave it empty
disable_instance_discovery
false
use_msi
false
msi_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
false
use_az
false
endpoint
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
false
disable_checksum
false
encoding
Press Enter for the default
public_access
Press Enter to leave it empty
directory_markers
false
no_check_container
false
no_head_object
false
delete_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)
n
The configuration is completed.
Keep this “name” remote (Final step)
y
Enter
q
to 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.io
With 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 config
to start. You should see your previously configured connection to NDS.Enter
n
for 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
NDS
The Nasuni Volume GUID value is
9f58311a-3b21-4ae6-8bb6-60e3490-0
We are limiting the results to two levels deep from the root.
rclone ls NDS:9f58311a-3b21-4ae6-8bb6-60e3490-0/ --max-depth 2
copyto - Copy files from source to dest, skipping identical files
In the example below:
The Source “Remote” connection name is
NDS
The Nasuni Volume GUID value is
9f58311a-3b21-4ae6-8bb6-60e3490-0
The 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 copy
to force client side directory transfers--progress
to show status--verbose
to show verbose output
rclone copyto "NDS:9f58311a-3b21-4ae6-8bb6-60e3490-0/Accounting/" "/Users/jsmith/Destination" --azureblob-encoding "Percent" --disable copy --progress --verbose