I asked this here sometime ago:
Best solution by far is the one that @Andy_Wismer suggested, PROXMOX!