In DFS, transparent file access is possible because the FLDB constantly tracks fileset locations. When the Cache Manager needs a file, it contacts the FL Server, which consults the FLDB to find the current location of the file. Therefore, the FLDB must accurately reflect the state of filesets on all File Server machines. To keep the FLDB accurate, all fts commands that affect fileset status automatically record the change in the appropriate FLDB entry.
Whenever you issue a command that changes the status of a fileset, the fts program directs the
· FL Server to lock the FLDB entry; the lock advises other operations not to attempt to manipulate any of the fileset's versions (read/write, read-only, or backup). This prevents simultaneous operations.
· FL Server to set an intention flag in the FLDB entry to indicate the type of operation to be performed.
· Fileset Server to perform the operation on the fileset. It may set an Off-line flag in the header, making the fileset inaccessible to other operations. When the operation is completed, the fileset is again marked On-line.
· FL Server to record the changes from the Fileset Server's operation in the FLDB. When the operation completes, the lock is released and the intention flag is removed. The fileset is again available for further operations.
Errors can occur if you are forced to stop an operation with an abort signal or if a File Server machine or server process goes down after you issue an fts command but before the requested operation is complete. It is likely in these situations that the FLDB is not synchronized with the headers of filesets on File Server machines. The following symptoms indicate that the FLDB and fileset headers are not synchronized:
· Error messages indicate that the operation terminated abnormally.
· A subsequent fts operation fails because the initial failure left an FLDB entry locked.
· A subsequent fts operation fails because the initial failure left a fileset marked Off-line.
The fts syncfldb and fts syncserv commands are used to synchronize the FLDB and fileset headers. The fts syncfldb command examines the fileset header of each online fileset on a specified File Server machine (or, optionally, a specified aggregate or partition on that File Server machine). It then checks the FLDB entry associated with the fileset header to verify that the FLDB entry is consistent with the fileset header. If an FLDB entry is not consistent with its fileset header, the fts syncfldb command changes the FLDB entry to make it consistent with the fileset header. If no FLDB entry exists for an online fileset, the command creates one; if an FLDB entry exists for a non-existent fileset, the command deletes that entry.
The fts syncfldb command also performs three additional functions:
· If it finds a backup fileset whose read/write source no longer exists at the same site, it displays a warning message.
· If it finds a fileset ID number that is larger than the value of the counter that is used by the FL Server when allocating fileset ID numbers, it records this ID number as the new value of the counter. The next fileset to be created receives a fileset ID number that is one greater than this number.
· If necessary, it increments or decrements the number of fileset entries recorded as residing on a File Server machine in the FLDB entry for the server.
Note that the fts syncfldb command exits if it encounters a fileset that is busy. A busy fileset is one on which a fileset-related operation such as a move, clone, or release is currently in progress.
The fts syncserv command inspects the FLDB entry of each fileset on a specified File Server machine (or, optionally, a specified aggregate or partition on that File Server machine). The command then checks that each fileset header is consistent with its FLDB entry. If the command finds an inconsistency between the fileset name found in the fileset header and the name found in the FLDB entry, the fileset header is renamed to reflect the name in the FLDB entry. If the command encounters a fileset marked as Off-line, but the fileset's FLDB entry lists it as being valid, the command places the fileset online.
To ensure that the FLDB and all fileset headers in your cell are synchronized, run the fts syncfldb command once for each File Server machine in your cell. Then run the fts syncserv command once for each File Server machine in your cell.
Note that while the fts syncfldb and fts syncserv commands are useful in error recovery, they do not, in general, recover all of the information that is stored with a fileset's entry in the FLDB. More specifically, if the FLDB entry for a DCE LFS fileset is removed somehow and then recreated with the fts syncfldb command, replication information associated with the fileset is not restored. The fts syncfldb and fts syncserv commands cannot reproduce replication information once the entry for a DCE LFS fileset is removed from the FLDB. You must use the fts setrepinfo and fts addsite commands to reconstruct the replication information.
More:
Synchronizing Non-LFS Filesets
Synchronizing Fileset Information