File locking has existed since the first generation of NAS and file systems. It prevents multiple writers from modifying the same file at the same time. File locking is required in order to prevent data untended data corruption. As storage systems for file systems have continued to grow, so has the need for a scalable, global file locking system that can span beyond multiple NAS heads in a data center (Scale-Out-NAS) to multiple geographic locations.
Traditional file locking requires low latency and high bandwidth but as NAS proliferate over greater distances, traditional file locking methods fail due to interrupted connections, high latency or bandwidth issues. Organizations desire a global name space that behaves just like a single-site file system but across multiple geographical locations: same locks, same expectations for latency. Finally, all locks break. Even single site locks break occasionally. When that happens there also needs to be a way to resolve conflicts manually without risking data corruption. Current device-to-device file replication and locking schemes risk the integrity of data and become increasingly complex as the number of locations in the global name space increase.
What is needed is a reliable service-level lock that can be seen from every location coupled with a versioning system that protects data even when the connection to the central lock is broken.
Device-to-Device Locking and Data Corruption
One of the side effects of failed locking across a distributed environment is the generation of file conflicts. As mentioned previously, systems handle this differently based on their methodology. Microsoft’s DFS-R for example, replicates from site to site and the last write typically wins, possibly overwriting a file that was just updated with critical data. This necessitates the user and administrator working together to discover the previous file, if it still exists, and resolve the conflict. In some cases, based on the type of data, e.g. CAD data, this can be next to impossible.
The other most prevalent locking method relies on storage device-to-device communication over the network. When the network is local and low latency, this is rarely an issue. When the network is the WAN where latency can be high as well as connections dropped, the traditional device-to-device method can create many conflict events for the Systems Administrator to spend time resolving.
To sum up some of the issues with traditional device-to-device locking:
- File conflicts from failed locks can create corrupted data or even worse, deleted data. Traditional conflict resolution can be time consuming to rectify when locks fail.
- Distributed file locking will occasionally fail. This can be due to high latency or dropped connections. Distributed systems designed to operate over the WAN or public Internet will, at some time, exhibit dropped or missed locks.
- Understanding the distributed data set and the locking requirements for each use case and data set is critical.
Service-Centric Locking and Data Protection
Nasuni provides the option for local only locks that are identical to a NAS or local file server. In order to address the shortcomings of traditional device-to-device distributed locks, Nasuni based its lock architecture on the same service-centric model that already ensures safe versioning of changes to its global file system.
In a service-centric architecture all of the storage devices look to a single cloud-based lock manager in order to establish, notify and release all locks. The cloud allows for a design that is globally available, resilient and extremely easy to manage. This next-generation lock architecture is not dependent on traditional device-to-device communications. It is an approach that does not increase in complexity or risks to data corruption as the number of sites connected to the global name space increase.
Additionally, Nasuni also provides the option for local only locks and two different types of distributed locks, transactional and eventual. Both of these methods are designed to allow the best style of lock for specific data sets.
A Nasuni perfect lock provides service based, guaranteed locking across the entire distributed storage environment. This style of lock insures that only one user can modify the data, irrespective of the number of distributed sites the data is shared between. Nasuni’s eventual lock provides a different type of lock designed for data that does not require 100% guaranteed locking with low latency. These lock methods are easily configured for different data sets and easily modified if needed.
File locks will break. The cause may be a network outage or a user who inadvertently leaves a file open. In either case, conflicts must be identified by the system and IT needs to be able to step in and resolve the conflicts manually. UniFS® provides a robust service-centric versioning model that ensures that no data is ever lost in the event of a file conflict. This is true under any and all conditions. Notifications of the conflict for the affected users as well as Systems Administrator are automatically generated and sent. UniFS® represents the new file and the original file in the same directory for immediate access and by the user or resolution by the IT administrator. This method is proven to be robust and provide the best resolution in the case of a failed lock.
Scheduled in the next major service upgrade the Nasuni distributed global lock moves locking architecture beyond anything that was possible before cloud existed as a component.
Nasuni’s distributed global file locking system provides:
- The most robust conflict resolution system today for distributed storage file systems. No data will ever be lost and notification and access to conflict files is immediate, allowing quick resolution. These capabilities are built into Nasuni and easy to use.
- Nasuni provides multiple options to fit every data type and use case. This includes local only locks, which are standard as well as global locks. The capability to unlock locked files by the Systems Administrator is built in and accessible through Nasuni’s Network Management Console (NMC). The Systems Administrator can easily implement and resolve any locking situation
- As with traditional device-to-device locking, understanding the distributed data set and the locking requirements for each use case and data set is critical. Nasuni Professional Services and Storage Consultants can help you understand which style of lock is best for each data set.
A service-centric global lock coupled with the UniFS® advanced conflict resolution system, provide a true leap in distributed locking flexibility and overcome the limitations and administrative headaches of traditional device-to-device locking as used today by traditional distributed storage system vendors.
Understanding your data and the most effective method of locking within a distributed storage environment will help in determining the best file locking method. Nasuni is constantly developing the next generation of distributed storage and the required conflict and locking mechanisms. Mechanisms that traditional legacy locking methods cannot address.