I don't know about an automatic VM-creation tool; I just wanted to provide some detail as to your low-tech method.
To be specific, there are two "low-tech" ways, depending on whether you can afford for the server to be offline for a little while.
Take server offline, attach a backup drive, run dd
over /
and any other major system partitions to create exact images on the backup drive, detach backup drive, return server to service. The backup drive now contains a full image of the server at the time of backup. (This is probably not something you'd want to do every couple of weeks, but you could incrementally update such an image with rsync
or similar.)
Don't take server offline; instead, take a listing of all packages and versions installed on the system (eg dpkg -l > server.packages.list
); install a base system in Parallels; install packages to match the listing from the server; backup the server's /etc
, any other major configuration files, and any major data sources (eg /var/www
) and copy them to your Parallels system.
In the absence of a virtualizing tool, it might be easier to go with option #2. The initial VM creation would take some time, but you could easily create and backup an image of that system, just before applying changes taken from the live server. Then you've got an instant fresh-install image, and the backup-from-server-then-restore-to-VM can be scripted such that it'll be fairly easy to redo from scratch (or from the backed-up fresh install) every once in a while.
In fact, you might go with #2 anyway, and look at it as an opportunity to periodically check your backup solution: if you can restore from your backups to the fresh-install image, you know your backup solution is good. If you can't, you know you've got something to work on.