FileFly 4.4.1 Administration Guide
snagitversion 4.4 | document revision 1
- 1 1 Overview
- 2 2 Deployment
- 3 3 Usage
- 4 4 Policy Operation Reference
- 4.1 4.1 Gather Statistics Operation
- 4.2 4.2 Migrate Operation
- 4.3 4.3 Quick-Remigrate Operation
- 4.4 4.4 Scrub Destination Operation
- 4.5 4.5 Post-Restore Revalidate Operation
- 4.6 4.6 Demigrate Operation
- 4.7 4.7 Advanced Demigrate Operation
- 4.8 4.8 Premigrate Operation
- 4.9 4.9 Link-Migrate Operation
- 4.10 4.10 Create Destination Tier Operation
- 4.11 4.11 Retarget Destination Operation
- 4.12 4.12 Create Recovery File From Source Operation
- 4.13 4.13 Create Recovery File From Destination Operation
- 5 5 Source and Destination Reference
- 5.1 5.1 Microsoft Windows
- 5.2 5.2 Microsoft Windows using FileFly LinkConnect Server
- 5.3 5.3 NetApp Filer
- 5.4 5.4 Dell EMC PowerScale OneFS
- 5.5 5.5 DataCore Swarm SCSP
- 5.6 5.6 DataCore Swarm (Direct Node Access)
- 5.7 5.7 Amazon S3
- 5.8 5.8 DataCore Swarm S3
- 5.9 5.9 Generic S3 Endpoint
- 5.10 5.10 Microsoft Azure Storage
- 5.11 5.11 Google Cloud Storage
- 6 6 Disaster Recovery
- 7 Appendix A Pattern Matching Reference
- 8 Appendix B Network Ports
- 9 Appendix C Admin Portal Security Configuration
- 10 Appendix D Service Probe
- 11 Appendix E Advanced FileFly Agent Configuration
- 12 Appendix F Troubleshooting
- 12.1 F.1 Log Files
- 12.2 F.2 Interpreting Errors
- 12.3 F.3 Contacting Support
- 13 Appendix G Glossary
1 Overview
1.1 Introduction
DataCore FileFly® is a heterogeneous Data Management System. It automates and manages the movement of data from primary storage locations to lower-cost file systems, object stores, and cloud storage services. Use cases include storage cost optimization, backup optimization, and workload placement.
Files are migrated from primary storage locations to the object store. Files are demigrated transparently when accessed by a user or application. FileFly® also provides a range of Disaster Recovery options.
1.1.0.1 What is Migration?
From a technical perspective, file migration can be summarized as follows: first, the file content and corresponding metadata are copied to secondary storage as an MWI file/object. Next, the original file is marked as a 'stub' and truncated to zero physical size (while retaining the original logical size for the benefit of users and the correct operation of applications). The resulting stub file remains on primary storage in this state until such time as a user or application requests access to the file content, at which point the data is automatically returned to primary storage.
Each stub encapsulates the location of the corresponding MWI data on secondary storage, without the need for a database or other centralized component.
1.2 Conventions Used in this Book
References to labels, values, and literals in the software are in 'quoted italics'.
References to actions, such as clicking buttons, are in bold.
References to commands and text typed in are in the fixed font.
Notes are denoted: Note: This is a note.
Important notes are denoted: Important: Important point here.
1.3 System Components
Figure 1.1 provides an overview of a FileFly deployment. All communication between FileFly components is secured with Transport Layer Security (TLS). The individual components are described below.
1.3.0.1 DataCore FileFly Admin Portal
FileFly Admin Portal is the system's policy manager. It provides a centralized web-based configuration interface and is responsible for task scheduling, server monitoring, and file reporting. It lies outside the data path for file transfers.
1.3.0.2 DataCore FileFly Agent
DataCore FileFly Agent performs file operations as directed by Admin Portal Policies. The FileFly Agent is also responsible for retrieving file data from secondary storage upon user/application access.
File operations include migration, demigration, and a range of operations, to assist in disaster recovery. Data is streamed directly between agents and storage without any intermediary staging on disk.
When installed in a Gateway configuration, FileFly Agent does not allow migration of files from that server. Optionally, Gateways can be configured for High-Availability (HA).
1.3.0.3 DataCore FileFly FPolicy Server
FileFly FPolicy Server provides migration support for NetApp filers using the NetApp FPolicy protocol. This component is the equivalent of DataCore FileFly Agent for NetApp filers.
FileFly FPolicy Server may also be configured for High-Availability (HA).
1.3.0.4 DataCore FileFly LinkConnect Server
FileFly LinkConnect Server provides link-based migration support for either Dell EMC OneFS or as an alternative method for migrating files from Windows Server volumes in the case where an agent may not be installed directly on the file server. This component performs a similar role to DataCore FileFly Agent for SMB shares.
FileFly LinkConnect Server may also be configured for High-Availability (HA).
1.3.0.5 DataCore FileFly DrTool
DataCore FileFly DrTool is an additional application that assists in Disaster Recovery.
Note: This functionality is not included with Community Edition licenses.
1.4 FileFly Admin Portal Concepts
DataCore FileFly Admin Portal is the web-based interface that provides central management of a FileFly deployment. It is installed as part of the FileFly Tools package.
When entering the FileFly Admin Portal, the 'Dashboard' displays – more on the dashboard in 1.5. The remainder of this section follows the Admin Portal's navigation menu.
1.4.1 Servers
The 'Servers' page displays the installed and activated agents across the deployment of FileFly. Health information and statistics are provided for each server or cluster node. Use this page when activating the other components in your system.
Click a Server's ellipsis control to:
View additional server information
Configure storage plugins
Add/retire/restart cluster nodes
Upgrade a standalone server to high-availability
View detailed charts of recent activity
Edit server-specific configuration (see Appendix E)
1.4.2 Sources
Sources describe volumes or folders to which Policies may be applied (e.g., locations on the network from which files may be migrated).
A Source location is specified by a URI. Platform-specific information for all supported sources is detailed in Chapter 5. A filesystem browser is provided to assist in setting the URI location interactively.
1.4.2.1 Subdirectory Filtering
Within a given Source, individual directory subtrees may be included or excluded to provide greater control over which files are eligible for policy operations. Excluded directories are not traversed.
In the Source editor, the directory tree may be expanded and explored in the 'Subdirectory Filtering' section. By default, the entire source is included.
1.4.3 Destinations
Destinations are storage locations that Policies may write files to (e.g., locations on the network to which files are Migrated). Platform-specific information for all supported sources is detailed in Chapter 5.
Optionally, a Destination may be configured to use Write Once Read Many (WORM) semantics for migration operations. No attempt is made thereafter to update the resultant secondary storage objects. This option is useful when the underlying storage device has WORM-like behavior, but is exposed using a generic protocol.
1.4.4 Rules
Rules allow a specific subset of files within a Source or Sources to be selected for processing.
Rules can match a variety of metadata: filename/pathname, size, timestamps/age, file owner, and attribute flags. A rule matches if all of its specified criteria match the file's metadata. However, rules can be negated or compounded as necessary to perform more complex matches.
You can simulate your Rules against your Sources during Policy creation.
Some criteria are specified as comma-separated lists of patterns:
Wildcard patterns, e.g. *.doc (see Appendix A.1)
Regular expressions, e.g. /2004-06-[0-9][0-9]\.log/ (see Appendix A.2)
Note that:
Files match if any one of the patterns in the list match
Whitespace before and after each pattern is ignored
Patterns are case-insensitive
Filename patterns starting with '/' match the path from the point specified by the Source URI
Filename patterns NOT starting with '/' match files in any subtree
Literal commas within a pattern must be escaped with a backslash
1.4.5 Policies
A Policy specifies an operation to perform on a set of files. Depending on the type of operation, a Policy will specify Source(s) and/or Destination(s), and possibly Rules to limit the Policy to a subset of files.
Each operation has different parameters, refer to Chapter 4 for a full reference.
1.4.6 Tasks
A Task schedules one or more Policies for execution. Tasks can be scheduled to run at specific times, or can be run on-demand using the Quick Run control on the 'Dashboard'.
While a Task is running, its status is displayed in the 'Running Tasks' panel of the 'Dashboard'. When Tasks finish, they are moved to the 'Recent Tasks' panel.
Operation statistics are updated in real-time as the task runs. Operations will automatically be executed in parallel, see §E for more details.
If multiple Tasks are scheduled to start simultaneously, Policies on each Source are grouped such that only a single traversal of each file system is required.
1.4.6.1 Completion Notification
When a Task finishes running, regardless of whether it succeeds or fails, a completion notification email may be sent as a convenience to the administrator. This notification email contains summary information similar to that available in the 'Recent Tasks' panel on the 'Dashboard'.
To use this feature, either:
Check the 'Notify completion' option when configuring the Task, or
Click the notify icon on a running task on the 'Dashboard'
1.4.7 Browser
The built-in Browser enables the examination of a variety of source/destination locations. Features include:
Metadata display and sorting
Optional filtering based on filename pattern or Rules
Download, upload, and deletion of files
1.4.8 Reports
Reports – generated by Gather Statistics Policies – contain charts detailing:
A 30-day review of access and change activity
A long-term trend chart to assist with planning migration strategy
A breakdown of the most common file types
Optionally, a breakdown of file ownership
Secure links to reports may be shared to other members of your organization without the need to create and distribute user credentials. Either share individual reports or share all reports generated by a Policy on an ongoing basis. To limit access to reports by IP address/subnet, see Appendix C.2.
1.4.9 Recovery
The 'Recovery' page provides access to multiple versions of the recovery files produced by each Create Recovery File From Source/Destination Policy. Retention options may be adjusted in 'Settings'.
Refer to Chapter 6 for more information on performing recovery operations.
1.4.10 Settings
The FileFly Admin Portal 'Settings' page allows the configuration of a wide range of global settings including:
Email notification
Configuration backup (see §3.3)
Security roles (see Appendix C.2)
Work hours
Admin Portal logging
Additionally, it is possible to:
View and update the product license
Suspend the scheduler to prevent scheduled Tasks starting while maintenance procedures are being performed
Update the TLS certificate for the Admin Portal web interface
Server-specific settings and plugin configuration are available on the 'Servers' page.
1.4.11 Help
The 'Help' page provides version information, as well as links to documentation and support resources. You may also view the global log, or generate a system diagnostic file (support.zip) for use when contacting DataCore Support.
1.5 FileFly Admin Portal Dashboard
The 'Dashboard' provides a concise view of the FileFly system status, current activity, and recent task history. It may also be used to run Tasks on-demand using the Quick Run control.
The 'Notices' panel, displayed on the expandable graph bar, summarizes system issues that need to be addressed by the administrator. This panel will guide you through initial setup tasks such as license installation.
The circular 'Servers' display shows high-level health information for the servers/clusters in the FileFly deployment.
1.5.1 Storage Charts
'Primary' and 'Secondary' storage charts may be read together to gain insight into the impact of currently configured migration policies on primary and secondary storage consumption over time. Each bar indicates an amount of storage space consumed or released. Consumed storage is indicated by a positive bar, while released storage is shown in the negative. Stacked bars indicate the contributions of the different operations by color.
A Migration Policy consumes secondary storage in order to release primary storage.
Demigration consumes primary storage immediately but defers release until later. Either the primary storage is released by a Quick-Remigrate, or the associated secondary storage is released by a Scrub.
In a complex environment, these charts provide insight into patterns of user behavior and policy activity.
Click on a bar to zoom in on an hourly breakdown for the chosen day.
1.5.2 Other Charts
The 'Processed' line chart graphs both the rate of operations successfully performed and data processed over time. Data transfer and bytes Quick-Remigrated (i.e. without any transfer required) are shown separately.
The 'Operations' breakdown chart shows successful activity by operation type across the whole system over time. Additionally, per-server operations charts are available using the 'Servers' page – see §1.4.1.
The 'Operations' radar chart shows a visual representation of the relative operation profile across your deployment. Two figures are drawn, one for each of the two preceding 7-day periods. This allows behavioral change from week to week to be seen at a glance.
1.5.3 Task Control & History
Per-file operation details (including any error messages) may be viewed by clicking a Task's log icon. It is also possible to start and stop Tasks, update task configuration, or request a completion notification for a task that is already in progress.
1.6 FileFly Licensing
Important
When a FileFly license expires, the system switches to demigrate only. New operations & tasks will not run, but data recall triggered by user and application activity will work.
2 Deployment
Refer to these instructions during initial deployment and when adding new components. For upgrade instructions, please refer to §3.7 instead.
For further information about each supported storage platform, refer to Chapter 5.
2.1 Installing FileFly Tools
The DataCore FileFly Tools package consists of the FileFly Admin Portal and the FileFly DrTool application (not licensed for Community Edition users). FileFly Tools must be installed before any other components.
2.1.1 System Requirements
A dedicated server with a supported operating system:
Windows Server 2022
Windows Server 2019
Windows Server 2016
Windows Server 2012 R2
Windows Server 2012
Minimum 12GB RAM
Minimum 10GB disk space for log files
Active clock synchronization (e.g. using NTP)
2.1.2 Setup
Run DataCore FileFly Tools.exe
Follow the instructions on screen
After completing the installation process, FileFly Tools must be configured using the Admin Portal web interface. The FileFly Admin Portal will be opened automatically and can be found later using the Start Menu.
The web interface will lead you through the process of initial configuration: refer to the 'Notices' panel on the 'Dashboard' to verify all steps are completed.
2.2 Installing FileFly Agents
Each FileFly Agent server may fulfill one of two roles, selected at installation time.
In the 'FileFly Agent for migration' role, an agent assists the operating system to migrate and demigrate files. It is essential for the agent to be installed on all machines from which files will be migrated.
In the 'FileFly Gateway agent' role, an agent provides access to external devices and storage services. While it does allow access to local disk and mounted SAN volumes, it does not provide local migration source support. Storage plugins will normally be deployed on Gateways.
2.2.1 High-Availability Gateway Configuration
A high-availability gateway configuration is recommended. Such FileFly Gateways must be activated as 'High-Availability FileFly Gateways'.
2.2.1.1 High-Availability Gateway DNS Setup
At least two FileFly Gateways are required for High-Availability.
Add each FileFly Gateway server to DNS.
Create an FQDN that resolves to all of the IP addresses.
Use this FQDN when activating the HA Servers.
Use this FQDN (or a CNAME alias to it) in FileFly Destination URIs.
Example:
gw-1.example.com → 192.168.0.1
gw-2.example.com → 192.168.0.2
gw.example.com → 192.168.0.1, 192.168.0.2
Note: The servers that form the High-Availability Gateway cluster must NOT be members of a Windows failover cluster.
2.2.2 DataCore FileFly Agent for Windows Servers
2.2.2.1 System Requirements
Supported Windows Server operating system:
Windows Server 2022
Windows Server 2019
Windows Server 2016
Windows Server 2012 R2
Windows Server 2012
Minimum 8GB RAM
Minimum 2GB disk space for log files
Active clock synchronization (e.g. using NTP)
Note: When installed in the Gateway role, a dedicated server is required, unless it is to be co-located on the FileFly Tools server. When co-locating, create separate DNS aliases to refer to the Gateway and the FileFly Admin Portal web interface.
2.2.2.2 Setup
Run the DataCore FileFly Agent.exe.
Follow the instructions to activate the agent using FileFly Admin Portal.
2.2.3 DataCore FileFly FPolicy Server for NetApp Filers
A DataCore FileFly FPolicy Server provides migration support for one or more NetApp Filers through the FPolicy protocol. This component is the equivalent of DataCore FileFly Agent for NetApp Filers. Typically FileFly FPolicy Servers are installed in a high-availability configuration.
2.2.3.1 System Requirements
A dedicated server with a supported operating system:
Windows Server 2022
Windows Server 2019
Windows Server 2016
Windows Server 2012 R2
Windows Server 2012
Minimum 8GB RAM
Minimum 2GB disk space for log files
Active clock synchronization (e.g. using NTP)
2.2.3.2 Setup
Installation of the FileFly FPolicy Server software requires careful preparation of the NetApp Filer and the FileFly FPolicy Server machines. Instructions are provided in §5.3.
2.2.4 DataCore FileFly LinkConnect Server
A DataCore FileFly LinkConnect Server provides link-based migration support for one or more Dell EMC OneFS or Windows SMB shares. This component performs a similar role to DataCore FileFly Agent without the need for software to be installed directly on the NAS or file server.
2.2.4.1 System Requirements
A dedicated server with a supported operating system:
Windows Server 2022
Windows Server 2019
Windows Server 2016
Minimum 2GB disk space for log files (on the system volume)
Minimum 1TB disk space for LinkConnect Cache (as a single NTFS volume)
RAM: 8GB base, plus:
4GB per TB of LinkConnect Cache
0.5GB per billion link-migrated files
Active clock synchronization (e.g. using NTP)
2.2.4.2 Setup
Installation of the FileFly LinkConnect Server software requires careful configuration of both the NAS / file server and the FileFly LinkConnect Server machines. Instructions are provided in §5.4 for OneFS and §5.2 for Windows file servers. Other devices are not supported.
2.3 LinkConnect Client Deployment
2.3.0.1 Installation
Having deployed one or more LinkConnect Servers, all Windows clients that will need to access link-migrated files will require the LinkConnect Client Driver to be installed as follows:
Verify the client machine is joined to the Active Directory domain.
Run DataCore FileFly LinkConnect Client Driver.exe.
Follow the prompts.
Alternatively, to ease deployment, the installer may be run in silent mode by specifying /S on the command line. Note that when upgrading the driver silently, the updated driver will not be loaded until the next reboot.
Important: Client Driver versions newer than the installed FileFly LinkConnect Server version should not be deployed.
2.3.0.2 Deployment Considerations
Access to NAS / file server shares containing files that have been link-migrated must use the domain credentials of the logged-in Windows desktop session. When a user accesses a link-migrated file, the client driver will transparently redirect the access to the FileFly LinkConnect Server if required. This redirected access will use the same logged-in Windows desktop session credentials.
Installation of the client driver will enable remote symlink evaluation in Windows. If remote symlink evaluation was disabled prior to client driver installation (this is the default behavior in Windows 10), the driver will continue to prevent remote symlink access for other symlinks. Do not disable remote symlink evaluation (e.g. by group policy) after installation since performing this causes the client driver to stop functioning.
2.3.0.3 Client Driver Removal
In the unlikely event that the LinkConnect client driver must be removed, please complete the following steps:
Open an Administrator command prompt
sc delete mwilcflt
fsutil behavior set symlinkEvaluation R2R:0
Reboot
3 Usage
3.1 DNS Best Practice
Storage locations in DataCore FileFly are referred to by URI. Relationships between files must be maintained over a long period of time. Verify the FQDNs used in these URIs are valid long-term, even as individual server roles are changed or consolidated.
In a production deployment, always use Fully Qualified Domain Names (FQDNs) in preference to bare IP addresses.
It is recommended to create DNS aliases for each logical storage role for each server. For example, use different DNS aliases when storing your finance department's data as opposed to your engineering department's data – even if they initially reside on the same server.
3.2 Getting Started
3.2.1 Analyzing Volumes
Once the software has been installed, the first step in any new FileFly deployment is to analyze the characteristics of the primary storage volumes. The following steps describe how to generate file statistics reports for each volume.
In the FileFly Admin Portal web interface:
Create Sources for each volume to analyze.
Create a 'Gather Statistics' Policy and select all defined Sources.
Create a Task for the 'Gather Statistics' Policy.
For now, disable the schedule
On the 'Dashboard', click the Quick Run icon.
Run the Task
When the Task has finished, view the report(s) on the 'Reports' page.
3.2.2 Migrating Files
Using the information from the reports, create a rule to select files for migration. A typical rule might limit migrations to files modified more than six months ago. The reports' long-term trend charts indicate the amount of data migrated by a 'modified more than n months ago' rule – adjust the age cutoff as necessary to suit your filesystems.
To avoid unnecessary migration of active files, be conservative with your first Migration Rule – it can be updated to migrate more recently modified files on subsequent runs.
Once the Rule has been created:
Create a Destination to store your migrated data.
See Chapter 5 for platform-specific instructions.
Create a Migration Policy and add the Source(s), Rule, and Destination.
Use the 'Simulate rule matching…' button to explore the effect of your rule.
Create a Task for the new Policy.
Run the task.
When the task is completed, check the corresponding 'Recent Tasks' entries on the 'Dashboard'. Click on the log icon to review any errors in detail.
Migration is typically performed periodically: configure a schedule on the Migration Task.
3.2.3 Next Steps
Chapter 4 describes all FileFly Policy Operations in detail and helps to get the most out of FileFly.
The remainder of this chapter gives guidance on using FileFly in a production environment.
3.3 Configuration Backup
This section describes how to backup DataCore FileFly configuration (for primary and secondary storage backup considerations, see §3.4).
3.3.1 FileFly Tools
Backing up the DataCore FileFly Tools configuration preserves policy configuration and server registrations as well as per-server settings and storage plugin configuration.
3.3.1.1 Backup Process
Configuration backup can be scheduled on the Admin Portal's 'Settings' page. A default schedule is created at installation time to backup configuration once a week.
Configuration backup files include:
Policy configuration
Server registrations
Per-Server settings, including plugin configuration, keys, etc.
Recovery files
Settings from the Admin Portal 'Settings' page
Settings specified when FileFly Tools was installed
It is strongly recommended that these backup files are retrieved and stored securely as part of your overall backup plan. These backup files can be found at:
C:\Program Files\DataCore FileFly\data\AdminPortal\configBackups
Additionally, log files may be backed up from:
C:\Program Files\DataCore FileFly\logs\AdminPortal\
C:\Program Files\DataCore FileFly\logs\DrTool\
3.3.1.2 Restore Process
Verify the server is restored and has the same FQDN as the original server.
If present, uninstall DataCore FileFly Tools.
Run the installer:
DataCore FileFly Tools.exe
Use the same version that was used to generate the backup file.
On the 'Installation Type' page, select 'Restore from Backup'.
Choose the backup zip file and follow the instructions.
Optionally, log files may be restored from server backups to:
C:\Program Files\DataCore FileFly\logs\AdminPortal\
C:\Program Files\DataCore FileFly\logs\DrTool\
3.3.2 Per-Server Logs
Backing up the configuration on each server is not necessary since such configuration is already included in the above FileFly Tools backup process. You may optionally backup server logs from the logs location on each server – by default these are located at:
C:\Program Files\DataCore FileFly\logs\FileFly Agent
Note: Do not attempt to restore logs back into an active installation, since this will interfere with log rotation.
3.4 Storage Backup
Each stub on primary storage is linked to a corresponding MWI file on secondary storage. During the normal process of migration and demigration, the relationship between the stub and MWI file is maintained.
The recommendations below guarantee the consistency of this relationship is maintained even after files are restored from the backup.
3.4.1 Backup Planning
Verify the restoration of stubs is included as part of the backup & restore test regimen.
When using Scrub policies, verify the Scrub grace period is sufficient to cover the time from when a backup is taken to when the restore and Post-Restore Revalidate steps are completed (see §3.4.2).
It is strongly recommended to set the global minimum grace period accordingly to guard against the accidental creation of scrub policies with insufficient grace. This setting may be configured on that FileFly Admin Portal 'Settings' page.
Important: It will NOT be possible to safely restore stubs or MigLinks from a backup set taken more than one grace period ago.
3.4.1.1 Additional Planning
To complement standard backup and recovery solutions, and to allow the widest range of recovery options, it is recommended to schedule a 'Create Recovery File From Source' Policy to run after each migration.
3.4.2 Restore Process
Suspend the scheduler in FileFly Admin Portal.
Restore the primary volume.
Run a 'Post-Restore Revalidate' policy against the primary volume.
To verify all stubs are revalidated, run this policy against the entire primary volume, NOT against the migration source.
This policy is not required when only WORM destinations are in use.
Restart the scheduler in FileFly Admin Portal.
If restoring the primary volume to a different server (a server with a different FQDN), the following preparatory steps are required:
On the 'Servers' page, retire the old server (unless still in use for other volumes).
Install FileFly Agent on the new server.
Update Sources as required to refer to the FQDN of the new server.
Perform the restore process as above.
3.4.3 Platform-specific Considerations
3.4.3.1 Windows
Most enterprise Windows backup software respect FileFly stubs and back them up correctly without causing any unwanted demigrations. For some backup software, it may be necessary to refer to the software documentation for options regarding Offline files.
When testing backup software configuration, test that backup of stubs does not cause unwanted demigration.
Additional backup testing may be required if Stub Deletion Monitoring is required. Please refer to §E for more details.
3.4.3.2 NetApp Filers
Please consult §5.3.5 for information regarding snapshot restore on NetApp Filers.
3.5 Production Readiness Checklist
3.5.0.1 Backup
Verify that your FileFly configuration is adequately backed up – see §3.3
Review the storage backup and restore procedures described in §3.4
Verify that backup software can backup stubs without triggering demigration
Verify that backup software restores stubs and that they can be demigrated
Schedule regular 'Create Recovery File From Source' Policies on your migration sources – see §4.12
3.5.0.2 Antivirus
Generally, antivirus software does not cause demigrations during normal file access. Some antivirus software demigrates files when performing scheduled file system scans.
Prior to production deployment, always check that installed antivirus software does not cause unwanted demigrations. Some software must be configured to skip offline files in order to avoid these inappropriate demigrations. Consult the antivirus software documentation for further details.
If the antivirus software does not provide an option to skip offline files during a scan, DataCore FileFly Agent may be configured to deny demigration rights to the antivirus software. Refer to §E for more information.
It may be necessary for some antivirus products to exempt the DataCore FileFly Agent process from real-time protection (scan-on-access). If the exclusion configuration requires the path of the executable to be specified, be sure to update the exclusion whenever FileFly is upgraded (since the path changes on upgrade).
3.5.0.3 Other System-wide Applications
Check for other applications that open all the files on the whole volume. Audit scheduled processes on file servers – if such processes cause unwanted demigration, it may be possible to block them (see Appendix E).
3.5.0.4 Monitoring and Notification
To facilitate proactive monitoring, it is recommended to:
Configure email notifications to monitor system health and Task activity
Enable syslog – see Appendix E
3.5.0.5 Platform Considerations
For further information on platform-specific interoperability considerations, please refer to the appropriate sections of Chapter 5.
3.6 Policy Tuning
Periodically re-assess file distribution and access behavior:
Run 'Gather Statistics' Policies
Examine reports
Examine Server statistics – see §1.4.1
For more detail, examine demigrates in file server agent.log files
Consider:
Are there unexpected peaks in demigration activity?
Are there any file types that should not be migrated?
Should different rules be applied to different file types?
Is the Migration Policy migrating data that is regularly accessed?
Are the Rules aggressive enough or too aggressive?
What is the data growth rate on primary and secondary storage?
Are there subtrees on the source file system that should be addressed by separate policies or excluded from the source entirely?
3.7 System Upgrade
When a FileFly deployment is upgraded from a previous version, FileFly Tools must always be upgraded first, followed by all Server components.
Run:
DataCore FileFly Tools.exe
3.7.1 Automated Server Upgrade
Where possible, it is advisable to upgrade Server agents using the automated upgrade feature by clicking the ‘Upgrade System’ icon on the 'Servers' page.
The automated process transfers installers to each server and performs the upgrades in parallel to minimize downtime. If a server fails or is offline during the upgrade, manually upgrade it later. Once the automated upgrade procedure is finalized, the 'Servers' page will update to display the health of the upgraded servers.
Following the upgrade, resolve any warnings displayed on the 'Dashboard'.
3.7.2 Manual Server Upgrade
Follow the instructions appropriate for the platform of each server as described below:
3.7.2.1 FileFly Agent for Windows
Run DataCore FileFly Agent.exe and follow the instructions.
Resolve any warnings displayed on the 'Dashboard'.
3.7.2.2 FileFly NetApp FPolicy Server
Run DataCore FileFly NetApp FPolicy Server.exe and follow the instructions.
Resolve any warnings displayed on the 'Dashboard'.
3.7.2.3 FileFly LinkConnect Server
Run DataCore FileFly LinkConnect Server.exe and follow the instructions.
Resolve any warnings displayed on the 'Dashboard'.
4 Policy Operation Reference
This chapter describes the various operations that may be performed on selected files by FileFly Admin Portal policies.
4.1 Gather Statistics Operation
Requires: Source(s)
Included in Community Edition: yes
Generate statistics report(s) for file sets at the selected Source(s). If desired, Rules may be used to specify a subset of files on which to report rather than the whole source.
Optionally include statistics by the file owner. By default, owner statistics are omitted which generally results in a faster policy run.
Gather Statistics Policies can also be configured to export per-file metadata – optionally including ACL information – in JSON or CSV format.
4.2 Migrate Operation
Requires: Source(s), Rule(s), Destination
Included in Community Edition: yes
Migrate file data from selected Source(s) to a Destination. Stub files remain at the Source location as placeholders until files are demigrated. File content is transparently demigrated (returned to primary storage) when accessed by a user or application. Stub files retain the original logical size and file metadata. Files containing no data are not migrated.
Each Migrate operation is logged as a Migrate, Remigrate, or Quick-Remigrate.
A Remigrate is the same as a Migrate except it explicitly recognizes that a previous version of the file had been migrated in the past and that stored data pertaining to that previous version is no longer required and so is eligible for removal using a Scrub policy.
A Quick-Remigrate occurs when a file has been demigrated and NOT modified. In this case, it is not necessary to retransfer the data to secondary storage so the operation can be performed very quickly. Quick-remigration does not change the secondary storage location of the migrated data.
Optionally, quick-remigration of files demigrated within a specified number of days may be prevented. This option can be used to avoid quick-remigrations occurring in an overly aggressive fashion.
Additionally, this policy may be configured to pause during the globally configured work hours.
Note: For Sources using a FileFly LinkConnect Server, such as Dell EMC OneFS shares, see §4.9 instead.
4.3 Quick-Remigrate Operation
Requires: Source(s), Rule(s)
Included in Community Edition: yes
Quick-Remigrate demigrated files that do not require data transfer, enabling space to be reclaimed quickly. This operation acts only on files that have not been altered since the last migration.
Optionally, files demigrated within a specified number of days may be prevented. This option can be used to avoid quick-remigrations occurring in an overly aggressive fashion.
Additionally, this policy may be configured to pause during the globally configured work hours.
4.4 Scrub Destination Operation
Requires: Destination (non-WORM)
Included in Community Edition: yes
Remove unnecessary stored file content from a migration destination. This is a maintenance policy that should be scheduled regularly to reclaim space.
A grace period must be specified which is sufficient to cover the time from when a backup is taken to when the restore and corresponding Post-Restore Revalidate policy would complete. The grace period effectively delays the removal of data sufficiently to accommodate the effects of restoring primary storage from backup to an earlier state.
The use of scrub is often desirable to maximize storage efficiency. In order to also maximize performance benefits from quick-remigration, it is advisable to schedule migration / quick-remigration policies more frequently than the grace period.
To avoid interactions with migration policies, Scrub tasks are automatically paused while migration-related tasks are in progress.
Scrub Policies may be configured to generate log output only without actually removing files.
Important: Source(s) MUST be backed up within the grace period.
4.5 Post-Restore Revalidate Operation
Requires: Source(s)
Included in Community Edition: yes
Scan all stubs present on a given Source, revalidating the relationship between the stubs and the corresponding files on secondary storage. This operation is required following a restore from backup and should be performed on the root of the restored source volume.
If only Write Once Read Many (WORM) destinations are in use, this policy is not required.
Important: This revalidation operation MUST be integrated into backup/restore procedures, see §3.4.1.
4.6 Demigrate Operation
Requires: Source(s), Rule(s)
Included in Community Edition: yes
Return migrated file content back to files on the selected Source(s). This is useful when a large batch of files must be demigrated in advance.
Prior to running a Demigrate policy, be sure that there is sufficient primary storage available to accommodate the demigrated data.
This operation may be used with both Migrated and Link-Migrated files.
4.7 Advanced Demigrate Operation
Requires: Source(s), Rule(s)
Included in Community Edition: yes
Demigrates files with advanced options:
Disconnect files from destination – remove destination information from demigrated files (both files demigrated by this policy and files that have already been demigrated); it is not possible to quick-remigrate these files.
A Destination Filter may optionally be specified in order to demigrate/disconnect only files that were migrated to a particular destination.
Prior to running an Advanced Demigrate policy, verify that there is sufficient primary storage available to accommodate the demigrated data.
4.8 Premigrate Operation
Requires: Source(s), Rule(s), Destination
Included in Community Edition: yes
Premigrate file data from selected Source(s) to a Destination in preparation for migration. Files on primary storage are not converted to stubs until a Migrate or Quick-Remigrate Policy is run. Files containing no data are not premigrated.
This can assist with:
A requirement to delay the stubbing process until secondary storage backup or replication has occurred
Reduction of excessive demigrations while still allowing an aggressive Migration Policy.
Premigration is, as the name suggests, intended to be followed by full migration/quick-remigration. If this is not done, a large number of files in the premigrated state may slow down further premigration policies, as the same files are rechecked each time.
By default, files already premigrated to another destination are skipped when encountered during a premigrate policy.
This policy may also be configured to pause during the globally configured work hours.
Note: Most deployments do not use this operation, but use a combination of Migrate and Quick-Remigrate instead.
4.9 Link-Migrate Operation
Requires: Source(s), Rule(s), Destination
Included in Community Edition: yes
For platforms that do not support standard stub-based migration, Link-Migrate file data from selected Source(s) to a Destination.
Files at the source location are replaced with FileFly-encoded links (MigLinks) which allow client applications to transparently read data without returning files to primary storage. If an application attempts to modify a link, the file is automatically returned to primary storage and then modified in place. Files containing no data are skipped by this policy.
MigLinks present the original logical size and file metadata.
Since MigLinks remain links when read by client applications, there is no analogue of quick-remigration for link-migrate.
This policy may be configured to pause during the globally configured work hours.
Note: To perform link-migration to Swarm targets, the destination should use the s3generic scheme, see §5.8.
4.10 Create Destination Tier Operation
Requires: Source(s), Rule(s), Destination Filter, New Destination
Included in Community Edition: no
Change migration tier of selected files that are already migrated or link-migrated to a secondary storage destination by copying the secondary storage data to the new
Destination and then updating the stubs / MigLinks accordingly. The defunct copy on the original destination will be removed by a subsequent Scrub Policy (scheduled separately and subject to the configured grace period).
This operation is typically used to realize a multi-tier environment, in which files can be aged across storage tiers over time. This is not to be confused with the Retarget
Destination operation (see §4.11), which caters to the decommissioning of a secondary storage target.
If desired, rules can be used to apply different tiering criteria to different subsets of the data.
This policy may be configured to pause during the globally configured work hours.
Note: Files migrated to WORM destinations cannot be moved to another tier. These files will be skipped.
Note: This operation does not support SCSP-based targets for the new destination.
4.11 Retarget Destination Operation
Requires: Source(s), Destination Filter, New Destination
Included in Community Edition: no
Permanently retarget stubs or MigLinks to a new migration destination. This operation is intended for use when completely decommissioning an old migration destination – the defunct copy of the file content will not be removed from the original destination either by this operation or by subsequent Scrub operations.
Any old data that is no longer referenced by stubs or MigLinks will not be transferred to the new destination.
Warning: This policy must be run on the root of all volumes that may contain stubs on all servers prior to finally decommissioning the old migration destination. Re-run the policies as necessary until there are no more files to retarget.
This policy may be configured to pause during the globally configured work hours.
Note: This operation does not support SCSP-based targets for the new destination.
4.12 Create Recovery File From Source Operation
Requires: Source(s), Rule(s)
Included in Community Edition: no
Generate a disaster recovery file for DataCore FileFly DrTool by analyzing files at the selected Source(s). FileFly DrTool can use the generated file(s) to recover or update source files.
Note: Recovery files generated from Source are accounted for renames.
4.13 Create Recovery File From Destination Operation
Requires: Destination
Included in Community Edition: no
Generate a disaster recovery file for DataCore FileFly DrTool by reading the index and analyzing files at the selected Destination without reference to the associated primary storage files.
Note: Recovery files from Destination may not account for renames.
Important: It is strongly recommended to use 'Create Recovery File From Source' in preference where possible.
5 Source and Destination Reference
The following pages describe the characteristics of the Sources and Destinations supported by DataCore FileFly. Planning, setup, usage, and maintenance considerations are outlined for each storage platform.
IMPORTANT: Read any relevant sections of this chapter prior to deploying FileFly in a production environment.
5.1 Microsoft Windows
5.1.1 Migration Support
Windows NTFS volumes may be used as migration sources. On Windows Server 2016 and above, ReFS volumes are also supported as migration sources.
Windows stub files can be identified by the 'O' (Offline) attribute in Explorer. Depending on the version of Windows, files with this flag may be displayed with an overlay icon.
Note: If it is not possible to install the DataCore FileFly Agent directly on the file server, see §5.2 for an alternative solution using Link-Migration.
5.1.2 Planning
When creating a production deployment plan, please refer to §3.5.
5.1.2.2 Cluster Support
Clustered volumes managed by Windows failover clusters are supported. However, the Cluster Shared Volume (CSVFS) feature is NOT supported. On Windows Server 2012 and above, when configuring a 'File Server' role in the Failover Cluster Manager, 'File Server for general use' is the only supported File Server Type. The 'Scale-Out File Server for application data' File Server Type is NOT supported.
When using clustered volumes in FileFly URIs, verify that the resource FQDN appropriate to the volume is specified rather than the FQDN of any individual node.
5.1.3 Setup
5.1.3.1 Installation
See Installing FileFly Agent for Windows §2.2.2.
5.1.4 Interoperability
This section describes Windows-specific considerations only and should be read in conjunction with §3.5.
5.1.4.1 Microsoft Storage Replica
FileFly supports Microsoft Storage Replica.
If Storage Replica is configured for asynchronous replication, a disaster failover effectively reverts the volume to a previous point in time. This kind of failover is directly equivalent to a volume restore operation (albeit to a very recent state).
As with any restore, a Post-Restore Revalidate Policy (see §4.5) should be run across the restored volume within the scrub grace period window. This verifies the correct operation of any future scrub policies by accounting for discrepancies between the demigration state of the files on the (failed) replication source volume and the replication destination volume.
Important: Integrate this process into your recovery procedures prior to the production deployment of asynchronous storage replication.
5.1.4.2 Microsoft DFS Namespaces (DFSN)
DFSN is supported. FileFly Sources must be configured to access volumes on individual servers directly rather than through a DFS namespace. Users and applications may continue to access files and stubs using DFS namespaces as normal.
5.1.4.3 Microsoft DFS Replication (DFSR)
DFSR is supported for:
Windows Server 2022
Windows Server 2019
Windows Server 2016
Windows Server 2012 R2
FileFly Agents must be installed (selecting the migration role during installation) on EACH member server of a DFS Replication Group prior to running migration tasks on any of the group's Replication Folders.
If adding a new member server to an existing Replication Group where FileFly is already in use, FileFly Agent must be installed on the new server first.
When running policies on a Replicated Folder, sources should be defined such that each policy acts upon only one replica. DFSR replicates the changes to the other members as usual.
Read-only (one-way) replicated folders are NOT supported. However, read-only SMB shares can be used to prevent users from writing to a particular replica as an alternative.
Due to the way DFSR is implemented, care should be taken to avoid writing to stub files that are being concurrently accessed from another replica.
In the rare event that DFSR-replicated data is restored to a member from backup, verify DFSR services on all members are running and replication is fully up-to-date (check for the DFSR 'finished initial replication' Windows Event Log message), then run a Post-Restore Revalidate Policy using the same source used for migration.
5.1.4.4 Retiring a DFSR Replica
Retiring a replica effectively creates two independent copies of each stub, without updating secondary storage. To avoid any potential loss of data:
Delete the contents of the retired replica (preferably by formatting the disk, or at least disabling Stub Deletion Monitoring during the deletion).
Run a Post-Restore Revalidate Policy on the remaining copy of the data.
If it is strictly necessary to keep both, now independent, copies of the data and stubs, then run a Post-Restore Revalidate Policy on both copies separately (not concurrently).
5.1.4.5 Preseeding a DFSR Replicated Folder Using Robocopy
The most common use of Robocopy with FileFly stubs is to preseed or stage initial synchronization. When performing such a preseeding operation:
For new Replicated Folders, verify the 'Primary member' is set to be the original server, not the preseeded copy.
Both servers must have FileFly Agent installed before preseeding.
Add a "Process Exclusion" to Windows Defender for robocopy.exe (allow a while for the setting to take effect).
On the source server, preseed by running robocopy with the /b flag (to copy stubs as-is to the new server)
Once preseeding is complete and replication is fully up-to-date (check for the DFSR 'finished initial replication' Windows Event Log message), it is recommended to run a Post-Restore Revalidate Policy on the original FileFly Source.
Note: If the process above is aborted, be sure to delete all preseeded files and stubs (preferably by formatting the disk, or at least disable Stub Deletion Monitoring during the deletion) and then run a Post-Restore Revalidate Policy on the original FileFly Source.
5.1.4.6 Robocopy (Other Uses)
Robocopy demigrates stubs as they are copied by default. This is the same behavior as Explorer copy-paste, xcopy, etc.
Robocopy with the /b flag (backup mode – must be performed as an administrator) copies stubs as-is.
Robocopy /b is not recommended. If stubs are copied in this fashion, the following must be considered:
For a copy from one server to another, both servers must have DataCore FileFly Agent installed.
This operation is essentially a backup and restore in one step, and thus inappropriately duplicates stubs, which are intended to be unique.
After the duplication, one copy of the stubs should be deleted immediately.
Run a Post-Restore Revalidate policy on the remaining copy.
This process renders the corresponding secondary storage files non-scrubbable, even after they are demigrated.
To prevent Windows Defender triggering demigrations when the stubs are accessed in this fashion:
Always run the robocopy from the source end (the file server with the stubs).
Add a "Process Exclusion" to Windows Defender for robocopy.exe (allow a while for the setting to take effect).
5.1.4.7 Windows Data Deduplication
If a Windows source server is configured to use migration policies and Windows Data Deduplication, it should be noted that a given file can either be deduplicated or migrated, but not both at the same time. FileFly migration policies automatically skip files already deduplicated. Windows skips FileFly stubs when deduplicating.
When using both technologies, it is recommended to configure Data Deduplication and Migration based on file type such that the most efficacious strategy is chosen for each type of file.
Note: Microsoft's legacy Single Instance Storage (SIS) feature is not supported. Do not use SIS on the same server as DataCore FileFly Agent.
5.1.4.8 Windows Shadow Copy
Windows Shadow Copy – also known as Volume Snapshot Service (VSS) – allows previous versions of files to be restored, e.g. from Windows Explorer. This mechanism cannot be used to restore a stub. Restore stubs from backup instead – see §3.4.
5.1.5 Behavioral Notes
5.1.5.1 Symbolic Links
Symbolic links (symlinks) are skipped during the traversal of the file system. This guarantees files are not seen – and thus acted upon – multiple times during a single execution of a given policy. If it is intended that a policy should apply to files within a directory referred to by a symbolic link, either verify the Source encompasses the real location at the link's destination, or specify the link itself as the Source.
5.1.5.2 Mount Points / Junctions
Mount Points are always traversed.
By default, all other directory junctions will be traversed as expected, unless the junction represents a legacy path, identifiable by its ACL explicitly denying the Everyone SID the List Folder permission.
If it is desired to omit traversal of directory junctions, add the following setting to the Server’s manual override settings in FileFly Admin Portal:Windows.TraverseNonVolumeJunctions=false
5.1.5.3 Mount-DiskImage
On Windows 8 or above, VHD and ISO images may be mounted as normal drives using the PowerShell Mount-DiskImage cmdlet. This functionality can also be accessed using the Explorer context menu for an image file.
A known limitation of this cmdlet is that it does not permit sparse files to be mounted (see Microsoft KB2993573). Since migrated image files are always sparse, they must be demigrated prior to mounting. This can be achieved either by copying the file or by removing the sparse flag with the following command:fsutil sparse setflag <file_name> 0
5.1.6 Stub Deletion Monitoring
On Windows, the FileFly Agent can monitor stub deletions to identify secondary storage files that are no longer referenced in order to maximize the usefulness of Scrub Policies. This feature extends not only to stubs that are directly deleted by the user but also to other cases of stub file destruction such as overwriting a stub or renaming a different file over the top of a stub.
Stub Deletion Monitoring is disabled by default. To enable it, please refer to §E.
5.2 Microsoft Windows using FileFly LinkConnect Server
5.2.1 Link-Migration Support
This section details the configuration of a DataCore FileFly LinkConnect Server to enable Link-Migration of files from Windows Server SMB shares. This option should be used when it is not possible to install DataCore FileFly Agent directly on the Windows file server in question. For other cases – where FileFly Agent can be installed on the server – please refer to §5.1.
Refer to §4.2 and §4.9 for details of the Migrate and Link-Migrate operations respectively.
Link-Migration works by pairing a Windows SMB share with a corresponding LinkConnect Cache Share. Typically a top-level share on each Windows file server volume is mapped to a unique share (or subdivision) on a FileFly LinkConnect Server. Multiple file server shares may use Cache Shares / subdivisions on the same FileFly LinkConnect Server if desired.
Once this configuration is completed, Link-Migrate policies convert files on the source Windows Server SMB share to links pointing to the destination files using the LinkConnect Cache Share, according to configured rules.
Link-Migrated files can be identified by the 'O' (Offline) attribute in Explorer. Depending on the version of Windows, files with this flag may be displayed with an overlay icon.
5.2.2 Planning
5.2.2.1 Prerequisites
An NTFS Cache Volume of at least 1TB – see §2.2.4
A supported secondary storage destination (excluding scsp and scspdirect)
When creating a production deployment plan, please refer to §3.5.
Note: It is recommended that a FileFly LinkConnect Server is only associated with one type of SMB device. For example, do not associate a single FileFly LinkConnect Server with both Windows and OneFS shares. This is because agent configuration options may need to be tuned differently to best work with the different platforms.
5.2.2.2 File Server System Requirements
Windows Server 2016 or higher
The server must NOT have the Active Directory Domain Services role
5.2.2.3 Client Requirements
Windows clients require a supported 64-bit Windows operating system:
Windows 11
Windows 10
Windows Server 2022
Windows Server 2019
Windows Server 2016
Windows Server 2012 R2
In order to access link-migrated files, the LinkConnect Client Driver must be installed on each client machine – see §2.3.
5.2.2.4 Network
Place the DataCore FileFly LinkConnect Server on the same subnet and same switch as the corresponding Windows file server(s) to minimize latency.
Additionally, the FileFly LinkConnect Server must be joined to the same domain as the Windows file server and the Windows client machines.
5.2.2.5 Antivirus Considerations
Verify Windows Defender or any other antivirus product installed on the FileFly LinkConnect Server is configured to omit scanning/screening on the LinkConnect Cache Volume and any Windows file server SMB shares.
5.2.2.6 High-Availability for FileFly LinkConnect Server
Consider whether High-Availability (HA) is required in your environment (either now or in the future). If so, LinkConnect Servers must be installed in a DFSN configuration from the outset.
LinkConnect Cache Shares are configured for HA by exposing the share name at the domain level using DFSN. If not using HA, it is possible to use either a simple share on a standalone server, or a share exposed at the domain level using DFSN. The latter is always recommended to allow the transition to an HA configuration in the future.
5.2.2.7 Regular Maintenance Activity
Each configured MigLink source is periodically scanned to perform maintenance tasks such as MigLink ACL propagation and Link Deletion Monitoring (see §5.2.2.9).
In an HA configuration, this scanning activity is performed by a single caretaker node, as can be seen on the Admin Portal Servers page. A standalone FileFly LinkConnect Server always performs the caretaker role.
5.2.2.8 Security Considerations
Files with certain ACLs cannot be link-migrated – they will be skipped during Link-Migrate Policies. If such an ACL is set on a file that has already been link-migrated, the new ACL will NOT be propagated to the FileFly LinkConnect Server. Specifically:
Conditional ACEs will not be link-migrated (consider using Central Access Policies instead where applicable)
Audit ACEs that track attempted read access will not be link-migrated (e.g. write or delete work as expected)
When using Dynamic Access Control, Central Access Policies must be propagated to the FileFly LinkConnect Server as well as the file servers.
5.2.2.9 Link Deletion Monitoring
Link Deletion Monitoring (LDM) may be enabled on a per-share basis.
Similar to the Stub Deletion Monitoring feature provided by DataCore FileFly Agents on Windows, LDM identifies secondary storage files that are no longer referenced in order to facilitate recovery of storage space by Scrub Policies. This feature extends not only to MigLinks that are demigrated or directly deleted by the user, but also to other cases such as overwriting a MigLink or renaming a different file over the top of a MigLink.
Unlike SDM, LDM requires a number of maintenance scans to determine that a given secondary storage file is no longer referenced. Interrupting the maintenance process (e.g. by restarting the caretaker node or transitioning the caretaker role) delays the detection of unreferenced secondary storage. For optimal and timely storage space recovery, verify LinkConnect Servers can run uninterrupted for extended periods.
Warning: In order to avoid LDM incorrectly identifying files as deleted – leading to unwanted data loss during Scrub – it is critical to verify users cannot move/rename MigLinks out of the scanned portion of the directory tree within the filesystem. This can be achieved by configuring the managed shares at the root of each data volume.
5.2.3 Setup
5.2.3.1 Installation
Provision a user on the Active Directory domain for the exclusive use of your LinkConnect service(s). This user does not need to be a member of Domain Admins.
On each FileFly LinkConnect Server machine:
Add the user created above to the local 'Administrators' group.
Assign the 'Log on as a service' privilege to this user.
Run the DataCore FileFly LinkConnect Server.exe.
Follow the prompts to complete the installation.
Follow the instructions to activate the installation.
5.2.3.2 Configuring the FileFly LinkConnect Server
In the DataCore FileFly Admin Portal, navigate to the ‘Servers’ page and configure the FileFly LinkConnect Server.
In the ‘Configuration’ panel, select ‘FileFly LinkConnect Server’, then use the wizard to add shares.
Windows supports features such as Dynamic Access Control that are not available on all SMB implementations. Support for these features is disabled by default. Such additional security information may be useful in certain advanced recovery situations. Gathering this information may optionally be enabled in the ‘Manual Overrides’ panel by entering:
SMB.SACL.mandatoryLabel=true
SMB.SACL.scopedPolicy=true
SMB.SACL.resourceAttribute=true
5.2.4 Additional Shares
Further ‘top-level’ shares can be added using the ‘Configuration’ panel as above.
For all other sub-shares (that is, shares within the directory tree of a registered top-level share, including shares that are simply aliases for top-level shares), simply add ‘Full Control’ permissions for the LinkConnect user. Verify the share is configured, not the folder permissions.
5.2.5 Usage
5.2.5.1 URI format
smb://{server}/{nas}/{share}/[{path}/]
Where:
server – FQDN of a FileFly LinkConnect Server that is configured to support the file server share
nas – Windows file server FQDN
share – Windows file server SMB share
path – Path within the share
Example:
smb://link.example.com/winserver.example.com/pub/projects/
5.3 NetApp Filer
This section describes support for NetApp Filers.
5.3.1 Migration Support
Migration support for sources on NetApp Vservers (Storage Virtual Machines) is provided using NetApp FPolicy. This requires the use of a DataCore FileFly FPolicy Server. Client demigrations can be triggered using SMB or NFS client access.
Please note that NetApp Filers currently support FPolicy for Vservers with FlexVol volumes but not Infinite volumes.
When accessed using SMB on a Windows client, NetApp stub files can be identified by the 'O' (Offline) attribute in Explorer. Files with this flag may be displayed with an overlay icon. The icon may vary depending on the version of Windows on the client workstation.
5.3.2 Planning
5.3.2.1 Prerequisites
NetApp Filer(s) must be licensed for the particular protocol(s) to be used (FPolicy requires an SMB license)
DataCore FileFly FPolicy Servers require EXCLUSIVE use of SMB connections to their associated NetApp Vservers. This means Explorer windows must not be opened, drives must not be mapped, nor should any UNC paths to the filer be accessed from the FileFly FPolicy Server machine. Failure to observe this restriction results in unpredictable FPolicy disconnections and interrupted service.
When creating a production deployment plan, please refer to §3.5.
5.3.2.2 Filer System Requirements
DataCore FileFly FPolicy Server requires that the Filer is running:
Data ONTAP version 9.6+
5.3.2.3 Network
Each FileFly FPolicy Server should have exactly one IP address.
Place the FPolicy Servers on the same subnet and same switch as their corresponding Vservers to minimize latency.
5.3.2.4 Antivirus Considerations
Verify Windows Defender or any other antivirus product installed on FileFly FPolicy Server machines is configured to omit scanning/screening NetApp shares.
Antivirus access to NetApp files interferes with the correct operation of the FileFly FPolicy Server software. Antivirus protection should still be provided on client machines and/or the NetApp Vservers themselves as normal.
5.3.2.5 High-Availability for FileFly FPolicy Servers
It is strongly recommended to install DataCore FileFly FPolicy Servers in a High-Availability configuration. This configuration requires the installation of DataCore FileFly FPolicy Server on a group of machines, which are addressed by a single FQDN. This provides High-Availability for migration and demigration operations on the associated Vservers.
A pair of FileFly FPolicy Servers operating in HA service all Vservers on a NetApp cluster.
Note: The servers that form the High-Availability FileFly FPolicy Server configuration must not be members of a Windows failover cluster.
5.3.2.6 DNS Configuration
All Active Directory Servers, DataCore FileFly FPolicy Servers, and NetApp Filers, must have both forward and reverse records in DNS.
All hostnames used in Filer and FileFly FPolicy Server configuration must be FQDNs.
5.3.3 Setup
5.3.3.1 Setup Parameters
Before starting the installation the following parameters must be considered:
Management Interface IP Address: the address for management access to the Vserver (not to be confused with cluster or node management addresses).
SMB Privileged User: a domain user for the exclusive use of FPolicy.
5.3.3.2 Preparing Vserver Management Access
For each Vserver, verify 'Management Access' is allowed for at least one network interface. Check the network interface in OnCommand System Manager – if Management Access is not enabled, create a new interface just for Management Access.
Note: Using the same interface for management and data access may cause firewall problems. It is recommended to use separate interfaces.
5.3.3.3 Configuring SMB Privileged Data Access
If it has not already been created, create the SMB Privileged User on the domain. Each FileFly FPolicy Server uses the same SMB Privileged User for all Vservers it manages.
Open a command line session to the cluster management address:
Create a new local 'Windows' group.
cifs users-and-groups local-group create -group-name <Name> -vserver <vserver fqdn>
Assign ALL available privileges to the local group.
cifs users-and-groups privilege add-privilege -user-or-group-name <Group Name> -privileges SeTcbPrivilege SeBackupPrivilege SeRestorePrivilege SeTakeOwnershipPrivilege SeSecurityPrivilege SeChangeNotifyPrivilege -vserver <vserver fqdn>
Add the CIFS Privileged User to this group.
cifs users-and-groups local-group add-members -group-name <Name> -member-names <Domain\User or Group Name> -vserver <vserver fqdn>
Allow a few minutes for the change to take effect (or FPolicy Server operations may fail with access denied errors).
5.3.3.4 Installation
On each FileFly FPolicy Server machine:
Close any SMB sessions open to Vserver(s) before proceeding.
Add the SMB Privileged User to the local Administrators group.
Verify the SMB Privileged User has the 'Log on as a service' privilege.
Run the DataCore FileFly NetApp FPolicy Server.exe.
Follow the prompts to complete the installation.
Follow the instructions to activate the installation.
5.3.3.5 Configuring FileFly FPolicy Servers
In DataCore FileFly Admin Portal, navigate to the ‘Servers’ page and configure the FileFly FPolicy Server. In the ‘Configuration’ panel, select ‘NetApp FPolicy’.
Click on the ‘Configuration’ edit icon to provide credentials for ‘Management Authentication’. The same credentials will be used when accessing each Vserver.
Note: Encrypted credentials are stored in secured areas on the Admin Portal server (where they will be backed up) and on the corresponding FileFly FPolicy Servers.
Add the Vserver(s). Once the SMB data FQDN and Management FQDN (if different) have been provided, the Vserver connection is validated and the FPolicy configuration is synced to the Vserver.
5.3.4 Usage
SMB shares that will be used in FileFly Policies must be configured to Hide symbolic links. If a different setting is required for other SMB clients, create a new share at the same location just for FileFly traversal that does hide links. To modify the symlink behavior on a share:
Open a command line session to the cluster management address.
For each share:
cifs share modify -share-name <sharename> -symlink-properties hide -vserver <vserver fqdn>
To hide the setting, set -symlink-properties to disable. In this mode, symlinks are visible but cannot be opened. To avoid access-denied errors, create Policies using a Rule to exclude files with the ‘Hidden’ attribute (the Vserver adds this flag to UNIX symlinks when in this mode).
5.3.4.1 URI Format
netapp://{FPolicy Server}/{NetApp Vserver}/{SMB Share}/[{path}/]
Where:
FPolicy Server – FQDN alias that points to all FileFly FileFly FPolicy Servers for the given Vserver
NetApp Vserver – FQDN of the Vserver's Data Access interface
SMB Share – NetApp SMB share name
Example:
netapp://fpol-svrs.example.com/vs1.example.com/data/
5.3.5 Snapshot Restore
5.3.5.1 Volume Restore
After an entire volume containing stubs is restored from snapshot, a Post-Restore Revalidate Policy must be run, as per the restore procedure described in §3.4.
5.3.5.2 Individual Stub Restore
Users cannot perform self-service restoration of stubs. However, an administrator may restore specific stubs or sets of stubs from snapshots by following the procedure outlined below. Be sure to provide this procedure to all administrators.
IMPORTANT: The following instructions mandate the use of Robocopy specifically. Other tools, such as Windows Explorer copy or the 'Restore' function in the Previous versions dialog, DO NOT correctly restore stubs.
To restore one or more stubs from a snapshot-folder like:\\<filer>\<share>~snapshot\<snapshot-name>\<path>
To a restore folder on the same Filer like:\\<filer>\<share>\<restore-path>
Perform the following steps:
Go to an FileFly FPolicy Server machine.
Open a command window.
robocopy <snapshot-folder> <folder> [<filename>…] [/b]
On a client machine (NOT the FileFly FPolicy Server), open all of the restored file(s) or demigrate them using a Demigrate Policy.
Verify that the file(s) have demigrated correctly.
IMPORTANT: Until the demigration above is performed, the restored stub(s) may occupy space for the full size of the file.
As with any other FileFly restore procedure, be sure to run a Post-Restore Revalidate Policy across the volume before the next Scrub – see §3.4.
5.3.6 Interoperability
5.3.6.1 NDMP Backup
NDMP Backup products require ONTAP 9.2+ for interoperability with FileFly.
5.3.6.2 Robocopy
Except when following the procedure in §5.3.5 Robocopy must not be used with the /b (backup mode) switch when copying FileFly NetApp stubs.
When in backup mode, robocopy attempts to copy stub files as-is rather than demigrating them as they are read. This behavior is not supported.
Note: The /b switch requires Administrator privilege – it is not available to normal users.
5.3.7 Behavioral Notes
5.3.7.1 Unix Symbolic Links
Unix Symbolic links (also known as symlinks or softlinks) may be created on a Filer using an NFS mount. Symbolic links are not seen during FileFly Policy traversal of a NetApp file system (since only shares which hide symbolic links are supported for traversal). If it is intended that a policy should apply to files within a folder referred to by a symbolic link, verify the Source encompasses the real location at the link's destination. A Source URI may NOT point to a symbolic link – use the real folder that the link points to instead.
Client-initiated demigrations using symbolic links operate as expected.
5.3.7.2 QTree and User Quotas
NetApp QTree and user quotas are measured in terms of logical file size. Thus, migrating files has no effect on quota usage.
5.3.7.3 Snapshot Traversal
FileFly automatically skips snapshot directories when traversing shares using the netapp scheme.
5.3.7.4 Dynamic Access Control Considerations
If the Netapp Filer is correctly configured to support Dynamic Access Control (Central Access Policy), you may enable Resource Attribute SACL ACEs and Scoped Policy SACL ACEs in the FileFly FPolicy Server Configuration.
These settings cause additional security information to be gathered during migration, which may be useful in certain advanced recovery situations.
Important: Do not enable these settings if the filer is not configured for Dynamic Access Control, since this causes errors while accessing files.
5.3.8 Skipping Sparse Files
It is often undesirable to migrate files that are highly sparse since sparseness is not preserved by the migration process.
To enable sparse files to be skipped during migration policies, tick 'Settings' → 'Additional Options' → 'Enable sparse file skipping' in FileFly Admin Portal.
Skipping sparse files may then be configured per migration policy.
5.3.9 Troubleshooting
5.3.9.1 Troubleshooting Management Login
Open a command line session to the cluster management address
security login show -vserver <vserver-name>
There should be an entry for the expected user for application 'http' with role 'vsadmin'
If you are using an ONTAP version prior to 9.11, there should additionally* be an entry for application ‘ontapi’ with role ‘vsadmin’.
5.3.9.2 Troubleshooting TLS Management Access
Open a command line session to the cluster management address.
vserver context -vserver <vserver-name>
security certificate show
There should be a 'server' certificate for the Vserver management FQDN (NOT the bare hostname).
If using certificate-based authentication, there should be a 'client-ca' entry.
security ssl show
There should be an enabled entry for the Vserver management FQDN (NOT the bare hostname).
5.3.9.3 Troubleshooting Vserver Configuration
If the FPolicy configuration on a Vserver is out of sync with the DataCore FileFly FPolicy Server, this may be repaired in FileFly Admin Portal using the RE-SYNC icon in the
Vservers list.
5.3.10.4 Troubleshooting 'PRIVILEGED_SHARE_NOT_FOUND' Errors
If the FileFly FPolicy Server reports ‘privileged share not found’, there is a misconfiguration or SMB issue. Please attempt the following steps:
Check all configurations using troubleshooting steps described above.
Verify the FileFly FPolicy Server has no other SMB sessions to Vservers.
Run
net use
from Windows Command Prompt.Remove all mapped drives.
Reboot the server.
Retry the failed operation.
Check for new errors in agent.log.
5.4 Dell EMC PowerScale OneFS
This section describes FileFly's capabilities when used with OneFS on Dell EMC PowerScale / Isilon platforms.
5.4.1 Link-Migration Support
OneFS does not provide an interface for performing FileFly stub-based migration. As an alternative, FileFly provides a link-based migration mechanism using a FileFly LinkConnect Server. See §4.9 for details of the Link-Migrate operation.
Link-Migration works by pairing a OneFS SMB share with a corresponding LinkConnect Cache Share. Typically a top-level share on each OneFS device is mapped to a unique share (or subdivision) on a FileFly LinkConnect Server. Multiple OneFS systems may use shares/subdivisions on the same FileFly LinkConnect Server if desired.
Once this configuration is completed, Link-Migrate policies convert files on the source OneFS share to links pointing to the destination files using the LinkConnect Cache Share, according to configured rules.
Link-Migrated files can be identified by the 'O' (Offline) attribute in Explorer. Depending on the version of Windows, files with this flag may be displayed with an overlay icon.
5.4.2 Planning
5.4.2.1 Prerequisites
An NTFS Cache Volume of at least 1TB – see §2.2.4
A supported secondary storage destination (excluding scsp and scspdirect)
When creating a production deployment plan, please refer to §3.5.
Note: it is recommended that a FileFly LinkConnect Server is only associated with one type of SMB device. For example, do not associate a single FileFly LinkConnect Server with both Windows and OneFS shares. This is because agent configuration options may need to be tuned differently to best work with the different platforms.
5.4.2.2 NAS System Requirements
DataCore FileFly LinkConnect Server requires OneFS version 8.1.2.0 or higher.
5.4.2.3 Client Requirements
Windows clients require a supported 64-bit Windows operating system:
Windows 11
Windows 10
Windows Server 2022
Windows Server 2019
Windows Server 2016
Windows Server 2012 R2
In order to access link-migrated files, the LinkConnect Client Driver must be installed on each client machine – see §2.3.
5.4.2.4 Network
Place the DataCore FileFly LinkConnect Server on the same subnet and same switch as the corresponding OneFS system to minimize latency.
Additionally, the FileFly LinkConnect Server must be joined to the same domain as the OneFS NAS.
5.4.2.5 Antivirus Considerations
Verify Windows Defender or any other antivirus product installed on the FileFly LinkConnect Server is configured to omit scanning/screening on the LinkConnect Cache Volume and any OneFS SMB shares.
5.4.2.6 High-Availability for FileFly LinkConnect Server
Consider whether High-Availability (HA) is required in your environment (either now or in the future). If so, LinkConnect Servers must be installed in a DFSN configuration from the outset.
LinkConnect Cache Shares are configured for HA by exposing the share name at the domain level using DFSN. If not using HA, it is possible to use either a simple share on a standalone server, or a share exposed at the domain level using DFSN. The latter is always recommended to allow the transition to an HA configuration in the future.
5.4.2.7 Regular Maintenance Activity
Each configured MigLink source is periodically scanned to perform maintenance tasks such as MigLink ACL propagation and Link Deletion Monitoring (see §5.4.2.9).
In an HA configuration, this scanning activity is performed by a single caretaker node, as can be seen on the Admin Portal Servers page. A standalone FileFly LinkConnect Server always performs the caretaker role.
5.4.2.8 Security Considerations
Files with certain ACLs cannot be link-migrated – they are skipped during Link-Migrate Policies. If such an ACL is set on a file that has already been link-migrated, the new ACL does NOT propagate to the FileFly LinkConnect Server. Specifically:
Conditional ACEs will not be link-migrated (consider using Central Access Policies instead where applicable)
Audit ACEs that track attempted read access will not be link-migrated (Audit ACEs which track e.g. write or delete work as expected)
5.4.2.9 Link Deletion Monitoring
Link Deletion Monitoring (LDM) may be enabled on a per-share basis.
Similar to the Stub Deletion Monitoring feature provided by DataCore FileFly Agents on Windows, LDM identifies secondary storage files that are no longer referenced to facilitate recovery of storage space by Scrub Policies. This feature extends not only to MigLinks that are demigrated or directly deleted by the user, but also to other cases such as overwriting a MigLink or renaming a different file over the top of a MigLink.
Unlike SDM, LDM requires a number of maintenance scans to determine that a given secondary storage file is no longer referenced. It should be noted that interrupting the maintenance process (e.g. by restarting the caretaker node or transitioning the caretaker role) delays the detection of unreferenced secondary storage. For optimal and timely storage space recovery, verify LinkConnect Servers can run uninterrupted for extended periods.
Warning: To avoid LDM incorrectly identifying files as deleted – leading to unwanted data loss during Scrub – it is critical to verify users cannot move/rename MigLinks out of the scanned portion of the directory tree within the filesystem.
5.4.3 Setup
5.4.3.1 Installation
Provision a user on the Active Directory domain for the exclusive use of your LinkConnect service(s). This user does not need to be a member of Domain Admins.
On each FileFly LinkConnect Server machine:
Add the user created above to the local 'Administrators' group
Assign the 'Log on as a service' privilege to this user
Run the DataCore FileFly LinkConnect Server.exe
Follow the prompts to complete the installation
Follow the instructions to activate the installation
5.4.3.2 Configuring the FileFly LinkConnect Server
In the DataCore FileFly Admin Portal, navigate to the ‘Servers’ page and configure the FileFly LinkConnect Server. In the ‘Configuration’ panel, select ‘FileFly LinkConnect Server’, then use the wizard to add shares.
5.4.4 Adding Shares
Further ‘top-level’ shares can be added using the ‘Configuration’ panel as above.
If using sub-shares defined using path expansion variables (e.g. for dynamic home directories such as [HOME → /ifs/data/home%0/%U] or [%U → /ifs/data/homes/%U]),
check the ‘Path expansion variables in use’ box in the wizard and specify these share expansions to enable the FileFly LinkConnect Server to correctly apply them when MigLinks are accessed. The following variables are supported in expansion paths: %U, %D, %0, %1, and %2.
For all other sub-shares (that is, shares within the directory tree of a registered top-level share, including shares that are simply aliases for top-level shares), simply add permissions for the LinkConnect user:
Open the OneFS Storage Administration web console.
Navigate to Protocols → Windows Sharing (SMB) → SMB Shares
Edit the share.
Add the LinkConnect user as a new member.
Specify ‘Run as root’ permission.
Move the new member to the top of the members list.
5.4.5 Usage
5.4.5.1 URI format
smb://{server}/{nas}/{share}/[{path}/]
Where:
server – FQDN of a FileFly LinkConnect Server that is configured to support the OneFS share
nas – OneFS FQDN
share – OneFS SMB share
path – path within the share
Example:
smb://link.example.com/onefs.example.com/pub/projects/
5.4.6 Snapshot Support
MigLinks may be restored from OneFS snapshots, providing that the associated secondary storage file has not yet been Scrubbed. This includes restoring an entire snapshot (SnapRevert) as well as copying an individual MigLink from a snapshot. When copying individual MigLinks, depending on the copy method used, the file is either restored as a regular file (e.g. Explorer copy) or remains as a MigLink (e.g. cp -a command at the OneFS console).
Note: When creating a SnapRevert Protection Domain (Domain Mark), a domain that occupies only a subtree of a registered top-level share, prevents Link Migration operations in that subtree.
5.5 DataCore Swarm SCSP
5.5.1 Introduction
DataCore Swarm provides a multi-tenanted object storage platform built upon Swarm storage nodes. Swarm may be used as a migration destination only.
This section details the use of FileFly® with Swarm using SCSP. The use of Swarm with the S3 protocol is described in §5.8.
Swarm (SCSP) traffic may optionally be encrypted in transit with TLS. Additionally, the plugin can employ client-side encryption to protect migrated data at rest.
5.5.2 Planning
Before proceeding with the installation, the following are required:
Cloud Gateway 3.0.0 or above
Swarm 8 or above
5.5.2.1 Policy Limitations
The following Policy limitations apply to this scheme:
It may not be used as a Link-Migration destination.
It may not be used as the new destination for Change Destination Tier policies.
It may not be used as the new destination for Retarget Destination policies.
5.5.2.2 Firewall
The TCP port used to access the Swarm Content Gateway using HTTP or HTTPS must be allowed by any firewalls between the DataCore FileFly Gateway and the Swarm endpoint. For further information regarding firewall configuration, see Appendix B.
5.5.2.3 Named and Unnamed Objects
Swarm domain names used with FileFly must be valid FQDNs, which resolve to one or more Content Gateway endpoints.
Migrated files may be stored as either unnamed objects (accessed by UUID), or as named objects residing in a bucket. Bucket creation must be performed ahead of time, prior to configuring FileFly.
5.5.2.4 Certificate
In order to utilize an HTTPS endpoint, the endpoint's Root CA certificate must be trusted by the relevant FileFly components. In most cases, the Root CA is already trusted as a pre-installed public root or enterprise-deployed CA. Where this is not the case, install the Root CA (or self-signed certificate) in the Local Computer Trusted Root Certification Authorities store on each Gateway and the Admin Portal machine.
5.5.2.5 Authentication
When using buckets, it is a requirement that the configured credentials for accessing the bucket are also permitted to perform HEAD requests at the root of the domain in order to obtain domain information. This must be considered when provisioning buckets.
5.5.3 Usage
In DataCore FileFly Admin Portal, navigate to the 'Servers' page and configure the Server on which the plugin is enabled. In the 'Configuration' panel, select the plugin from the 'Enabled Plugins' or 'Available Plugins' list as appropriate.
Configure the plugin to specify options such as proxy and encryption, as well as Domain credentials.
Note: Encrypted credentials and keys are stored in secured areas on the Admin Portal server (where they will be backed up) and on the corresponding Gateways.
Swarm Destinations require an index to be created prior to use. Once credentials have been supplied, click Create new index to create a new index and corresponding migration Destination.
Additional indexes can be added at a later date to further subdivide storage if required. Multiple migration destinations may be created in the same bucket by specifying different partition names.
Important: Each FileFly Admin Portal must have its own destination indexes; DO NOT share indexes across multiple FileFly implementations.
5.5.3.1 Metadata Options
Enable 'Include metadata headers' to store per-file HTTP metadata with the destination objects, such as original filename and location, content-type, owner, and timestamps – see §5.5.6 for details.
Also, enable 'Include Content-Disposition' to include the original filename for use when downloading the target objects directly using a web browser.
5.5.4 Legacy URIs
URIs created on previous versions of FileFly using the cloudscaler scheme continue to function as expected. Existing destinations should NOT be updated to use the scsp scheme. The cloudscaler scheme is an alias for the scsp scheme.
5.5.5 Disaster Recovery Considerations
During migration, each newly migrated file is recorded in the corresponding index. The index may be used in disaster scenarios where:
Stubs have been lost, and
A Create Recovery File from Source file is not available, and
No current backup of the stubs exists
Index performance is optimized for migrations and demigrations, not for Create Recovery File from Destination policies.
‘Create Recovery File from Source’ policies are the recommended means to obtain a Recovery file for restoring stubs. This method provides better performance and the most up-to-date stub location information.
It is recommended to regularly run Create Recovery File from Source policies following Migration policies.
5.5.6 Swarm Metadata Headers
The following metadata fields are supported:
X-Alt-Meta-Name – The original source file's filename (excluding directory path)
X-Alt-Meta-Path – The original source file's directory path (excluding the filename) in a platform-independent manner such that '/' is used as the path separator and the path starts with '/', followed by drive/volume/share if appropriate, but not end with '/' (unless this path represents the root directory)
X-FileFly-Meta-Partition – The Destination URI partition – if no partition is present, this header is omitted
X-Source-Meta-Host – The FQDN of the original source file's server
X-Source-Meta-Owner – The owner of the original source file in a format appropriate to the source system (e.g. DOMAIN\username)
X-Source-Meta-Modified – The Last Modified timestamp of the original source file at the time of migration in RFC3339 format
X-Source-Meta-Created – The Created timestamp of the original source file in RFC3339 format
X-Source-Meta-Attribs – A case-sensitive sequence of characters {AHRS} representing the original source file's file flags: Archive, Hidden, Read-Only, and System
All other characters are reserved for future use and should be ignored
Content-Type – The MIME Type of the content, determined based on the file-extension of the original source filename
Note: Timestamps may be omitted if the source file timestamps are not set.
Non-ASCII characters are stored using RFC2047 encoding, as described in the Swarm documentation. Swarm decodes these values prior to indexing in Elasticsearch.
5.6 DataCore Swarm (Direct Node Access)
5.6.1 Introduction
The scspdirect scheme should only be used when accessing Swarm storage nodes directly. Swarm may be used as a migration destination only.
Swarm (SCSP) traffic is not encrypted in transit when using this scheme. Optionally, the plugin can employ client-side encryption to protect migrated data at rest.
Normally, Swarm is accessed using a Swarm Content Gateway, in which case the scsp scheme must be used instead, see §5.5.
5.6.2 Planning
Before proceeding with the installation, the following are required:
Swarm 8 or above
5.6.2.1 Policy Limitations
The following Policy limitations apply to this scheme:
It may not be used as a Link-Migration destination
It may not be used as the new destination for Change Destination Tier policies
It may not be used as the new destination for Retarget Destination policies
5.6.2.2 Firewall
The Swarm storage node port must be allowed by any firewalls between the DataCore FileFly Gateway and the Swarm storage nodes. For further information regarding firewall configuration, see Appendix B.
5.6.2.3 Domains and Endpoints
Swarm storage locations are accessed using a configured endpoint FQDN. Add several Swarm storage node IP addresses to DNS under a single endpoint FQDN (4-8 addresses are recommended). If Swarm domains are in use, the FQDN must be the name of the domain in which the FileFly data is stored. If domains are NOT in use (i.e. data is stored in the default cluster domain), it is strongly recommended that the FQDN be the name of the cluster for best Swarm performance.
When using multiple Swarm domains, verify that each domain FQDN is added to DNS as described above.
5.6.2.4 Named and Unnamed Objects
Migrated files may be stored as either unnamed objects (accessed by UUID), or as named objects residing in a bucket. Bucket creation must be performed ahead of time, prior to configuring FileFly.
5.6.3 Usage
In DataCore FileFly Admin Portal, navigate to the 'Servers' page and configure the Server on which the plugin is enabled. In the 'Configuration' panel, select the plugin from the 'Enabled Plugins' or 'Available Plugins' list as appropriate.
Configure the plugin to specify options and encryption settings.
Note: Encrypted keys are stored in secured areas on the Admin Portal server (where they are backed up) and on the corresponding Gateways.
Swarm Destinations require an index to be created prior to use: click Create new index to create a new index and corresponding migration Destination.
Additional indexes can be added at a later date to further subdivide storage if required. Multiple migration destinations may be created in the same bucket by specifying different partition names.
Important: Each FileFly Admin Portal must have its own destination indexes; DO NOT share indexes across multiple FileFly implementations.
5.6.3.1 Metadata Options
Enable 'Include metadata headers' to store per-file HTTP metadata with the destination objects, such as original filename and location, content-type, owner, and timestamps – see §5.5.6 for details.
Also, enable 'Include Content-Disposition' to include the original filename for use when downloading the target objects directly using a web browser.
5.6.4 Legacy URIs
URIs created on previous versions of FileFly using the swarm scheme will continue to function as expected. Existing destinations should NOT be updated to use the scspdirect scheme. The swarm scheme is an alias for the scspdirect scheme.
5.6.5 Disaster Recovery Considerations
Refer to §5.5.5.
5.7 Amazon S3
5.7.1 Introduction
Amazon S3 may be used as a migration destination only.
S3 traffic is encrypted in transit with TLS. Additionally, the plugin can employ client-side encryption to protect migrated data at rest.
This section strictly pertains to Amazon S3.
5.7.2 Planning
Before proceeding with the installation, the following will be required:
An Amazon Web Services (AWS) Account
Dedicated buckets – without versioning enabled – should be used for FileFly migration data. However, do not create any S3 buckets at this stage.
5.7.2.1 Firewall
The HTTPS port (TCP port 443) must be allowed by any firewalls between the DataCore FileFly Gateway and the Internet.
5.7.3 Usage
In DataCore FileFly Admin Portal, navigate to the 'Servers' page and configure the Server on which the plugin will be enabled. In the 'Configuration' panel, select the plugin from the 'Enabled Plugins' or 'Available Plugins' list as appropriate.
Configure the plugin to specify options such as proxy and encryption, as well as S3 account credentials.
Note: Encrypted credentials and keys are stored in secured areas on the Admin Portal server (where they are backed up) and on the corresponding Gateways.
Once credentials have been supplied, click on the manage buckets icon to create buckets and edit bucket-specific settings.
When the configuration is complete, click the ‘create migration destination’ icon next to the desired bucket.
Partitions may be used to subdivide a bucket into multiple migration destinations. A greater number of smaller migration destinations may be helpful in a recovery scenario where destinations can be recovered in order of priority.
5.7.3.1 Transfer Acceleration
Transfer acceleration allows data to be uploaded using the fastest data center for your location, regardless of the actual location of the bucket.
This per-bucket option provides a way to upload data to a bucket in a remote AWS region while minimizing the adverse effects on migration policies that would otherwise be caused by the correspondingly higher latency of using the remote region.
Additional AWS charges may apply for using transfer acceleration at upload time, but for archived data, these initial charges may be significantly outweighed by reduced storage costs in the target region. For further details, please consult AWS pricing.
5.7.3.2 Default Storage Class
This per-bucket option allows files to be uploaded directly into the STANDARD, STANDARD_IA, or GLACIER_IR storage class subject to eligibility. Unconfigured buckets use the STANDARD storage class.
Please consult AWS pricing for further details.
5.7.3.3 Migration Layout
By default, migrated data is stored in the Standard migration layout within the object store. The standard layout supports encryption at rest.
Alternatively, migrated data may be stored in a manner that preserves the original filename information. This layout does not support encryption, and is subject to limitations such as path/filename length imposed by the object store. This option is useful in specific circumstances where data at a migration destination must be read directly by other applications. Files are stored under <bucket>/<partition>/FILES. FileFly-specific metadata is stored under <bucket>/<partition>/HDR and should not be made accessible to other applications.
Note: Buckets configured to preserve original filename information upon migration may not be used as the new Destination for Change Destination Tier or Retarget Destination Policies.
5.7.4 Extended Metadata Fields
Extended metadata fields are written when the 'Migrate with original filenames' option is selected for a migration destination bucket.
Header Field | Content |
x-amz-meta-orig-host | Source server FQDN |
x-amz-meta-orig-name | Original filename (without path) |
x-amz-meta-orig-modified-time | Modified timestamp |
x-amz-meta-orig-created-time | Creation timestamp |
x-amz-meta-orig-attribs | Subset of characters {AHRS} |
Content-Disposition (optional) | Original name for web browser download |
Security Details | as appropriate |
x-amz-meta-orig-owner | File owner – e.g. Domain\JoeUser |
x-amz-meta-orig-sddl | Microsoft SDDL format security descriptor |
Notes:
Headers are sent in UTF-8 using RFC2047 encoding as necessary to unambiguously represent the original metadata values (in accordance with the HTTP/1.1 specification – see RFC2616/2.2).
Due to Amazon-specific limitations, sequences of adjacent whitespace within x-amz-meta-orig-name may be returned as a single space by some client software.
All timestamps are stored as UTC in RFC3339 format.
5.8 DataCore Swarm S3
5.8.1 Introduction
DataCore Swarm provides a multi-tenanted object storage platform built upon Swarm storage nodes.
Swarm S3 may be used as a migration destination only.
This section details the use of FileFly® with Swarm using the S3 protocol. The use of Swarm with SCSP is described in §5.5.
S3 traffic may optionally be encrypted in transit with TLS. Additionally, the plugin can employ client-side encryption to protect data at rest.
5.8.2 Planning
Before proceeding with the installation, the following is required:
Suitable S3 API credentials
Dedicated buckets should be used for FileFly migration data. However, do not create any S3 buckets at this stage.
5.8.2.1 Firewall
The S3 port must be allowed by any firewalls between the DataCore FileFly Gateway and the Swarm endpoint.
5.8.3 Usage
In DataCore FileFly Admin Portal, navigate to the ‘Servers’ page and configure the Server on which the plugin is enabled. In the ‘Configuration’ panel, select the plugin from the ‘Enabled Plugins’ or ‘Available Plugins’ list as appropriate.
Configure the plugin to specify options such as proxy and encryption, as well as S3 account credentials. Note that encrypted credentials and keys are stored in secured areas on the Admin Portal server (where they are backed up) and on the corresponding Gateways. Once credentials have been supplied, click on the MANAGE BUCKETS icon to create buckets and edit bucket-specific settings.
When the configuration is complete, click the CREATE MIGRATION DESTINATION icon next to the desired bucket.
Partitions may be used to subdivide a bucket into multiple migration destinations. A greater number of smaller migration destinations may be helpful in a recovery scenario where destinations can be recovered in order of priority.
5.8.3.1 Migration Layout
By default, migrated data is stored in the Standard migration layout within the object store. The standard layout supports encryption at rest.
Alternatively, migrated data may be stored in a manner that preserves the original filename information. This layout does not support encryption and is subject to limitations such as path/filename length imposed by the object store. This option is useful in specific circumstances where data at a migration destination must be read directly by other applications. Files are stored under <bucket>/<partition>/FILES. FileFly-specific metadata is stored under <bucket>/<partition>/HDR and should not be made accessible to other applications.
Note: Buckets configured to preserve original filename information upon migration may not be used as the new Destination for Change Destination Tier or Retarget Destination Policies.
5.8.4 Extended Metadata Fields
Please refer to §5.7.4 for S3 metadata field details.
5.9 Generic S3 Endpoint
5.9.1 Introduction
Other generic or third-party storage devices and services that support the Amazon S3 protocol may be addressed using the 'Generic S3 Endpoint' feature. Such endpoints may be used as migration destinations only.
S3 traffic may optionally be encrypted in transit with TLS. Additionally, the plugin can employ client-side encryption to protect migrated data at rest.
5.9.2 Planning
Important: Prior to production deployment, please confirm with DataCore the chosen device or service is certified for compatibility to verify it is covered by the support agreement.
Prerequisites:
Suitable S3 API credentials
Dedicated buckets – without versioning enabled – should be used for FileFly migration data. However, do not create any S3 buckets at this stage.
5.9.2.1 Firewall
The S3 port must be allowed by any firewalls between the DataCore FileFly Gateway and the storage endpoint.
5.9.2.2 Certificate
In order to utilize an HTTPS endpoint, the endpoint's Root CA certificate must be trusted by the relevant FileFly components. In most cases, the Root CA will already be trusted as a pre-installed public root or enterprise-deployed CA. Where this is not the case, install the Root CA (or self-signed certificate) in the Local Computer Trusted Root Certification Authorities store on each Gateway and the Admin Portal machine.
5.9.3 Usage
In DataCore FileFly Admin Portal, navigate to the 'Servers' page and configure the Server on which the plugin will be enabled. In the 'Configuration' panel, select the plugin from the 'Enabled Plugins' or 'Available Plugins' list as appropriate.
Configure the plugin to specify options such as proxy and encryption, as well as S3 account credentials. Once credentials have been supplied, click on the manage buckets icon to create buckets and edit bucket-specific settings.
When the configuration is complete, click the CREATE MIGRATION DESTINATION icon next to the desired bucket.
Partitions may be used to subdivide a bucket into multiple migration destinations. A greater number of smaller migration destinations may be helpful in a recovery scenario where destinations can be recovered in order of priority.
5.9.3.1 Omit ISO date from path
Normally, when FileFly migrates a file to S3, a timestamp is included in each resulting S3 object key (name). Amazon S3 implements a flat, uniform keyspace – there is no concept of a directory structure within an Amazon storage bucket. However, some S3-compatible devices map the keyspace to an underlying directory structure or other non-uniform, or hierarchical namespace. On such systems, the inclusion of the timestamp may result in excessive directory creation which may adversely impact performance and/or resource consumption. For such devices, use the 'Omit ISO date from path' option to omit the timestamp.
5.9.3.2 Virtual Host Access
The S3 protocol supports a virtual-host-style bucket access method, for example, https://bucket.s3.example.com rather than only https://s3.example.com/bucket. This facilitates connecting to a node in the correct region for the bucket, rather than requiring a redirect.
Generally, the 'Use Virtual Host Access' option should be enabled (the default) to verify optimal performance and correct operation. If the generic S3 endpoint in question does not support this feature at all, Virtual Host Access may be disabled.
Note: When using Virtual Host Access in conjunction with HTTPS (recommended) it is important to verify the endpoint's TLS certificate has been created correctly. For example, if the endpoint FQDN is s3.example.com, the certificate must contain Subject Alternative Names (SANs) for both s3.example.com and *.s3.example.com.
5.8.3.3 Migration Layout
By default, migrated data is stored in the Standard migration layout within the object store. The standard layout supports encryption at rest.
Alternatively, migrated data may be stored in a manner that preserves the original filename information. This layout does not support encryption, and is subject to limitations such as path/filename length imposed by the object store. This option is useful in specific circumstances where data at a migration destination must be read directly by other applications. Files are stored under <bucket>/<partition>/FILES. FileFly-specific metadata is stored under <bucket>/<partition>/HDR and should not be made accessible to other applications.
Note: Buckets configured to preserve original filename information upon migration may not be used as the new Destination for Change Destination Tier or Retarget Destination Policies.
5.9.4 Extended Metadata Fields
Please refer to §5.7.4 for S3 metadata field details.
5.10 Microsoft Azure Storage
5.10.1 Introduction
Microsoft Azure may be used as a migration destination only.
Azure traffic is encrypted in transit with TLS. Additionally, the plugin can employ client-side encryption to protect migrated data at rest.
5.10.2 Planning
Before proceeding with the installation, the following are required:
A Microsoft Azure Account
A Storage Account within Azure – both General Purpose and Blob Storage (with Hot and Cool access tiers) account types are supported
5.10.2.1 Firewall
The HTTPS port (TCP port 443) must be allowed by any firewalls between the DataCore FileFly Gateway and the Internet.
5.10.3 Usage
In DataCore FileFly Admin Portal, navigate to the 'Servers' page and configure the Server on which the plugin will be enabled. In the 'Configuration' panel, select the plugin from the 'Enabled Plugins' or 'Available Plugins' list as appropriate.
Configure the plugin to specify options such as proxy and encryption, as well as Azure Storage Accounts.
Note: Encrypted credentials and keys are stored in secured areas on the Admin Portal server (where they are backed up) and on the corresponding Gateways. Once credentials have been supplied, click on the MANAGE CONTAINERS icon to create and view containers.
When the configuration is complete, click the CREATE MIGRATION DESTINATION icon next to the desired container.
5.10.3.1 Advanced Encryption Options
The 'Allow unencrypted filenames' option greatly increases performance when creating Recovery files from an Azure Destination. This is facilitated by recording stub filenames in Azure metadata in unencrypted form, even when encryption at rest is enabled.
5.11 Google Cloud Storage
5.11.1 Introduction
Google Cloud Storage is used only as a migration destination with FileFly.
Google Cloud Storage traffic is encrypted in transit with TLS. Additionally, the plugin can employ client-side encryption to protect migrated data at rest.
5.11.2 Planning
Before proceeding with the installation, the following is required:
a Google Account
5.11.2.1 Firewall
The HTTPS port (TCP port 443) must be allowed by any firewalls between the DataCore FileFly Gateway and the Internet.
5.11.3 Storage Bucket Preparation
Using the Google Cloud Platform web console, create a new Service Account in the desired project for the exclusive use of FileFly. Create a P12 format private key for this Service Account. Record the Service Account ID and store the downloaded private key file securely for use in later steps.
Create a Storage Bucket exclusively for FileFly data.
For FileFly use, bucket names must:
Be 3-40 characters long
Contain only lowercase letters, numbers, and dashes (-)
Not begin or end with a dash
Not contain adjacent dashes
Edit the bucket's permissions to add the new Service Account as a member with the 'Storage Object Admin' role.
5.11.4 Usage
In DataCore FileFly Admin Portal, navigate to the 'Servers' page and configure the Server on which the plugin will be enabled. In the 'Configuration' panel, select the plugin from the 'Enabled Plugins' or 'Available Plugins' list as appropriate.
Configure the plugin to specify options such as proxy and encryption, as well as Google Storage Accounts. Once credentials have been supplied, click on the manage buckets icon to register previously created buckets. Note that encrypted credentials and keys are stored in secured areas on the Admin Portal server (where they are backed up) and on the corresponding Gateways. Once credentials have been supplied, click on the MANAGE BUCKETS icon to register previously created buckets.
When the configuration is complete, click the CREATE MIGRATION DESTINATION icon next to the desired bucket.
6 Disaster Recovery
6.1 Introduction
The FileFly DrTool application allows for the recovery of files where normal backup and restore procedures have failed. Storage backup recommendations and considerations are covered in §3.4.
It is recommended to regularly run a 'Create Recovery File From Source' Policy to generate an up-to-date list of source–destination mappings.
FileFly DrTool is installed as part of DataCore FileFly Tools.
Note: Community Edition licenses do not include FileFly DrTool functionality.
6.2 Recovery Files
Recovery files are normally generated by running 'Create Recovery File From Source' Policies in FileFly Admin Portal. To open a file previously generated by FileFly Admin Portal:
Open DataCore FileFly DrTool from the Start Menu.
Go to File → Open From FileFly Admin Portal…→ Recovery File From Source.
Select a Recovery file to open.
Older versions of Recovery files may be found using the 'Recovery' page in FileFly Admin Portal.
6.3 Filtering Results
In FileFly DrTool, click Filter to filter results by source file properties. Filter options are described below.
Note: When a Filter is applied, Save only saves the filtered results.
6.3.0.1 Scheme Pattern
In the 'Scheme Pattern' field, use the name of the Scheme only (e.g. win, not win:// or win://servername ). This field may be left blank to return results for all schemes.
This field matches against the scheme section of a URI:
{scheme}://{servername}/[{path}]
6.3.0.2 Server Pattern
In the 'Server Pattern' field, use the full server name or a wildcard expression.
This field matches against the servername section of a URI:
{scheme}://{servername}/[{path}]
Examples:
server65.example.com – will match only the specified server
*.finance.example.com – will match all servers in the 'finance' subdomain
6.3.0.3 File Pattern
The 'File Pattern' field matches either filenames only (and search within all directories) or filenames qualified with directory paths in the same manner as filename patterns in FileFly Admin Portal Rules – see Appendix A.
For the purposes of file pattern matching, the top-level directory is considered to be the top level of the entire URI path. This may be different from the top-level of the original Source URI.
6.3.0.4 Using the Analyze Button
Analyze assists in creating simple filters.
Click Analyze
Analyze displays a breakdown by scheme, server, and file type.
Select a subset of the results by making a selection in each column.
Click Filter to create a filter based on the selection.
6.4 Recovering Files
6.4.0.1 Selected Files
To recover files interactively:
Select the results for which files will be recovered.
Click Edit → Recover File…
6.4.0.2 All Files
All files may be recovered either as a batch process using the command line (see §6.7) or interactively as follows:
Click Edit → Recover All Files…
Missing folders will be recreated as required to contain the recovered files.
Recreated files and folders do not have ACLs applied to them so care should be taken when recreating in sensitive areas.
6.5 Recovering Files to a New Location
When recovering to a new location, always use an up-to-date Recovery file generated by a 'Create Recovery File From Source' Policy.
To rewrite source file URIs to the new location, use the -csu command line option to update the prefix of each URI. Once these URI substitutions have been applied (and checked in the GUI) files may be recovered as previously outlined. The -csu option is further detailed in §6.7.
Important: DO NOT create stubs in a new location and then continue to use the old location. To avoid incorrect reference counts, only one set of stubs should exist at any given time.
6.6 Updating Sources to Reflect Destination URI Change
A Retarget Destination Policy (see §4.11) – is the most effective way to permanently move migrated data from one destination to another. If, however, the destination URI changes for some other reason, such as an FQDN being updated externally, FileFly DrTool may be used to repair the linkage between the source and the destination.
In FileFly DrTool, source files may be updated to reflect a destination URI change through -cmu
command line option -- detailed in §6.7.
To apply the destination URI substitution to existing files on the source, select 'Update All Source Files…' from the Edit menu. When given the option, elect to update substituted entries only.
Note: This operation must always be performed using an up-to-date Recovery file generated by a 'Create Recovery File From Source' Policy.
6.7 Using FileFly DrTool from the Command Line
Important: DO NOT create stubs in a new location and then continue to use the old location. To avoid incorrect reference counts, only one set of stubs should exist at any given time.
Use an Administrator command prompt. By default, DrTool is located in:C:\Program Files\DataCore FileFly\AdminTools\DrTool\
6.7.0.1 Interactive Usage
DrTool [Recovery file] [extra options]
Opens the FileFly DrTool in interactive (GUI) mode with the desired options and optionally opens a Recovery file.
6.7.0.2 Batch Usage
DrTool [<operation> <Recovery file>] [<options>]
Run the FileFly DrTool without a GUI to perform a batch operation on all entries in the input file.
Note: The Recovery file provided as input is usually created by saving (possibly filtered) results to the hard disk from the interactive DrTool GUI.
6.7.0.3 Command Line Options
operation – is either:
-recoverFiles
-updateSource
if combined with -cmu, only matching entries will be updated
-updateSourceAll
all entries will be updated, even when -cmu is specified
if operation is omitted, the GUI will be opened with any supplied options
Recovery file – the file to open
options (related to the operation are):
-csu {from} {to} – to change Source URI prefix, this option can be specified multiple times
-cmu {from} {to} – to change Migrated URI prefix, this option can be specified multiple times
6.7.0.4 Examples
All the following examples are run from the FileFly DrTool directory.
DrTool -recoverFiles result.txt – recover all files from the result.txt file
DrTool -updateSource result.txt -cmu scsp://oldfqdn/ scsp://newfqdn/ – update existing files to point to a new storage location
DrTool -recoverFiles result.txt -csu win://old1/ win://new1/ -csu win://old2/ win://new2/ -cmu scsp://oldfqdn/ scsp://newfqdn/ – recover files to different servers and update the secondary storage location simultaneously
6.7.0.5 Expert Options
To use the expert options below, include -expert
as the first parameter.
WARNING: Restoring old ACLs into locations that may have changed significantly since the files were originally migrated can lead to unintended and unpredictable results. Use these options with caution.
-do-not-restore-acls – this is the DEFAULT behavior (recreated files and folders are inherit Windows ACLs from the existing folders into which they are created).
-merge-acls – restore files’ explicit Windows ACLs and inherit from the parent folder.
-exact-acls – Windows ACLs are restored exactly – if parent folder ACLs are now different, these are propagated when a future change is made to the parent.
-restore-acls-disable-inherit – Windows ACLs are restored, then inheritance is disabled (inherited central access policies and resource attributes are discarded in favor of those inherited at the new destination).
If -expert- is specified when running via the GUI (rather than a batch operation), the GUI prompts which of the above ACL options should be used.
6.8 Querying a Destination
While it is strongly recommended to obtain Recovery files from a 'Create Recovery File From Source' Policy, where this has been overlooked it is possible to obtain Recovery files from the destination. However, some changes in the source file system, such as renames and deletions, may not be reflected in these results.
6.8.0.1 Querying the Destination from FileFly Admin Portal
Run a 'Create Recovery File From Destination' Policy, see §4.12.
Appendix A Pattern Matching Reference
This appendix details the specifics of the pattern-matching syntax for filename and owner patterns used in Rules (see §1.4.1).
A.1 Wildcard Patterns
The following wildcards are accepted:
? – matches one character (except '/')
* – matches zero or more characters (except '/')
** – matches zero or more characters, including '/'
/**/ – matches zero or more directory components
Literal commas within a pattern must be escaped with a backslash.
Examples of Supported Wildcard Patterns:
* – all filenames
*.doc – filenames ending with .doc (including '.doc')
?*.doc – filenames ending with .doc (excluding '.doc')
*.do? – filenames matching *.doc, *.dot, *.dop, etc. but not e.g. *.docx
???.* – filenames beginning with any three characters, followed by a period, followed by any number of characters
*\,* – filenames containing a comma
Examples of Using * and ** in Wildcard Patterns:
/*.doc – matches files ending with *.doc directly within the Source URI location, but not within its subdirectories
public/* – matches all files directly within any directory named 'public'
public/** – matches all files at any depth within any directory named 'public'
public/**/*.pdf – matches all .pdf files at any depth within any directory named 'public'
/home/*.archived/** – matches the contents of any directory ending with '.archived' directly within the home directory (<Source URI>/home)
/*/public/** – matches all files at any depth with any directory named 'public' where the public directory is exactly one level deep within the Source
/*/**/public/** – matches all files at any depth with any directory named 'public' where the public directory is at least one level deep within the Source
A.1.1 Directory Exclusion Patterns
As shown above, wildcard patterns ending with '/**' match all files in a particular tree.
Directory inclusion and exclusion can also be performed using Subdirectory Filtering (see §1.4.2).
A.2 Regular Expressions
More complex pattern matching can be achieved using regular expressions. Patterns in this format must be enclosed in a pair of '/' characters. e.g. /[a-z].*/
To assist with correctly matching file path components, the '/' character is only matched if used explicitly. Specifically:
. does NOT match the '/' char
the subpattern (.|/) is equivalent to the normal regex '.' (i.e. ALL characters)
[abc] does NOT match '/' (i.e. it behaves like [/abc])
Additionally,
Commas must be escaped with a backslash
Patterns are matched case-insensitively
It is recommended to avoid regex matching where wildcard matching is sufficient to improve readability.
Examples of Regular Expressions:
/.*/ – all filenames
/.*\.doc/ – filenames ending with .doc
/~[w|$].+/ – filenames beginning with ~w or ~$ followed by one or more chars
/.*\.[0-9]{3}/ – filenames with an extension of three digits
/public/.+\.html?/ – .htm and .html files directly within any 'public' directory
/public/(.|/)*/ – equivalent to wildcard pattern public/**
/public/((.|/)+/)*index.html/ – equivalent to public/**/index.html
Appendix B Network Ports
The default ports required for FileFly operation are listed below.
B.1 FileFly Tools
The following ports must be free before installing FileFly Tools:
443 (Admin Portal web interface – configurable during installation)
8005
The following ports are used for outgoing connections:
4604-4609 (inclusive)
Any firewall should be configured to allow incoming and outgoing communication on the above ports.
B.2 FileFly Agent / FileFly FPolicy Server / FileFly LinkConnect Server
The following ports must be free before installing FileFly server components:
4604-4609 (inclusive)
Any firewall should be configured to allow incoming and outgoing communication on the above ports.
B.2.0.1 Other Ports
FileFly plugins may require other ports to be opened in any firewalls to access storage devices / services from FileFly Gateway machines.
Please consult specific device or service documentation for further information.
Appendix C Admin Portal Security Configuration
C.1 Updating the Admin Portal TLS Certificate
The webserver TLS certificate may be updated using the following procedure:
Go to C:\Program Files\DataCore FileFly\AdminTools\.
Run Update Webserver Certificate.
Provide a PKCS#12 certificate and private key pair.
Important: The new certificate MUST appropriately match the original Admin Portal FQDN specified at the install time.
C.2 Security Roles and IP Restrictions
The ‘Settings’ → ‘Security Roles’ page allows for the configuration of multiple security roles to cater to different groups of users in Active Directory. Either full access or read-only access may be granted to an AD group, and access for each group may be limited by IP Address / Subnet.
Anonymous access for Secure Link Users, used to control access to shared links (e.g. statistics reports), may also be restricted by IP Address / Subnet.
If Active Directory integration was not configured at the install time, you will still be able to restrict by IP Address / Subnet for the Administrator and Secure Link Users roles.
C.3 Password Reset
Normally, the administration password is changed on the 'Settings' page as needed.
However, should the system administrator forget the username or password entirely, the credentials may be reset as follows:
Go to C:\Program Files\DataCore FileFly\AdminTools\
Run Reset Web Password
Follow the instructions to provide new credentials
Note: If FileFly Admin Portal has been configured to use LDAP for authentication (e.g. to use Active Directory login), then passwords should be changed/reset by the directory administrator – this section applies only to local credentials configured during installation.
Appendix D Service Probe
To remotely test whether the DataCore FileFly Webapps service is responding, perform an HTTP GET request on the following resource:https://<serverFQDN>[:<port>]/ffap/probe
For example, to probe with curl:curl -i -k 'https://server.example.com/ffap/probe'
The service will respond with 200 OK.
Appendix E Advanced FileFly Agent Configuration
FileFly Agents may be configured on a per-server basis using the Admin Portal 'Servers' page.
When the configuration options are saved, they are pushed to the target server to be loaded on the next service restart. In the case of a cluster, all nodes will receive the same updated configuration.
E.0.0.1 Logging
Log location and rotation options may be adjusted if required. Debug mode may impact performance and should only be enabled following advice from DataCore Support.
Additionally, FileFly can be configured to send UDP syslog messages in either RFC5424 or RFC3164 format. Syslog output is not enabled by default.
E.0.0.2 Stub Deletion Monitoring
As described in §5.1.6, on Windows file systems, FileFly can monitor stub deletion events in order to make corresponding secondary storage files eligible for removal using Scrub Policies.
This feature is not enabled by default. It must be enabled on a per-volume basis either by specifying volume GUIDs (preferred) or drive letters. Volume GUIDs may be determined by running the Windows mountvol
command or Powershell Get-WmiObject -Class win32_volume
. For Windows clustered volumes, the cluster volume must be specified using a volume GUID.
Note: This feature should not be configured to monitor events on backup destination volumes. In particular, some basic backup tools such as Windows Server Backup copy individual files to VHDX backup volumes in a manner that is not supported and so such volumes must not be configured for Stub Deletion Monitoring. Of course, deletions may still be monitored on source data volumes.
E.0.0.3 Parallelization Tuning
When a Policy is executed on a Source, operations will automatically be executed in parallel. Parallelization parameters may be tuned for each Server if necessary.
E.0.0.4 Deny Demigrations
Applications may be denied the right to demigrate stubs. Such an application – specified either by application binary name or full path – will be unable to access a stub and demigrate the file contents (an error will be returned to the application instead).
Note: Only local applications (applications running directly on the file server) may be blocked.
E.0.0.5 Enabled / Available Plugins
Storage plugins may be configured and enabled as necessary for each server. For plugin-specific details, refer to the appropriate section of Chapter 5.
E.0.0.6 Manual Overrides
Additional options may be manually entered as specified elsewhere by the product documentation or under the direction of a FileFly support engineer.
E.0.0.7 Upload Configuration
Under some circumstances, it may be necessary to upload a configuration file under the direction of a FileFly support engineer. The configuration for this server will be REPLACED in its entirety.
Appendix F Troubleshooting
Before contacting DataCore Support, please review log files for error messages.
F.1 Log Files
F.1.0.1 Admin Portal Logs
Admin Portal logs describing each attempted policy operation are accessed through the Recent Tasks panel on the 'Dashboard'. This is the first place to look when investigating a Policy problem.
The FileFly Admin Portal also maintains a 'Global Log' (accessible from the 'Help' page) which summarizes Policy start/stop activity.
For other issues, including failure of user-initiated demigrations, it will often be necessary to consult the FileFly Agent logs on the servers in question.
F.1.0.2 Server Statistics
In addition to log files, FileFly Admin Portal also provides per-cluster and per-node charts of operation successes and failures on each Server's 'Server Details' page. This includes information about failed demigrates over time which may be useful in conjunction with a Server's log files to troubleshoot user-initiated demigration issues.
F.1.0.3 FileFly Agent Logs
Location: C:\Program Files\DataCore FileFly\logs\FileFly Agent
There are two types of FileFly Agent log file. The agent.log contains all FileFly Agent messages, including startup, shutdown, and error information, as well as details of each individual file operation (migrate, demigrate, etc.). Use this log to determine which operations have been performed on which files and to check any errors that may have occurred.
The messages.log contains a subset of the FileFly Agent messages, related to startup, shutdown, critical events, and system-wide notifications.
Log messages in both logs are prefixed with a timestamp and thread tag. The thread tag (e.g. <A123>) can be used to distinguish messages from concurrent threads of activity.
Log files are regularly rotated to keep the size of individual log files manageable. Old rotations are compressed as gzip (.gz) files, and can be read using many common tools such as 7-zip, WinZip, or zless. To adjust logging parameters, including how much storage to allow for log files before removing old rotations, see Appendix E.
Log information for operations performed as the result of an Admin Portal Policy will also be available using the web interface.
F.1.0.4 DrTool Logs
Location: C:\Program Files\DataCore FileFly\logs\DrTool
FileFly DrTool operations such as recovering files are logged in this location. FileFly DrTool will provide the exact name of the log file in the interface.
F.2 Interpreting Errors
Logged errors are typically recorded in an 'error tree' format which enables user-diagnosis of errors / issues in the environment or configuration, as well as providing sufficient detail for further investigation by support engineers if necessary.
Error trees are structured to show WHAT failed, and WHY, at various levels of detail. This section provides a rough guide to extracting the salient features from an error tree.
Each numbered line consists of the following fields:
WHAT failed – e.g. a migration operation failed
WHY the failure occurred – the '[ERR_ADD…]' code
optionally, extra DETAILS about the failure – e.g. the path to a file
As can be seen in the example below, most lines only have a WHAT component, as the reason is further explained by the following line.
F.2.0.1 A Simple Error
ERROR demigrate win://server.test/G/source/data.dat
[0] ERR_DMAGENT_DEMIGRATE_FAILED [] []
[1] ERR_DMMIGRATESUPPORTWIN_DEMIGRATE_FAILED [] []
[2] ERR_DMAGENT_DEMIGRATEIMP_FAILED [] []
[3] ERR_DMAGENT_COPYDATA_FAILED [] []
To expand the error above into English:
demigration failed for the file: win://server.test/G/source/data.dat
because copying the data failed
because one of the writes failed with a disk full error
the full text of the Windows error (112) is provided
So, G: drive on server.test is full (or a quota has been reached).
F.2.0.2 Errors with Multiple Branches
Some errors result in further action being taken which may itself fail. Errors with multiple branches are used to convey this to the administrator. Consider an error with the following structure:
[0] ERR...
[1] ERR...
[2] ERR...
[3] ERR...
[4] ERR...
[5] ERR...
[6] ERR...
[3] ERR...
[4] ERR...
[5] ERR...
Whatever ultimately went wrong in line 6 caused the operation in question to fail. However, the function at line 2 chose to take further action following the error – possibly to recover from the original error or to clean up after it. This action also failed, the details of which are given by the additional errors in lines 3, 4, and 5 at the end.
F.2.0.3 Check the Last Line First
For many errors, the most salient details are to be found in the last line of the error tree (or the last line of the first branch of the error tree). Consider the following last line:
[11] ERR_DMSOCKETUTIL_GETROUNDROBINCONNECTEDSOCKET_FAILED [ERR_ADD_COUL D_NOT_RESOLVE_HOSTNAME] [host was [svr1279.example.com]]
It is fairly clear that this error represents a failure to resolve the server hostname svr1279.example.com. As with any other software, the administrator's next steps will include checking the spelling of the DNS name, the server's DNS configuration, and whether the hostname is indeed present in DNS.
F.3 Contacting Support
If an issue cannot be resolved after reviewing the logs, contact DataCore Support at: https://support.datacore.com/swarm
Include the following information in any support request (where possible):
DataCore FileFly version
Swarm version
A description of the issue – be sure to include:
how long the issue has been present
how regularly the issue occurs
any changes made to the environment or configuration
any specific circumstances which trigger the issue
does the issue occur for a particular file and/or server?
Operating System(s)
Saved system info (.NFO) from msinfo32.exe
Plugins in use
Source and Destination URIs
Applicable Log Files
see Appendix F.1 for log locations
include Admin Portal logs
include source agent logs
include destination/gateway agent logs
include all nodes in each agent cluster
zip the entire log folders wherever possible
Generate a system configuration file (support.zip) from the Admin Portal 'Help' page
Any other error messages – include screenshots if necessary
Important: Failure to include all relevant details will delay the resolution of your issue.
Appendix G Glossary
ACL - Access Control List; file/folder/share level metadata encapsulating permissions granted to users or other entities
CA - Certificate Authority; specifically an X.509 certificate which issues (signs) other certificates such that during certificate validation a chain of trust may be established by verifying the signatures along the certificate chain up to a trusted Root CA certificate, e.g. to facilitate secure connection to a webserver - see also Root CA
Caretaker - a specific node within a cluster performing maintenance tasks to run on a single node at a time
CLP - Counterfeit Link Protection
Demigrate - to return migrated file content data to its original location, e.g. in response to user access
DFS - Microsoft's Distributed File System; comprised of DFSN and DFSR
DFSN - DFS Namespace; a Windows mechanism allowing for the presentation of multiple SMB shares as a single logical share
DFSR - DFS Replication; an SMB share-based file replication technology, see also Storage Replica as an alternative from Windows Server 2016 onwards
DR - Disaster Recovery
Enterprise CA - a privately-created Root Certificate Authority, promulgated as a trusted Root CA across an organization
FPolicy - a component of NetApp Data ONTAP, which enables the extension of native Filer functionality by other applications
FPolicy Server - a server that connects a NetApp Filer using the FPolicy protocols in order to provide extended functionality
FQDN - Fully Qualified Domain Name, e.g. server1.example.com
GUID - A globally unique identifier
HA - High-Availability; specifically the provision of redundant instances of a resource in a manner that guarantees the availability of service, even in the event of the failure of a particular instance
LDM - Link Deletion Monitoring
Link-Migrate - to transparently relocate file content data to secondary storage, replacing the original file with a MigLink
MigLink - a placeholder for a file that has been Link-Migrated; applications accessing the MigLink are transparently redirected to the corresponding FileFly LinkConnect Server to facilitate data access
Migrate - to transparently relocate file content data to secondary storage without removing the file itself; the existing file becomes a stub
MWI file - a file on secondary storage that encapsulates the file content data of a corresponding primary storage stub file or MigLink
NTP - Network Time Protocol, a protocol for clock synchronization between computer systems over a network
Quick-Remigrate - to quickly return a previously demigrated (but unmodified) file back to its migrated state without the need to re-transfer file content data
Root CA - a Certificate Authority at the end (root) of a chain of certificates; a Root CA is self-signed and must be trusted per se by the validating server (e.g. by inclusion in the computer's Trusted Root Certificate Authorities store)
Recovery File - a text file describing the relationships between stubs/MigLinks and their corresponding MWI files
Scheduler - the Admin Portal component responsible for starting scheduled Tasks
SDM - Stub Deletion Monitoring
Self-Signed Certificate - an X.509 certificate which is not attested to by another Certificate Authority, i.e. its Issuer is the same as its Subject; such certificates include Root CAs as well as 'standalone' self-signed server certificates such as may be created automatically during an application's installation process. Self-signed server certificates should generally be replaced with properly issued certificates from a trusted source.
Stub - a file whose content data has been transparently migrated to a secondary storage location
Storage Replica - a Windows Server volume replication technology offering synchronous or asynchronous replication modes
Syslog - a protocol used to send system log or event messages, e.g. to a centralized Syslog collector
TLS - Transport Layer Security; a protocol used for establishing secure connections between servers (formerly known as SSL)
UUID - A universally unique identifier
© DataCore Software Corporation. · https://www.datacore.com · All rights reserved.