Audience
Advanced users of the Migration App.
Context
There are several features and settings that can be accessed from the Advanced Mode in the migration app. The feature is available by default to all the customers.
Features Available in Advanced Mode
- Controlling Threads
- Controlling Bandwidth Throughput
- Customizing the Agent Configuration
- Using Exclusion Rules
- Email Recipients
Controlling Threads
By default, the Agent running on the local Windows machine uses 4 transfers and 8 checkers (collectively referred to as the threads). Thread is a universal computing term, referring to one process in a multithreaded system that occurs simultaneously with other processes. Checkers and transfers in this context are the custom names of different threads implemented in the underlying technology. Checkers determine how parallel a given operation will run (e.g., when deleting files, how many deletes to do in parallel). Transfers control uploading (streaming) of files to the destination.
It is possible to increase the number of threads to potentially improve migration speed, provided the Windows machine has sufficient compute capacity to accommodate the increase. However, this adjustment should be made cautiously, as allocating too many threads to the Migration App may negatively affect the host machine's overall performance.
- While a migration job is executing a command, none of the Advanced Options can be modified. Wait until the command has completed before configuring the advanced settings for the job.
- The user can return to the advanced options menu at any time to change the selection for any of the sub-menus.
Configuring Threads
- Access the Migration Job Details page.
- In the left column, click on the arrow next to Advanced Options to open the drop-down menu.
- Select Threads from the left menu.
Here, the user can decrease or increase the number of transfers (from 1 to 10, inclusive) and checkers (from 1 to 20, inclusive) with a custom configuration. This can increase the speed of the migration job, assuming the Windows host machine has the compute power to accommodate the increase.
The recommended ratio for any configuration is 2x Checkers per Transfer.
Threshold for this job is displayed in the right column of the Migration Details page for each job, under Other Details.
Controlling Bandwidth Throughput
For any migration job, various advanced settings can be configured, including Empty Folders, Sanitization, Unattended Mode, Confluence, all available from the Migration Details Page. Control over Throughput is also available from the Advanced Options menu.
Configuring Throughput
- Navigate to Migration details page and expand Advanced options dropdown. Select Throughput from the left menu.
- Select ON for Enable Bandwidth Controls and another drop-down menu will appear.
- There are two options for controlling bandwidth: 1Mb/second at all times or 1Mb/second during business hours. Make the selection and click Save.
Threshold for this job is displayed in the right column of the Migration Details page for each job, under Other Details.
Using Exclusion Rules
Migration App offers the ability to use filters to granularly specify what will be migrated with a given Migration job.
Types Of Exclusions
Exclusion By File Extension
Migration Operators may specify file types to be excluded by entering the undesired extensions in a single text box. This is the simplest type of file exclusion and may be used by users with any experience level. Accordingly, Advanced Mode is not required for this level of exclusion.
Glob Pattern-Based Exclusion
Migration Operators may also exclude files based on glob patterns. The UI provides a separate text box for each pattern entry, and these entries are combined into a string array and validated before forwarding them to the agent. If a pattern cannot be validated, the UI will display an error. Rclone offers detailed documentation, but also see the Limitations and How Migration App Differs sections below.
Regex Pattern-Based Exclusion
Users can also exclude files based on regex patterns. Similar to the glob pattern-based exclusion, the UI provides a separate text box for each entry which is then combined into a string array, validated, and forwarded to the agent. If a pattern cannot be validated, the UI will display an error. For further information about regex patterns, rclone offers detailed documentation for regular expressions.
Email Recipients
Egnyte provides an option to include additional email recipients using Advanced options. The domain users receive email alerts for the updates related to the Migration statuses. Using advanced options, it is possible to add and save up to 10 recipients for them to receive the email alerts.
Navigate to Advanced Options -> Email Recipients
Enter any valid email address(es) and click on Save. The migration alerts will be received by the admins and the additional email recipients added.
The users will be alerted if an invalid email address is entered.
Limitations
- If exclusion rules exclude all items at the source, the scan will fail and the job will be aborted. If exclusion rules exclude all items within only one or more folders, the job will run, but those folders will fail to be created on the destination during migration.
- Only PCRE/POSIX based regex/glob patterns (more specifically rclone recognized patterns) are supported.
- There is currently no scrolling in the UI. If there are too many patterns, they cannot all be displayed.
- For some seemingly valid patterns that are flagged as invalid, try putting them in curly braces ({ }) and then Save.
- We are validating a restrictive set of expressions which are supported by rclone. Furthermore, we are only validating syntax. We are not confirming it will ultimately match and successfully exclude one or more files at the source.
- For Glob and Regex expression-based exclusion, a certain level of competence is assumed about the Migration Operator.
- If a folder on the source contains only unsupported files, none of these files will be migrated. As a result, this folder will not be created on the destination. Moreover, as this folder is not empty on the source, it will not be created as part of the empty folder migration step. So this folder will always be missing on the destination. There is no way presently to migrate it. The only solution is to put something inside that folder that can be migrated and run a True-Up. It will then appear on the destination containing only the one item that is supported.
How Migration App Differs From Native Rclone Functionality
Those familiar with rclone may notice several similarities in how Migration App has been enabled compared to the native rclone functionality. The purpose of this section is to educate users on the difference between Migration App and what is defined in rclone documentation. The filtering functionality can be incredibly useful to ensure that only specific files or directories are transferred. The rclone documentation provides basic guidance on how to use filters, but there are some discrepancies between what is mentioned in the documentation and how rclone actually accepts patterns.
Nested Curly Braces
The rclone documentation includes some filter patterns that are nested within curly braces ({{}}). However, it's important to note that rclone does not accept nested curly braces. If a user tries to use a pattern with nested curly braces, they will receive an error message.
For example, the documentation includes the following pattern:
{{*.txt}}
However, using this pattern with rclone requires removing the nested curly braces, so it becomes:
{*.txt}
Filtering Files With 3-Digit Extension
Rclone filtering documentation shows that the following pattern will filter files with extension with three digits:
*.\d\d\d
But in reality it is considered invalid. The same objective can be achieved by using the same pattern in curly braces like so:
{*.\d\d\d}
Incorrect Pattern Explanation
Another discrepancy in the rclone documentation is the explanation for some patterns. One example is the pattern *.jpe?g. The documentation states that this pattern will filter both jpg and jpeg files, but in reality, the pattern will filter files with the extension jpeXg, where X can be any character. To filter only jpg and jpeg files, use 2 patterns *.jpg and *.jpeg. This pattern will match files with either the jpg or jpeg extension.
Additional Resources
Creating Migration Jobs Through Configuration File
Questions? Feature Requests? Other Feedback?
If there are any feature suggestions or requests, feel free to submit them here, and make sure to mention Migration App in the text.
For more complex requests that would benefit from providing screen shots or other attachments, submit them to support@egnyte.com. Be sure to include Migration App in the email title. Our Support team will push the comments to the Product team for consideration.