Introduction
How do you encounter a situation like this?
Often, when you create a SharePoint farm you need to create many sites and subsites. Further, SharePoint users tend to add unnecessary files to farm and forget to delete it.
This way the disk space consumed by an Index partition can grow up to an extent where there is less or no space in the drive. The users are unable to add more files to the farm.
The only solution to this problem is either to grow the drive size or move the files to a larger drive.
This blog describes the steps taken to move index partition from one drive to another drive on the production server.
Steps to move Index partition from one drive to another drive on production server
During the installation of SharePoint 2013, there is an option to change the search index location. The default location is C:Program FilesMicrosoft Office Servers15.0Data. It is possible to change the search index location to a dedicated volume after the installation using PowerShell.
Moving the Index Partition to the Another Drive on Production Server
1. The current location of the Index location with the following command.
$ssi = Get-SPEnterpriseSearchServiceInstance
$ssi.Components | Select-Object IndexLocation
The current index location on you SharePoint Application server.
2. Pause all the crawl from the Central Admin
3. Get the current search topology from the following command
$ssa = Get-SPEnterpriseSearchServiceApplication “Search Service Application 15”
$instance=Get-SPEnterpriseSearchServiceInstance -Local
$current=Get-SPEnterpriseSearchTopology -SearchApplication $ssa
4. Clone the current Search topology from the following command
$clone=New-SPEnterpriseSearchTopology -Clone -SearchApplication $ssa -SearchTopology $current
5. Modify the cloned Search topology from the following command (This will add a second index component with a new index location & Make sure the new index folder location has everyone permission)
New-SPEnterpriseSearchIndexComponent -SearchTopology $clone -IndexPartition 0
– SearchServiceInstance $instance -RootDirectory “F:IndexLocation”
6. Activate the cloned Search topology from the following command
Set-SPEnterpriseSearchTopology -Identity $clone
7. Remove the old Search topology from the following command
Remove-SPEnterpriseSearchTopology -Identity $current
8. Verify the New Index Location from the following command and it should show the new location.
$ssa = Get-SPEnterpriseSearchServiceApplication “Search Service Application 15”
$instance=Get-SPEnterpriseSearchServiceInstance -Local
$current=Get-SPEnterpriseSearchTopology -SearchApplication $ssa
Conclusion
It is recommended to enable a crawl schedule to check on the Crawl logs for anything unusual. If you get good search results within the SharePoint farm, the operation is successful and painless.
Happy indexing folks!