Hey,
It is recommended to have only Hyper-V role running on the server.
https://learn.microsoft.com/en-us/biztalk/technical-guides/checklist-best-practices-to-install-and-configure-biztalk-server-on-hyper-v
In case of Hyper-V Failover Cluster, you can virtualize your services (e.g. SQL Server, Web Server) and run than on top of shared storage. Domain controller can run on top of the VM, however, I would recommend you to run it outside of the cluster. You can deploy a DC VM on each node on local storage.
As for shared storage, there are technologies like S2D or Starwinds VSAN, which make shared storage redundant and able to tolerate failures.
https://learn.microsoft.com/en-us/azure-stack/hci/concepts/storage-spaces-direct-overview
https://www.starwindsoftware.com/starwind-virtual-san
Cheers,
Alex Bykovskyi
StarWind Software
Note: Posts are provided “AS IS” without warranty of any kind, either expressed or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.