Introduction
You can synchronize data (“sync” or “merge”) from Nasuni, merging data from your Nasuni Edge Appliance with any new or changed data from other Nasuni Edge Appliances connected to the same volume. This helps ensure that everyone in your organization uses the most current data. During a synchronization or merge, locally changed data is not overwritten with data from other Nasuni Edge Appliances connected to the remote volume. This situation is called a “merge conflict”.
Note: It is impossible to overwrite data in the Nasuni system.
You can configure the synchronization schedule and frequency using the Nasuni Edge Appliance or Nasuni Management Console user interface.
In addition to scheduled syncs, data is also merged, as necessary, each time a snapshot is performed. Before performing a snapshot on a Nasuni Edge Appliance, Nasuni checks to see if any shared data from other Nasuni Edge Appliances should be updated on the local Nasuni Edge Appliance.
About Global File Lock
The Global File Lock® feature aims to prevent conflicts when two or more users attempt to change the same file on different Nasuni Edge Appliances. If you enable the Global File Lock feature for a directory and its descendants, any files in that directory or its descendants can only be changed by one user at a time. Any other users cannot change the same file at the same time. This helps prevent conflicts.
Important: To use Global File Lock, the feature must be enabled in your license. Please contact your Account Manager for more information.
For details about Global File Lock, see Global File Lock.
Types of Merge Conflicts
During a synchronization or merge, locally changed data is not overwritten with data from other Nasuni Edge Appliances connected to the remote volume. Several different types of merge conflicts are possible.
Data Conflict
A data conflict occurs when two users of two different Nasuni Edge Appliances make different changes to their local versions of the same file on the same folder path, during the same time period between syncs or snapshot-related syncs. For example, suppose that the file Report.doc is on the same path on both Nasuni Edge Appliance X and Nasuni Edge Appliance Y. A user on X changes their version of Report.doc while a user on Y also changes their version of Report.doc. If the user on Y had not made any changes, Nasuni would simply have updated the Y version of Report.doc with the changes that the user on X made. However, if the user on Y also made changes to Report.doc, then Nasuni recognizes that it cannot simply update the Y version, because that would destroy the changes that the user on Y made.
File Name Conflict
A file name conflict occurs when two users of two different Nasuni Edge Appliances give different files the same name on the same folder path. For example, if a user on Nasuni Edge Appliance X creates (or renames) a file and names it Invoice.doc, while a user on Y also creates (or renames) another file and names it Invoice.doc on the same path. If the user on Y had not named their file the same as the file on X, Nasuni would simply have added the X file called Invoice.doc to Nasuni Edge Appliance Y. However, if the user on Y also named a file Invoice.doc, then Nasuni recognizes that it cannot simply add the X file, because that would replace the file that the user on Y named.
Caution: If a file or directory is renamed (and its data and permissions remain unchanged) on two different Edge Appliances that share the item’s volume, and both renames occur before the snapshots on the two Edge Appliances, then only one of the renames is effective, namely, the one with the latest snapshot. This is not considered a merge conflict.
Metadata Conflict
A metadata conflict occurs when the metadata of the same file on the same folder path of two different Nasuni Edge Appliances is changed, during the same time period between syncs or snapshot-related syncs. For example, the permissions on the file might be changed. A user on X changes the permissions on their version of the file Presentation.ppt while a user on Y also changes the permissions on their version of Presentation.ppt. If the user on Y had not made any changes, Nasuni would simply have updated the metadata of the Y version of Presentation.ppt with the changes that the user on X made. However, if the user on Y also made changes to the metadata of Presentation.ppt, then Nasuni recognizes that it cannot simply update the metadata of the Y version, because that would destroy the metadata changes that the user on Y made.
Directory Name Conflict
Directories can only have a name conflict. What would be a data conflict in the case of files is handled by the directory merge process. A directory name conflict occurs when matching cloud and local directory names have different origins at the time of merging. This includes directories that have not been committed to a snapshot yet.
A directory name conflict occurs in these situations, after any necessary snapshots and synchronizations occur:
At the same path, one Nasuni Edge Appliance creates DIR1, then another Nasuni Edge Appliance creates DIR1.
At the same path, one Nasuni Edge Appliance renames DIRN to DIR1, then another Nasuni Edge Appliance creates DIR1.
At the same path, one Nasuni Edge Appliance renames DIRN to DIR1, then another Nasuni Edge Appliance renames DIRM to DIR1.
Caution: If a file or directory is renamed (and its data and permissions remain unchanged) on two different Edge Appliances that share the item’s volume, and both renames occur before the snapshots on the two Edge Appliances, then only one of the renames is effective, namely, the one with the latest snapshot. This is not considered a merge conflict.
How Nasuni Handles Merge Conflicts
When Nasuni recognizes that a data conflict, a file name conflict, a metadata conflict, or a directory name conflict has occurred, it performs several actions:
The local file or directory is always retained unchanged.
Note: The two Nasuni Edge Appliances do not sync simultaneously. One performs its sync first, and its local changes are preserved; then, the other performs its sync, and its local changes are also preserved.
An Error Notification is made on both Nasuni Edge Appliances to alert users that a merge conflict has occurred. Administrators can receive Notifications by email. The Notification looks like this:
Merge process completed for volume remote_ny_files with conflicts, view the logs in remote_ny_files/.nasuni/sync_logs for details.
You can search for messages about merges. Type “Merge” in the Search text box.
Information about the merge conflict is written to a merge conflict text file. The file name of the merge conflict log file is the date in GMT format. These files are located in the .nasuni\sync_logs directory for the volume, and under the name of the Nasuni Edge Appliance that encountered the merge conflict.
Tip: To access the hidden .nasuni directory on an SMB share, you must be an administrative user. On the Nasuni Edge Appliance, select General Settings from the Configuration menu. Because the .nasuni directory is located in the root directory of the volume, in order to access the .nasuni directory, you must create a share to the root directory of the volume. In addition, this hidden directory must be visible on the client machine. For example, in Windows, “Show Hidden Files, folders, and drives” must be enabled, and “Hide protected operating system files” must be disabled. Alternatively, you can use the File System Browser to view the .nasuni directory and its contents. On the File System Browser page, select the volume, click the gear icon, then select “Show Hidden Files”.
For example, this file:
\ny_files\.nasuni\sync_logs\New_York_Office\2013_08_22_17.10.10GMT.csv
is a summary of the merge conflicts encountered by the New_York_Office Nasuni Edge Appliance during a merge on August 22, 2013 at 17:10:10 GMT. These merge conflict files are also synchronized, and you can delete them as needed.
The information in the merge conflict file is in CSV format, in this form:
<local timestamp>, <GMT timestamp>,
<conflict type>, <file name>, <local user>, <local edgeapp>, <remote user>, <remote edgeapp>, <merge version>
such as:
2013-12-01 11:58:54EST, 2013-12-01 16:58:54GMT,
data conflict, "/folder/Report.doc", "pat", "New_York_Office", "jan", "Boston_Office", 74680
or:
2013-12-01 11:58:54EST, 2013-12-01 16:58:54GMT,
name conflict, "/folder/Report.doc", "pat", "New_York_Office", "jan", "Boston_Office", 74680
The conflicting file or directory is saved with a file name or directory name that includes the conflict information, in this format:
<name> (data conflict from <domain1>_<username1>@<Edgeapp1> with <domain2>_<username2>@<Edgeapp2>).<suffix>
<name> is the name of the original file or directory, and <suffix> is the suffix of the original file or directory. The conflict information in the new name includes the domain names (truncated to 16 characters), user names (truncated to 16 characters), and names of the Nasuni Edge Appliances (truncated to 16 characters) for the two conflicting parties.
Note: If the volume is connected to Active Directory, the user name information (including the domain name) appears in the name of the merge conflict file. If the volume is connected to LDAP Directory Services, the user name information appears in the name of the merge conflict file.
For example:
Report (data conflict from NYdom_pat@NewYork with BOSdom_jan@Boston).doc
or:
Invoice (name conflict from NYdom_pat@NewYork with BOSdom_jan@Boston).doc
Resolving Data Conflicts
To resolve a data conflict, the administrator, the users, or someone else knowledgeable about the files must decide which version of the conflicting file to retain, and remove all other versions. There are three possibilities:
Retain only the version from Nasuni Edge Appliance X. (The changes made by the user on Y are lost.)
Retain only the version from Nasuni Edge Appliance Y. (The changes made by the user on X are lost.)
Create a new version with the changes from both Nasuni Edge Appliance X and Nasuni Edge Appliance Y.
For example, the administrator could consult with the two users to determine which version to retain, or the users could determine it themselves. The names of the users, the name of the file, and the location of the file are contained in the entry in the merge conflict text file, and, in truncated form, in the name of the conflicting file.
Resolving File Name or Directory Name Conflicts
To resolve a name conflict, the administrator must decide which file or directory retains its original name, and then rename the other file or directory. There are three possibilities:
Retain the name of the file or directory on Nasuni Edge Appliance X. (Change the name of the file or directory on Y.)
Retain the name of the file or directory on Nasuni Edge Appliance Y. (Change the name of the file or directory on X.)
Change both names.
The administrator should consult with the two users to determine which name to change. The names of the users, the name of the file or directory, and the location of the file or directory are contained in the entry in the merge conflict text file, and, in truncated form, in the name of the conflicting file.
Note: In some situations, it might be necessary to manually merge the contents of both directories. If so, it is important to also pay attention to propagating directory metadata, such as Quota, GFL, and ACLs, because these may need to be either adjusted or re-applied as needed.
Resolving Metadata Conflicts
To resolve a metadata conflict, the administrator, the users, or someone else knowledgeable about the files must decide which version of the conflicting metadata to retain, and remove all other versions. There are two possibilities:
Retain only the version from Nasuni Edge Appliance X. (The changes made by the user on Y are lost.)
Retain only the version from Nasuni Edge Appliance Y. (The changes made by the user on X are lost.)
For example, the administrator could consult with the two users to determine which version to retain, or the users could determine it themselves. The names of the users, the name of the file, and the location of the file are contained in the entry in the merge conflict text file, and, in truncated form, in the name of the conflicting file.
Additional points
If an administrator deletes a conflict file, the file remains in the latest snapshot if it is needed. However, snapshots might only be kept for a certain amount of time, depending on the snapshot retention policy for the volume. Therefore, the snapshot retention policy should be long enough to permit a review of merge conflicts.
The longer the time between synchronizations, or snapshots that cause synchronizations, the more likely it is that merge conflicts will occur. However, if you have directories with tens of thousands of files but few changes during each snapshot, or large files that require multiple snapshots, frequent syncs can increase the system load significantly.
The style of how people work in an organization affects the occurrence of merge conflicts. In environments where people often work collaboratively, more merge conflicts can be expected.
Copyright © 2010-2024 Nasuni Corporation. All rights reserved.