Tips for building up to a live server?
I see that Linode is going to release a backup system (still in Beta) but I'm not sure if it will meet my needs, and surely others have found other means of managing iterations while building from a basic linux install to a production server.
Dar seems to fit the bill for much of what I want, however the way it uses memory and minimally "active" community (mailing list only, sporadic discussion) is a bit of a concern.
What I would like to find a simple and reliable way to accomplish is:
1. Install a distro and do some basic configurations:
Core Users
Partitioned Directories (/var, /home, etc…)
Various Config Files (fstab, network/interfaces, etc…)
1a. Create a file-based snapshot:
from active system (no shutdown for backup)
compressed, full meta data/permissions, links/symlinks
Memory allocation conservation
Slicing capability (define max size of backup containers)
1b. Keep a local & remote copy.
1c. Begin installing/exploring technology/configuration options
Feeling my way through different webservers, databases, and glue tech (Python, Perl, PHP, etc.)
Constantly, Consistently, and Simply jumping back to my Base snapshot
… When I come to a state that I'd again like to build upon,
2. Create a differential snapshot over the Base snapshot
- meeting all of the goals of 1a and 1b.
I expect that I would do many iterations of this… and at some point pipe what I want to go live with over to my production server, and in a few keystrokes be ready to go live.
One solution is just having a full duplicate disk image for each iteration… but that is an atrocious waste of disk quota.
Obviously many of the various version control applications (Git, SVN, CVS) could have a role in such an path, but I'm not sure that they would be ideal for this type of version control.
I have been playing with Dar, and the handful of user contributed scripts out there… and even after customization and what optimization that I've been able to work towards… I find that I'll be working on this task for weeks (or I hope not - months) to get it to a point that I'll feel it's rock-solid and ready to go for the long haul.
So if you would care to share any input into how you have approached iterating your way to a great live server (prior to the linode backup beta, or since) I'm sure I would not be alone in appreciating your insight.