The idea of virtual machines is that they are hardware independent, so its easy to move the VM to another host. Making all servers virtual will fulfill the requirement of high availability. It also makes it easy to migrate to new hardware. Hyper-v hard drive performance and SQL on a VM are fine. Aim for two hosts with good specs (more cores and more ram is more important than high clock speed), set up high availability between hosts that will cover you for hardware failure. Have a good backup system in place, I suggest veeam or shadow protect.