This article addresses the problem of locating and unlocking files on a multi-node, network attached storage (NAS) array, particularly the EMC Isilon array. This is often due to the fact that the file was improperly closed, which can require administrator intervention to force the file closed.
Isilon is a network storage array made by EMC that allows the presentation of both CIFS (Windows) and NFS (UNIX\Linux) shares. Although this device is not a traditional server, files can still become locked, requiring a systems administrator to connect and force the file closed so another user can open it for editing. A common tool for performing this action in a Windows environment is through the use of the computer management console. Once launched, you can right-click on “Computer Management”, select “Connect to another computer”, and enter the name of the Isilon or other network attached storage system as shown below. File Share and Open Files Management
While this typically produces a “The RPC server is unavailable message”, the management console still connects to the storage and displays the shares, sessions, and open files. However, many times there may be a file that is reported by a user as “locked for editing” that is not visible under the “open files”. This is due to the fact that, at least with Isilon, while the computer management utility seems to be a useful way to manage the array, it is an unsupported method. Isilon uses a round robin approach to connections. Therefore, when you connect via the computer management console, you will only see the open files on the node to which you are connected.
Proper File Management
The proper way to manage open files with Isilon is with the command line, via a product such as Putty. This is a free utility that provides console type, command line, remote access. Once connected to the array, the command shown below, will allow the entire array to be scanned for the named file still being opened and locked.
The results of the command will not only show the file as opened, it will show which node the open file resides. From the example, the open file is residing on node 2 of the array. The character string of 43786780 is a session ID, with the rest of the results showing the path where the file resides. There is a command to close the file. This command is instructing Isilon to close the file with that specific session ID. The system will also ask you to confirm that the open file should be closed. However, as you can see below, if you attempt to close a file while connected to a node other than the actual one where the open file resides, an error message indicates the file cannot be found.
Isilon-2# isi smb openfiles close --id=43786819Are you sure you want to close open file with id 43786819? (yes/[no]): yesIsilon-2#Isilon-2# isi smb openfiles close --id=43786780Are you sure you want to close open file with id 43786780? (yes/[no]): yesIsilon-2#
While it may be easier or more comfortable to manage devices using familiar tools and utilities, these are not always the best solution. It can cause delays and frustration in accomplishing required task. The command line can intimidate some people due to the fact it is generally more powerful than a GUI, and increased the likelihood of a mistake. However, as you can see from the process described above, the command line is the only true method for resolving this type of issue. In addition, while the above article specifically addresses the problem on an Isilon array, the same issue can occur on other similar products such as Buffalo LinkStation, PureStorage, HDS, and others. However, the commands used to correct the problem may vary between vendors, so you many need to review the vendor documention for those specfic commands. If you found it helpful, please indicate so with the button below this article. Any feedback is appreciated.