virtualization wont help if you have shared storage, if the server dies due to disk issues, your shared storage wont do jack, you basically need a full redundant nas to nas or san to san replication.. for vm
there are also technology like shadow protect that will do bare metal restore so if you snapshot the whole server to a storage box, you can restore it, with tools like shadow protect, you can schedule hourly snapshot, so the most you'll lose is 1 hour of work..
what I done for a few clients with no money but 2 server, setup both server as AD on both box, enable dfs replication for both and use dfs shares..
or enable AD on both box, write a script hourly like using robocopy and copy the shares from svr1 to svr2. Share both data drives ie
j - svr1 data share
k - svr2 data share
so you tell people if J fails, go to k, but theres always some people that decides to go to k and get overwritten by J.
This works for small offices where you dont have tons of people to remind and on small budget