Exchange server 2007, log file sector size mismatch.

Moving between virtual VHD type disks (old hyperv server ver 6.1.7601) to VHDX formt (hyperv 2012r2 server version 6.3.9600).

Disaster recovery practice session.

After moving an old hyperv server to a new host and restoring Exchange 2007 backup into the VHDX type disk the stores refuse to mount.

Information store doesn’t mount and if you try and mount it using the exchange server console it shows error code: mapiexceptioncallfailed unable to mount database (hr=0x80004005,ec=-550)

server2007-vhd-vhdx-error1

Application event log Event id: 412 source ESE unable to read the header of logfile E00.log Error -546

server2007-vhd-vhdx-error5

Application event log Event id: 9518 from MSExchangeIS

Error 0xfffffdde starting Storage Group /…./ Exchange/CN=…/ on the Microsoft Exchange Information Store. Storage Group – Initialization of Jet failed.

server2007-vhd-vhdx-error6

Application event log shows event id: 9519 from the MSExchangeIS source, Error Database is in inconsistent state starting database “First Storage Group\Mailbox Database” on the Microsoft Exchange Information Store.

server2007-vhd-vhdx-error7

Trying the microsoft exchange server diagnostic tool eseutil gives some more information.

eseutil.exe /r E00

server2007-vhd-vhdx-error3
Which should commit the log files beginning with E00 the database returns “Operation terminated with error -546 (JET_errLogSectorSizeMismatch, the log file sector size does not match the current volume’s sector size)”

Checking the disks doesnt seem to show any difference, at least using the fsutil tool included with Server2008.

fsutil fsinfo ntfsinfo
server2007-vhd-vhdx-error4

Windows 2008 (ver 6.0.6002) shows the same number of Bytes per Sector and Bytes per Cluster for both “machines” (on Hyperv server 2008 with VHD format disks and on Server 2012r2 with VHDX format disks) and doesn’t include the “bytes per physical sector” information in the output.

Using Windows Server 2008r2 (ver 6.1.7601) the fsutil.exe program shows the extra information.

This is a VHD (old format) under server 2008r2,
bytes_per_physical_sector_vhdx

with Bytes per Physical Sector showing 512

this is a VHDX format disk (same size) showing Bytes per Physical Sector 4096

bytes_per_physical_sector_vhd

Exchange seems to be using this Bytes per Physical Sector value and refuses to let the exchange stores mount as the log files were created with a different size. More correctly it refuses to use the log files restored with the backup because the size recorded in the log check files is different to that on the new server.

To move the files accross the best tactic might be to dismount (shutdown information store) and make sure all logs are committed and then switch from VHD to VHDX drive, and then restart services. If they were in clean shutdown we would be able to delete the log files and it will create new log and chk files with the new correct sector size. Using the Exchange console to Move the database, log and system files seems to work OK and it “fixes” the size of the sectors in the log files to match the physical size.

About Jeff Turner

Technical director of Nano Tera Network Solutions.
This entry was posted in System Administration. Bookmark the permalink.