[SAC] Virtual Machines for Services

Folks,

We chatted a bit in IRC about virtual machine technologies and I just
wanted to get a bit of that into the mailing list archive and out to all
SAC interested folks.

For buildbot in particular, it is desirable to run some virtual machines
for some slave configurations. But we could easily imagine some other
OSGeo services being run within VMs to make them easier to backup, migrate,
and so forth.

So then the question arises what technologies to use. I understand vmware
is already fairly readily available at telascience and some of us already
have experience with it. But it "sticks in my craw" (Arnulf will want to
lookup that up I think) to depend on non-open source technology for this
if open source alternatives are also quite viable and I hear good things
about Xen for instance. Using vmware also puts us in an ackward position
in doing stuff outside of telascience without buying additional licenses.

I understand that Xen requires kernel modifications, and doesn't work well
with some older systems. Who is familiar with those limitations? For
instance, I'd like to be able to run VMs on "osgeo2" but I think it is
running a somewhat antique RHEL, is that right? Will it support Xen?
Can we even run the vmware player on it?

Anyways, before we invest to much time and energy setting up VMs for
buildslaves (for instance), I'd love to see us have a discussion as
a group and decide on a VM technology we are interested in committing
to.

Related to this, a question for John is whether he has a beefy machine
with quite a bit of RAM and diskspace that we could run a few OSGeo
VMs on. Initially for buildbot slaves, but potentially other services in
time as well.

Best regards,
--
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up | Frank Warmerdam, warmerdam@pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush | President OSGeo, http://osgeo.org

Frank Warmerdam wrote:

Anyways, before we invest to much time and energy setting up VMs for
buildslaves (for instance), I'd love to see us have a discussion as
a group and decide on a VM technology we are interested in committing
to.

I've heard very good things about OpenVZ from someone using dozens of VMs on a farm of servers, including some very high traffic sites:

   http://openvz.org/

The main advantage of OpenVZ over VMWare and many others is performance since it makes better use of system resources. Unfortunately I don't know much more than that about it and never had time to look at it.

Daniel
--
Daniel Morissette
http://www.mapgears.com/

Daniel Morissette wrote:

Frank Warmerdam wrote:

Anyways, before we invest to much time and energy setting up VMs for
buildslaves (for instance), I'd love to see us have a discussion as
a group and decide on a VM technology we are interested in committing
to.

I've heard very good things about OpenVZ from someone using dozens of
VMs on a farm of servers, including some very high traffic sites:

   http://openvz.org/

The main advantage of OpenVZ over VMWare and many others is performance
since it makes better use of system resources. Unfortunately I don't
know much more than that about it and never had time to look at it.

The disadvantage I see is:

"OpenVZ is limited in that it requires both the host and
guest OS to be Linux"

http://en.wikipedia.org/wiki/OpenVZ

For Buildbot purposes, we need to be able to host both, Linux and Windows.

Cheers
--
Mateusz Loskot
http://mateusz.loskot.net

Frank Warmerdam wrote:

I understand that Xen requires kernel modifications, and doesn't work well
with some older systems. Who is familiar with those limitations? For
instance, I'd like to be able to run VMs on "osgeo2" but I think it is
running a somewhat antique RHEL, is that right? Will it support Xen?
Can we even run the vmware player on it?

Frank,

There is one essential difference between VMWare-like and Xen-based
solutions. The former is real virtualization and the latter is
paravirtualization or hardware-based virtualization.

Using VMWare is easier because it can host almost any operating system
without dedicated hardware or modifications of OS code.
According to documentation, Xen solution needs that guest OS is "aware of
being virtualized" so it requires modification of OS code.
Or, in order to achieve full virtualizationw and without modifying
guest OS, Xen requires special hardware features (Intel and AMD
virtualization features).

Xen solutions seems to be less universal but hardware specific, so Xen
performs better. VMWare, Parallels are easier to setup, do not require any
specific hardware and can run unomidifed guest OS, so they perform
"slower"
or require more resources.

This is my understanding of essential differences between Xen and VMWare.

Cheers
--
Mateusz Loskot
http://mateusz.loskot.net

