CHR under ESXi corrupts disk whenever host goes down unexpectedly

I have a CHR instance running under ESXi, installed using the official x64 .vmdk image.
I have this problem where whenever the host machine goes down (unexpected power loss), it corrupts the CHR .vmdk image with an apparently probability of 100%, and I have to recover the image using the command:

vmkfstools -x repair /vmfs/volumes/my_datastore/chr.vmdk

The VM won’t start when the system returns until I manually shell in and run that repair command, which is not good.
Has anyone else seem this issue? Why does the disk get corrupted when the host goes down?

Some might ask “why post this here, and not there?”… The reason is that I have plenty of other VM’s running on this system, and I’ve never seen any other VM express this problem before, but CHR does it 100%… so it seems there must be something CHR can do to protect itself like everyone else?

I also have CHR running under ESXi, yesterday I just turned power off and power on. The VM stuck on Loading System. Still it’s not solved. I gave this command: vmkfstools -x repair XXXX.vmdk.
But it’s showing Disk is error free.
Anyone have any solution?

Any comments mikrotik?
This is seriously not good… my rural site has particularly unreliable power, this is happening constantly.

It’s most likely the underlying disk subsystem that’s corrupted. My recommendation is to get an UPS and use a filesystem that supports logging which is better suited for power failures.

Can you be more specific?
I don’t control the filesystem used in the CHR images.
The underlying filesystem seems fine, there are around 10 VM’s on this server, and I’ve never seen this problem with any other VM except CHR… it’s definitely a thing that should be resolved by CHR.

I have been bothered by this issue as well for quite a long time, the final solution is to use the OVA template to install CHR on ESXi, works perfectly with reboot or even with power outage.
Or you can use starwind to convert the offical img format into VMDK which has ***-flat.vmdk as well.