Which would be better If I have a copy of the vhd backed up or implement clustering of vm (failover) in windows 2008 r2??
Would these not serve two different purposes?
In general, clustering is a feature in support of high availability, i.e. making sure the server stays up.
Backups make sure you can recover from some sort of problem, such as your RAID system melts down.
If you have only the clustering, you could have a highly available system that does not actually work, or does not have the data you need.
Of course, if the discussion is solely about availability, I agree that it depends on your requirements.
Backup: Yes, you need to maintain a backup copy of the VM. Run nightly VSS backups of the VM, or of the whole server. If you do not currently have backup software, you might like BackupAssist.
Cluster: My general take is this: if you have to ask here whether you need a failover cluster, you almost certainly do not need a failover cluster. However, this isn't an either/or thing: if you did need a cluster, you absolutely would still need backups, and they probably would need to be off-site backups (for disaster recovery purposes).