ntpdate is giving you the "socket in use" error because you have a NTP daemon running. This is good. Now, the problem with VMs is that they tend to have a huge time offset (because of being frozen and restarted), and by default NTP panics and exit when the clock skew is too big. Add the following lines to
tinker panic 0
The first line tells NTP to force set the time even if the VM's clock is much late, and the following lines define a pool of NTP servers large enough not to pick up a falseticker (a bugged NTP server that gives you the wrong time).
This NTP server pool defined here is for Red Hat, if you have a different distro feel free to change these lines.
If you can, install the
vm-tools package which will auto-sync the guest with the host's time, and also provide some nice additional capabilities (for instance being able to copy & paste text between guest and host).