Hey! It depends on you goal. SQL Server has different approaches and technologies to achieve high availability. Always On Availability or Failover Cluster Instances are 2 options, which can be considered. Check for more information: https://learn.microsoft.com/en-us/sql/database-engine/availability-groups/windows/always-on-availability-groups-sql-server?view=sql-server-ver16
Both options allow to achieve high availability for you DBs or instances.
In case you need to make Hyper-V VMs highly available, you can use Failover Cluster with shared storage (SAN or SDS). VMs will be located on the shared storage, which is connected to multiple hosts, while Failover Cluster will handle failover process between the nodes. As for shared storage, you can use Storage Spaces Direct or StarWind VSAN. Both are software defined and can created redundant storage pool across nodes.
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.