[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] Xen Configuration Management, SVN?




> > > > As I regularly break the OSs I work on, I would like to be able to more
> > > > systematically plan, assess, modify and recover my system(s). I would
> > > > like to keep track of changes that I make to the system and have a
> > > > straight forward method to roll back any one or group of configuration
> > > > files and see the change versions of binaries.
> > > >
> > > > It would seem there should be a way to do this with SVN. But I don't
> > > > see how to set up an architecture/tool stack.
> > > >
> > > > The goals would include:
> > > >
> > > > 1) Track the Xen installation.
> > > >
> > > > 2) Track the dom0 installation.
> > > >
> > > > 3) Track and catalogue each domU.
> > > >
> > > > The requirements would seem to include:
> > > >
> > > > 1) Identify configuration files changes that occurred between any two
> > > > time/dates.
> > > >
> > > > 2) Compare the differences of each of those files.
> > > >
> > > > 3) Facilitate roll back of any one file or more files.
> > > My personal suggestion would be to use something like etckeeper
> > > (https://etckeeper.branchable.com). It was designed for Git, but it
> > > does support other VCS software (not sure if it has support for SVN or
> > > not, but it would surprise me if it doesn't). That will simplify the
> > > usage of version control for system configuration (one of the really
> > > nice things is that it has hooks to integrate with the package manger,
> > > so that when you install a package, the included config files get
> > > committed to the VCS automatically). The other option if you are
> > > willing to take the time to set it up would be to use BTRFS and ZFS and
> > > do regular snapshots of your system, but that takes more effort to set
> > > up, and doesn't allow you to easily annotate the changes. For the
> > > installation tracking, you'll need some further tools (see comments
> > > below about Ansible), and probably have to do something with xenstore.
> > Austin,
> > Thank you for the detailed responses.
> > etckeeper site does not list SVN as one of its VCSs. I should probably
> > be learning git anyway.
> > The challenge I have is it only manages /etc. While that is an import
> > config location, I regulary have problems in the user spaces under /home.
> > Do you know it there is a way to have it manage other directories?
> > Or, maybe I should not be configuring users instead of system wide. But
> > the directions I follow from often direct configuration to the user
> > space. All user are me. Sometimes I 'break a user' so I will add
> > another to trouble shoot from rather than doing everything as root. So
> > lately, I add a couple users so I can readily log on and start back to
> > work. I am reluctant to alter directions that direct me to the user
> > space to change to the system. If I break it, it would be more
> > difficult to recover (I typically rebuild from scratch).
> Git isn't generally too hard to learn if you have experience with other
> VCS software. There are some different semantics in some cases, but
> most of the basic stuff is pretty much the same. If you're doing
> individual users, you might consider just making the home directories
> VCS repositories as well. I know a number of people who just have their
> home directory set up as a git repository, and then use the gitignore
> file to block off stuff like their Downloads directory, and any stuff
> that's in it's own repository already.
 
Yes, that sounds great.  It would seem that etckeeper will manage the /etc config files and then the user spaces could be managed manually.  Is that correct?

> > > > With these capabilities, it would be valuable to use the results to
> > > > define a recovery plan and associated test/validation plan, plan
> > > > execution tracking and results/performance recording. This might use
> > > > something like Trac.
> > > I can't really give much advice on what to use here for planning, but as
> > > far as recovery goes, keep the following in mind:
> > > 1. Test your backups. The last thing that you want is to find out when
> > > you actually need them that they won't work.
> > > 2. Simple is usually the best option. The more complicated something
> > > is, the more ways it can fail, and usually the harder it is to fix when
> > > it does fail.
> > > 3. Use something that's relatively portable for your backup format. The
> > > top two options here are a compressed tar archive, and a zip archive.
> > > Portability means that you don't need a special setup to get files out
> > > of your backup, which can be very important in a recovery situation.
> > > >
> > > > One of the challenges I see is to build this, I do not want to disrupt
> > > > my dom0. So it would seem to be appropriate to somehow build a system
> > > > to do this as a vm and either run it as a vm or a docker. But I don't
> > > > know what the coordination issues are for the development vm to access
> > > > the Xen and dom space.
> > > My suggestion here would be to look into something like Ansible
> > > (http://www.ansible.com). It's designed for large scale management of
> > > lots of systems, but works very well for small scale stuff as well. The
> > > big advantage of Ansible over similar software like Puppet or Chef is
> > > that you only need Python and SSH on the systems you're managing, and
> > > only need to install Ansible itself on the system you're doing the
> > > management from. I use it myself for managing many of my systems, and
> > > it's worked very well for my usage (about a dozen VM's, the host system,
> > > and a handful of other non-virtualized systems, although I run it from
> > > dom0 instead of a dedicated VM, because then I only have to log into one
> > > system instead of logging into dom0 to log into a domU to manage things).
> > I like the idea of the management tool on one machine, the $5,000 price
> > is more than the cost of both of my systems. The puppet and chef seem
> > to be configuration control applications that constrain changes to
> > user/admin defined properties. These are more than what I was looking
> > for but they might also be able to perform the limited action I am
> > looking for such record the system configuration state.
> I think what you saw was the price for Ansible Tower, which is their web
> based management tool, or possibly one of their support contracts.
> Ansible itself is completely free (or at least, it had better be,
> they've got it under an FSF approved license). In the case of Ansible
> at least (not 100% sure about Puppet and Chef), part of the idea is that
> you tell it how you want the systems to look, and it handles the
> details. Stuff like only copying over a config file if it's newer on
> the source system is trivial to do.

Ansible Tower is the only product listed on their website.
But, Debian shows it to be a package.  Originally started in 2012, it has updates in 2015.
 
> >
> > > >
> > > > Background:
> > > > I have installed Jessie on the target desktop which I will use as a
> > work
> > > > station for both local and remote access from a laptop which I have
> > also
> > > > installed Jessie and Xen. Being new to Linux, every step I take is an
> > > > experiment and some of the steps fail and through the help of others
> > > > online, I eventually recover. But this means my dom0 is probably full
> > > > of things that are no longer used, or poorly patched. I have rebuilt
> > > > both of these system from scratch 6 to 8 times due to unrecoverable
> > > > errors. I have defaulted to rebuilding rather than a recovery disk
> > because:
> > > > I have not figured out how to build and use a recovery disk (especially
> > > > on the laptop with no removable drive but with USB ports).
> > > > I have accepted this failing as I learn a lot through repetition.
> > > If your new to Linux, my suggestion would be to use some pre-built
> > > recovery solution like SystemRescueCD (http://sysresccd.org) (it started
> > > as a CD-ROM image, but it's useable a number of different ways including
> > > USB drives and even network booting). It's Gentoo based instead of
> > > Debian based, so some of the commands might be different from what
> > > you're used to, but it's one of the best free system recovery tools out
> > > there.
> > > >
> > > > If I had a method to record all these activities, I am sure I would
> > > > learn better. I have all sorts of notes that I keep online so system
> > > > failures won't disrupt my records. But my records are not organized
> > very
> > > > well as I started without a clear understanding of where I was going.
> > > If you're doing most of this from the command line, you could regularly
> > > save copies of your shell's command history. I don't really have any
> > > suggestions for GUI usage, as most of my management activities are done
> > > solely from the command line.
> > While I use the GUI a lot, most of the actual configuration is through
> > CLI. I like the idea of using the CLI history, but I haven't figured
> > out how to do that effectively or efficiently. I am guessing there are
> > probably grep and awk ways of doing this, I have not found one. Just
> > now it seems like I could be tagging my CLI action with key words for
> > searching. But I could image a GUI that would provide a method with
> > less of a learning curve.
> Most shells have an option that will let you run an arbitrary command
> before it displays a prompt. Usually this is done through some
> environment variable (although I don't remember what it's called on any
> of them). My suggestion would be to use that to just copy the history
> file somewhere, or add something to your logout script to do so. I
> hadn't really meant to do any kind of parsing of it directly, just a
> simple copy.
>
> As far as the GUI aspect, you may be able to find some screen recording
> software to keep track of that, but again, I don't really have much in
> the way of suggestions here.
 
Yes, I like that idea.
 
Thanks for your time.
 
Ray

           
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxx
http://lists.xen.org/xen-users

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.