please correct me if I'm wrong, mirroring, and log shipping, replication are on db level, so in that case we can use 2 VM for this
In fact, for this purpose it is enough to use _one_ VM. You can install two or three instances of sql server (the third one is a Witness for Mirroring) and perform the operations between the instances.
However, clustering is quite more complex. You can cluster two VMs under Hyper-V (or VMWare), but it is going to take significant effort. If you were interested in SQL Server 2012 instead of 2008, I would suggest the
Technet Virtual Labs, which run on VMs provisioned by Microsoft:
http://www.microsoft.com/en-us/sqlserver/learning-center/virtual-labs.aspx. In particular, the labs titled "Introduction to SQL Server 2012 AlwaysOn Availability Groups" and "implementing and Managing AlwaysOn Availability Groups." demonstrate HA on SQL
Server 2012. Unfortunately, as far as I can tell, their equivalents for SQL Server 2008 are no longer available.
If your only goal is to prepare for 70-432, then you don't actually need to install a cluster. You can pass the exam by just reading the main topics in the manual. In fact, Microsoft Official Course 6231B only provides labs for mirroring, log shipping and
replication. Clustering is covered in the lessons, but the VMs from the course do not provide for clustering.