Hey Harsh,
I wouldn’t deallocate this VM just yet. Right now it's still serving traffic, and that's something you don't want to lose while troubleshooting.
A failed provisioning state doesn't necessarily mean the VM is down. Azure can fail a management operation without affecting the running OS. What's more interesting is that the disk appears attached in Azure, Linux doesn't see it, and the instance view isn't returning a PowerState.
That makes me suspect the disk change never completed properly at the Azure host level. Hard to say for certain without looking at the operation logs.
Since you've already tried reapply and it timed out, I wouldn't repeat it. Same goes for any other VM updates while the previous operations are still stuck in Updating.
I'd check the Activity Log for the original disk attachment and collect the correlation IDs from the failed operations. Also worth checking dmesg around the time you attached the disk. Did Linux log anything about a new device, or was there nothing at all?
At this point I'd get Azure Compute support involved. They should be able to investigate whether there's a stuck operation or a mismatch between the VM configuration and what's actually running on the host. I'd specifically ask them to check if the issue can be resolved without restarting or deallocating the VM.
As for deallocate/start, yes, it might fix things. But it isn't guaranteed. You could end up with the same timeout or even an allocation failure when trying to bring the VM back.
I wouldn't take that chance with a running production system unless there was a maintenance window and a recovery plan in place.
One thing I'm curious about: did the initial disk attachment fail straight away, or did it sit there for quite some time before returning VMStartTimedOut?