Tuesday, January 31, 2017

Solving Exchange server 2013 out of disk space

I ran into a problem a little while ago where our on-premise Exchange 2013 environment was acting weird. An EWS (Exchange Web Services) application we have was behaving oddly such as throwing ServiceResponseExceptions with messages like "the folder in which items were to be saved could not be found". After some digging, I discovered that there was virtually no available disk space on the Exchange server. This environment had been a vanilla set-up to perform some tests with EWS and there had been load going on and off for months.

After some digging the following discussion on SpiceWorks helped solve the problem (discussion here). The issue was that by default Exchange does not purge any logs, and since we did not have any routine back-up or clean-up occurring, they were growing un-checked. 
"Exchange Server database transaction logs record all changes to an Exchange Server database. Over time, these log files accumulate and use all the available disk space if they are not periodically removed from the hard disk." (ref)
By using Scanner, I confirmed that the fat cat on the server was the Exchange logging. For our environment, we didn't care about backing up changes to the database. For this case, enabling circular logging was the solution because it enabled the Exchange server to automatically get rid of unnecessary log files and by so freeing up disk space. I used the directions here to enable circular logging, which involved dismounting and remounting the database.

Once that was done, I used this suggestion:
"To speed up new log file creation and the automatic deletion process, you can send yourself an e-mail message with a 5-megabyte (MB) attachment" (ref)
Oddly enough, it worked and shortly thereafter the Exchange server's available disk space increased and the EWS application behaved normally again.