I looked into and tested Xen about a year ago when i was deciding on a
virtual machine solution and I didn't find any real difference in
performance between Xen and vmware. In the end i went with vmware
(would of preferred Xen b/c of it's OSS nature) but, it wasn't as
flexible nor as portable as vmware.

For vmware the general rule of thumb i've used for figuring out memory
resources is.

Amount of memory configured for each vm
+ (50MB * # of vms)
+ 24MB (virtualization layer)
+ 200MB (service console)
+ (6% min free memory level)
= min amount of ram needed.

I'm not sure what the comparable thumb rule for Xen is.

shawn

On Tue, 2007-11-20 at 20:06 +0100, Mateusz Loskot wrote:

Frank Warmerdam wrote:
>
> I understand that Xen requires kernel modifications, and doesn't work well
> with some older systems. Who is familiar with those limitations? For
> instance, I'd like to be able to run VMs on "osgeo2" but I think it is
> running a somewhat antique RHEL, is that right? Will it support Xen?
> Can we even run the vmware player on it?

Frank,

There is one essential difference between VMWare-like and Xen-based
solutions. The former is real virtualization and the latter is
paravirtualization or hardware-based virtualization.

Using VMWare is easier because it can host almost any operating system
without dedicated hardware or modifications of OS code.
According to documentation, Xen solution needs that guest OS is "aware of
being virtualized" so it requires modification of OS code.
Or, in order to achieve full virtualizationw and without modifying
guest OS, Xen requires special hardware features (Intel and AMD
virtualization features).

Xen solutions seems to be less universal but hardware specific, so Xen
performs better. VMWare, Parallels are easier to setup, do not require any
specific hardware and can run unomidifed guest OS, so they perform
"slower"
or require more resources.

This is my understanding of essential differences between Xen and VMWare.

Cheers

Hi folks,
just after two or three lines on IRC I knew this would turn into
something that matches the pattern of the well-known distribution wars
- I know, I'm guilty because I've been participating myself .... :slight_smile:

As usual, everybody is pretty well-informed about their favourite
virtualization environment. As usual, everybody highlights the
advantages of their favourite and makes wild guesses about the
'competing' solutions.
In order to make a decision easier, it could be adequate to simply
leave the decision to that person who's going to set up the whole thing
and, not to forget, who's going to take responsibility for the final
result :wink:

Cheerio,
  Martin.
--
Unix _IS_ user friendly - it's just selective about who its friends are !
--------------------------------------------------------------------------

Martin Spott wrote:

In order to make a decision easier, it could be adequate to simply
leave the decision to that person who's going to set up the whole
thing and, not to forget, who's going to take responsibility for the
final result :wink:

Martin,

I'm not sure we can leave such critical decisions without
approval by SAC. I think there are some requirements involved
and selected option has to fulfill them, for example virtualization env
should allow to run Linux (Debian, Ubuntu, RH, FC), Windows >=XP as a
guest system.

Cheers
--
Mateusz Loskot
http://mateusz.loskot.net

Here is another suggestion (from a colleague of mine):

http://www.virtualbox.org/
"Presently, VirtualBox runs on Windows, Linux and Macintosh hosts
and supports a large number of guest operating systems including
but not limited to Windows (NT 4.0, 2000, XP, Server 2003, Vista),
DOS/Windows 3.x, Linux (2.4 and 2.6), and OpenBSD.
"

"VirtualBox Open Source Edition (OSE)
The VirtualBox OSE sources are available free of charge under the
terms and conditions of the GNU General Public License, Version 2.
"

Markus

On Nov 20, 2007 7:50 PM, Mateusz Loskot <mateusz@loskot.net> wrote:

Daniel Morissette wrote:
> Frank Warmerdam wrote:
>>
>> Anyways, before we invest to much time and energy setting up VMs for
>> buildslaves (for instance), I'd love to see us have a discussion as
>> a group and decide on a VM technology we are interested in committing
>> to.
>>
>
> I've heard very good things about OpenVZ from someone using dozens of
> VMs on a farm of servers, including some very high traffic sites:
>
> http://openvz.org/
>
> The main advantage of OpenVZ over VMWare and many others is performance
> since it makes better use of system resources. Unfortunately I don't
> know much more than that about it and never had time to look at it.

The disadvantage I see is:

"OpenVZ is limited in that it requires both the host and
guest OS to be Linux"

http://en.wikipedia.org/wiki/OpenVZ

For Buildbot purposes, we need to be able to host both, Linux and Windows.

Cheers
--
Mateusz Loskot
http://mateusz.loskot.net

_______________________________________________
Sac mailing list
Sac@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/sac

--
Open Source Geospatial Foundation
http://www.osgeo.org/
http://www.grassbook.org/