[mythtv-users] Mythbacked on ESXi 5.0

Raymond Wagner raymond at wagnerrp.com
Mon Oct 24 15:27:50 UTC 2011

On 10/24/2011 04:29, Tom Hill wrote:
> On Sun, 2011-10-23 at 20:55 -0700, Govindarajan wrote:
>> I am trying to comprehend the advantages of such a set up but I am not
>> getting convinced. One could just run Mythtv (front and backend) on a
>> physical box. Running more than just backend VMs or multiple backends
>> on the same physical box could be one. Could you explain the other
>> advantages please?
> People running separate file storage, router/firewall applications can
> have them all on the same hardware.
> m0n0wall, Vyatta, pfSense, FreeNAS, openfiler, etc. will all run very
> happily in a virtualised environment.

But the question is _why_ would you want to?  One has to seriously 
question the sanity of the person who uses virtual machines so they can 
run half a dozen border firewalls on the same machine.

You completely misunderstand the entire purpose for virtual machines to 
exist.  Modern operating systems have this wondrous technique called 
preemptive multitasking, that allows them to run multiple applications 
on the same image just fine.  You don't need to employ a virtual machine 
to achieve that.  You don't even need a virtual machine to provide 
isolation between applications for convenience and manageability.  A 
simple chroot provides most of the benefits as a VM in that regards, and 
para-virtualization techniques such as jails, containers, and vservers 
can pick up much of the rest, like isolated memory space, dedicated 
network stack, and cpu/memory quotas.

There are really four specific cases to run a virtual machines:

You use a virtual machine because you need to run multiple independent 
kernels.  Para-virtualization doesn't require the same environment, but 
it does require everything be run on the same kernel.  If you've got 
some applications that need Linux, other that need Windows, and still 
others that only run some ancient blend of HPUX or some such, full 
virtualization is your only option.  Well, that or just running multiple 

You use a virtual machine because you're using software with a licensing 
scheme written by a panel of proctologists.  I'm looking at you, 
TACOMA.  The software grabs all sorts of identifying information about 
the hardware, and the license key is subsequently written to only 
operate off that single machine.  The virtual machine looks like the 
same hardware regardless of where it's running.  Rather than having to 
deal with technical support any time you need to change hardware, you 
throw it on a virtual machine and ignore it.

You use a virtual machine for development work.  Either you need to run 
a completely different architecture, or maybe you just simply want to 
isolate development work from your workstation so its not disruptive 
against other applications you've got open.

Finally the big one, you are running a number of "mission critical" 
server applications for a business, and they absolutely, positively, 
must not go down.  You could perform an analysis on the various 
softwares, and make sure they aren't running any calls that could 
potentially take out the shared kernel and other servers on a 
para-virtualization system.  You could rewrite your application with a 
synchronization mechanism to allow another instance on another machine 
to take up where it left off.  You could rewrite your application with a 
clustered, redundant approach, where loss of any one machine does not 
significantly affect the whole.  All of these cost time and money.  
Virtualization is not a "good" approach, but the industry has determined 
that it is the "good enough" approach.  It is the ugly, brute force 
sledge hammer, but the alternative is a ton of man-hours writing the 
elegant application.  At the end of the day, the quick and ugly approach 
has a lower total cost, and is the better solution for business.

So where does this get you with MythTV?  The home user isn't doing 
anything that is going to be bothered too much by the occasional crash.  
The home user isn't going to have hot spare systems to fail over to in 
the event of a hardware failure (and the free ESXi doesn't allow such 
anyway).  With all its runtime information stored in the database, 
MythTV is already fairly close to the "elegant solution".  Change the IP 
address of the master backend, and with a few keystrokes, a slave 
backend gets promoted to master and you can start back up.

There is a time and place to run VM software, but like Govindarajan, I 
don't see a home user running MythTV to be one of them.  If you find it 
fun and amusing, or even just good practice for a career, have at it.  I 
just don't see how it can make management and operation an easier task.

More information about the mythtv-users mailing list