[clug] Why virtual x86 machines?

Hugh Fisher hugo.fisher at gmail.com
Sat Aug 22 10:25:12 UTC 2020

On Sat, Aug 22, 2020 at 1:17 AM Andrew Donnellan <andrew at donnellan.id.au> wrote:

> Typically, in a paravirtualisation environment such as KVM, the guest will not be provided with an "abstract spinning disk device" but rather an abstract block storage device using a standard such as VirtIO. The guest cooperates with the hypervisor, knowing that it is a virtualised guest - the virtual device doesn't try to simulate the actual interface to a real storage device but rather serves as a quick pipe to get data from the guest into a buffer that the hypervisor can read from and work out how to write to disk in a way that makes sense to maximise performance for whatever the real hardware is.

That answers my second question, about a version of Linux being
designed for virtualization.

Now i'm curious about how functionality is divided up. Are the
hypervisor and/or guest custom Linux builds or regular distros?
Virtual memory in the hypervisor, guest OS just sees flat physical
memory space? Guest OS allocates storage through something like LVM?

Feel free to tell me to RTFM, but name of distro or project please so
I read the right FM?

> It's all about elasticity (https://en.wikipedia.org/wiki/Elasticity_(cloud_computing)).
> If I want to spin up a new virtualised server on a VM host for whatever reason, I click a button or make an API call to deploy a new guest based on my existing image, and a few seconds later, I can have a working virtualised server.

Improvement in speed and convenience becomes a qualitative change, new
ways of working are practical. Got it.

> If I want to buy a cheap server for my new database, I have to buy the server, find a place to put the server, install the server, and then maintain this physical piece of hardware indefinitely, times however many databases I'm running. At a typical company, just getting the budget approved for one new server will take you months.
> You are correct in that this is "mainframe reasoning". Mainframe reasoning is absolutely fine! Mainframes are good, and they are the natural state of large-scale enterprise computing. (I do work for IBM, I am biased I guess...) An x86 cloud provider really is just renting out a system that on the whole is like a giant mainframe - but built out of smaller and cheaper chunks than an IBM Z installation.

I will try to think that way from now on. Not individual servers, a
very modular mainframe.


        Hugh Fisher

More information about the linux mailing list