Vmdk Corrupted — //free\\
[SUCCESS] Grain table rebuilt. 1,892,471 sectors recovered. [WARNING] 204 sectors unrecoverable (log files, temporary data). The SQL database performs a recovery on mount. I lose 15 minutes of transaction log data. The business accepts the loss. To prevent this, implement a VMDK health check cron job on the ESXi host:
Upon attempting to power on the VM, vSphere returned the dreaded: "Failed to power on VM. The specified virtual disk needs repair (Corrupt disk)." Attempting to browse the datastore revealed the file server01_2.vmdk (the 200GB delta disk) present, but the system could not read its metadata. Part 1: The Post-Mortem Analysis What is a VMDK? A VMDK is not a single file, but a logical container. It consists of a small descriptor file (text) and a large extent file (raw data). Corruption often strikes the descriptor or the filesystem journal within the extent. vmdk corrupted
for vmdk in $(find $DATASTORE_PATH -name " .vmdk" ! -name " -flat.vmdk"); do echo "Checking: $vmdk" >> $LOG_FILE [SUCCESS] Grain table rebuilt
I pull the manifest. The VMDK is 2TB thin-provisioned. The VM won't boot. The backup ran six hours ago, but the differential is useless because the block map is scrambled. The SQL database performs a recovery on mount
Scenario: VMware ESXi environment, version 7.0.3. VM: Legacy SQL Server.