[mythtv-users] Back-end Virtualization

Raymond Wagner raymond at wagnerrp.com
Fri May 11 17:04:23 UTC 2012


On 5/11/2012 12:36, Matt Emmott wrote:
>
>
> On Fri, May 11, 2012 at 11:51 AM, Raymond Wagner <raymond at wagnerrp.com
> <mailto:raymond at wagnerrp.com>> wrote:
>> -- Counter Argument 4 --
>> What about ease of management?  When trying to run multiple
>> applications and servers on a single system, you may run into
>> dependency conflicts. You may update one library for one
>> application, only to find it has broken another application.
>> Virtual machines let you run multiple independent installs, with
>> independent dependency sets, to avoid these issues.  This is the big
>> one, and I believe the reason most people improperly use virtual
>> machines.
>>
>> This has NOTHING TO DO with virtualization.  Virtual machines
>> require this behavior, but this behavior does not require virtual
>> machines.  You can do the SAME EXACT THING with a simple chroot,
>> without all the unnecessary complexity and overhead of running a
>> fully virtualized hardware instance.  All your required libraries
>> would be in the self-contained chroot.  The only thing you would
>> have to match for binary compatibility moving from one machine to
>> the next to the next is the kernel interfaces, and those interfaces
>> retain backwards compatibility for a long time.  If you really
>> wanted, you could even implement these on opaque disk images, that
>> would get loopback mounted where ever you wanted to run them, just
>> like virtual machines.
>
> Virtualization brings a lot of challenges and is definitely a paradigm
> shift. It's not something I'd recommend to use "in production" to
> anybody not familiar with the technologies and the layers of abstraction
> it brings. But for me the benefits far outweigh the time and effort
> spent building out the infrastructure, and I'd do it again in a second.

There are three different manners that you can run multiple application 
servers.  You can run them on different physical machines.  You can run 
them on one physical machine with independent libraries.  You can run 
them on one physical machine with shared libraries.  The paradigm shift 
you speak of is shifting to that second one.  Moving all these 
independent application servers into a single physical machine, but 
retaining those independent library sets for ease of management. 
Updating one application server would not affect any other through 
alteration of shared dependencies.

The point I'm trying to make is that virtualization is not a part of 
this shift.  The various virtualization vendors have been the primary 
force behind the shift, and the data center industry has embraced 
virtualization, either due to the added security benefits it offers or 
just simple ignorance, but the key feature that everyone in this mailing 
list seems to want when they start talking about running virtual 
machines is not a feature of virtual machines at all, but a necessary 
side effect.

You want to run independent filesystem roots for different applications 
for ease of management.  You can do that in combination with 
virtualization, or without virtualization, making virtualization itself 
irrelevant and unnecessary.  At best, all the work put into 
virtualization mechanisms used by industry just means they have a well 
developed tool set for creating them.

In your case, coming from a Windows background, it has the added benefit 
of being able to run Windows servers.  You likely have a domain 
controller running, and possibly Windows web and mail servers.  That 
goes back to another mentioned argument, is that actually a good thing, 
or is it better to consolidate all on servers compatible with a single 
shared kernel.


More information about the mythtv-users mailing list