FAST Search | Index Server Runs Out Of Disk Space During Crawl

I’m not an expert with FAST, I just have to deal with it.  This is a fun little thing to have happened recently.  SharePoint adoption has been going really well.  More people are using it, more people are adding content, more content is being indexed, more space is being used.

The drive that we installed FASTsearch on is fairly small for drives these days, roughly 136GB of free disk space.  This particular company also has a policy of 80% utilization of drives before an alert goes off to go look at the server disk utilization and reduce it.  As I know from getting these alerts, when FAST is doing an index, there are times where the %FASTSEARCH%\tmp and the %FASTSEARCH%\data\data_index directories get pretty full.  Like an extra 60GB worth of full.  This is enough that along with the other items on the drive it tips past 80% utilization and I get the email alert.  This is because FAST Search Server keeps a read-only binary index file set to serve queries while building the next index file set. The worst-case disk space usage for index data is approximately 2.5 times the size of a single index file set.

This generally happens at night and by morning all the indexing is done and the drives have plenty of space in them.  It’s not really worth ordering another drive at this point as it is a temporary condition and doesn’t significantly affect performance, but would be nice to minimize the number of alerts I get by reconfiguring FAST to use a different drive for temporary files and even for storing index data.

As it turns out, FAST is not as easily configurable as say, Windows when you want to move the temp directory, or even SharePoint when you want to move the ULS and usage logs.  A quick Bing search did not turn up any useful articles about how to reconfigure how FAST utilizes directories, except for one example which suggested editing some of the XML – bad idea because you are in an unsupported configuration and possible possible upgrade issues in the future.  Turns out the resolution for this was actually relatively simple though thanks to the use of junction points.

In my case, we had just purchased a rather large HDD of 300GB in which to house the ULS and usage logs because Microsoft Best Practices in regards to SharePoint says keep the log files and the SharePoint binaries on separate drives if possible, and 300GB was the smallest standard the company supported when we ordered them.  This means I had a lot of free space out there on the new drive, if only I could get FAST to utilize it.

In my case, I was able to use KB2506015 to reconfigure the directories with junction points, stay in a supported mode, and utilize the extra space.

If additional storage can be added to the server, the entire %FASTSEARCH%\data directory can be moved to a new location with the same permissions ("Full Control", granted to the FASTSearchAdministrators local group), and connected back to the installation via a junction point. To do so, follow the steps below on each FAST index server:

  1. Stop the FAST Search for SharePoint service.
  2. Stop the FAST Search for SharePoint Monitoring service.
  3. Move %FASTSEARCH%\data to the larger storage you have added.
  4. Run the following in a command prompt: mklink /j %FASTSEARCH%\data %NEW_LOCATION%\data
  5. Start the FAST Search for SharePoint Service.

Please note that while other methods of relocating the index outside of the %FASTSEARCH% parent directory are not supported, the entire parent directory can also be moved to a new physical location without using a junction point (skipping step #4 above) if the drive letter, path, and permissions remain identical.

One I started back up the FAST Search for SharePoint Service everything came up perfect and I could perform a crawl without issues.

2 thoughts on “FAST Search | Index Server Runs Out Of Disk Space During Crawl”

  1. Pingback: Jordan

Leave a Reply