I had three traditional FCI clusters running in VMs experiencing the same operating system 170/transaction log error and it's related to the way you have your SCSI bus sharing/shared disks configured. I went back and dug up some notes from when I saw that issue:
Virtual – required when the shared disks are VMDKs, is only supported when all nodes of the cluster exist on the same host (Cluster-In-A-Box = CIB)
Physical – requires that the shared disks be configured as RDMs, VMDKS are not supported at all, is supported when each node of the cluster resides on a different host (Cluster-Across-Boxes = CAB)
They do not support the Paravirtual SCSI Controller driver for shared disks at all. Windows 2008 or higher cluster nodes should use LSI Logic SAS driver for shared disks. Paravirtual for the system drive (C:) is fine.
FCIs are supported if you configure them appropriately. You said:
What is different is that we add another 4 shared vmdks to both VMs and run SQL in a cluster. The 4 disks (Quorum,DTC,SystemDB,UserDB) were added to both VMs on SCSI(1:0) trough SCSI(1:3) with it's LSI Logic SAS controller set on physical bus sharing
That was the same thing I was doing when I had the problem. I was also running each cluster node on a separate host. Once I switched to virtual bus sharing and put all cluster nodes on a single host, I haven't seen the problem since...and that was August 2014. To be fair, I still have only one of those three clusters left as I migrated the other two to Availability Groups but the third one is still humming along just fine.