Today's networked environment enables data storage to span multiple data volumes and multiple computers. A distributed file system (DFS) is one where multiple file systems, each residing on a different storage volume, are connected to one another. The different storage volumes can be included in the same computer or in different computers connected together using a network. The file systems on the different storage volumes could have once been part of a single file system on a single storage volume. For example, when an organization is just starting out, the data storage requirements for that organization might be modest, and the organization is able to store all data on a single volume. After a while, as the organization grows, the original volume reaches its maximum storage capacity. Instead of simply starting a new volume from scratch, the organization may wish to divide the volume, moving a subdirectory tree from the volume to the new volume, while appearing to the client as though only a single volume is in use.
While splitting a volume makes it easy for organization members to access data as they have always done, performing the volume split can be inconvenient for the organization members. As data is being moved to a new location, that data must first be taken off-line and made unavailable to users to prevent inconsistencies in the data.
In addition to using DFS to manage data storage, a system administrator can also use volume replication to replicate one or more of the volumes. Volume replication allows a file system that is on one volume to be copied and made available to clients on one or more other volumes; each volume is typically called a replicated instance of the volume. Volume replication has several advantages. One advantage is that one replicated instance can act as a data backup in the event that another replicated instance of the same volume goes down. Another advantage of volume replication is that data can be moved closer to where the user needs it, thus potentially providing performance improvements in accessing and downloading the data.
Using DFS in conjunction with volume replication introduces new complications to splitting a replicated volume. When splitting a replicated volume, each replicated instance of the volume must be taken off-line before moving the desired subdirectory tree to the new volume. Taking each replicated instance off-line removes some the advantages that volume replication specifically provides. With each replicated instance off-line, the volume is not available.
Another approach might be to take each volume off-line only as the volume split is being performed at each volume. This approach has the advantage that users can access data on one of the volumes: either the primary volume or the replicated instance of the primary volume. But if a replication method is used where there is a lag time between volume synchronization, then there is a possibility that the volume instances will have inconsistent data after the volume split occurs.
Accordingly, a need exists for a technique to split a replicated volume, while maintaining user access to the files being moved.