The description is not comprehensive; this answer should serve a role of introduction into HA clustered storage, which is what the question essentially about.
Traditionally this problem is solved using dedicated SAN, which is external to the virtualisation cluster. The SAN is made reliable internally. It has two coordinated controllers, all storage media are dual ported (SAS), and their ports are connected one to first storage controller and other to the second controller. Disks are assembled into RAID arrays. To access those controllers, each host has two SAN NICs, one is connected to one controller or SAN switch, other is connected to other one, and if switches are used, each of them has a link to each controller, so in total each host has 2 or 4 different paths to each RAID array. In result, we get a storage system which has no single point of failure. The access to this SAN could be provided with several protocols, including SAS, Fibre Channel, FCoE, iSCSI; also some storage provides an access as a NAS via pNFS.
All major virtualisation cluster solutions support such SAN. In general, SAN volumes are seen as block devices by each host, and there is some arbitration with certain guarantees between nodes. Then those block devices are used to host cluster-aware file systems to store VM virtual disks. For example, in Linux cLVM (cluster-aware version of LVM) could be used; in Hyper-V clusters the NTFS is made cluster-aware.
The industry now trends to converge networks, i.e. the same NICs are used for the SAN and for the LAN, and distinction is made by introducing virtual subinterfaces, e.g. VLAN. This creates an appeal also to converge services further and spread all of the highly available SAN duty to the same hosts as those running virtual machines, effectively creating a virtual networked SAN. This is considered a hyperconvergent solution (a "software-defined storage"). I know there are vSAN solutions for VMWare, but I didn't tried those. The Linux vSAN solutions include CEPH and DRBD; both require at least three hosts (for quorum) to be truly redundant and also a plenty of network capacity (they require redundant 10G network). It is possible to only have three powerful servers with two 10G interfaces each and that's all you need to have a redundant HA virtualisation cluster; Proxmox VE (which is Linux KVM-based virtualisation cluster with built-in CEPH support) has videos on their YouTube channel explaining how to achieve this setup. However, nobody recommends to run such setup in production for various reasons and even if one chooses to employ hyperconvergent storage, it is usually recommended to dedicate some hosts to host a vSAN and others to run virtual machines.