No that's not the right way to do it. Cloning the vhd for an existing server can be used to back up that server, but not to duplicate it. The Security Identifier (SID) for the server will remain the same if you do it that way which will cause
errors if both servers are running. For the WFEs and APP servers you need to build new servers, add any custom code you've deployed and then add them to the farm. After that's done you need to either install Network load balancing software or define
the two WFEs in a hardware load balancing device. Finally, for the SQL server you need to choose to either build an SQL cluster or use some form of mirroring to create a high availability environment. For your app servers you'll also need to decide
how you are going to divide up your service apps. Some of them like Search have ways built in to create a fault tolerant environment for others you'll have to divide the workload manually. There is nothing in SharePoint itself that supports creation
of the kind of master slave environment you are describing. Take a look at the following Technet articles for more details.
http://technet.microsoft.com/en-us/library/cc748824.aspx
Paul Stork SharePoint Server
MVP Chief SharePoint Architect: Sharesquared
Blog: http://dontpapanic.com/blog
Twitter: Follow @pstork
Please remember to mark your question as "answered" if this solves your problem.