Subject: [alpine-devel] Use cases of Alpine Linux and Xen

From: Roger Pau Monné <[email-masked]>
Date: Fri, 18 Jan 2013 12:13:59 +0100

Hello,

I'm planning to write a blog post about Alpine Linux and it's Xen
support on http://blog.xen.org if that's fine with everyone. Since
Alpine Linux is not as widely known as let's say Debian or Fedora I
would like to get some feedback from users that are actually using
Alpine Linux and Xen. Mainly I would be interested in the following points:

* Why did you choose Alpine Linux as your Dom0?
* What do you think are the benefits of using an Alpine Linux Dom0 over
other distributions?

If you would also like to contribute with specific use-cases or examples
where Alpine Linux Dom0 is a good choice I would also welcome them very
much.

Thanks, Roger.

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---

---

From: Der Tiger <[email-masked]>
Date: Sun, 20 Jan 2013 15:39:41 +0100

Hi Roger,

> * Why did you choose Alpine Linux as your Dom0?
Before settling on Alpine Linux, I ran a comparison between 48 Linux or
FreeBSD based OS developed targeting (or at least supporting) SOHO
router hardware. I'm quite sure I've overlooked some, but if an OS is
hard to find it is most likely too new to be stable and/or has a small
group of followers and contributors, perhaps even too small to stay alive.

My personal main criteria were:

1) OS has to run on low-end machines (e.g. Intel Atom) for economic 24/7
availability. To reduce the hardware requirements, it has to be modular
with a small footprint base system.
2) There has to be an open and active group of developers. Any company
based, closed development won't cut it.
3) Keeping the OS up to date and installing software has to be easy, so
there has to be a packet manager or something similar and a large
software library with reasonable number of software packets available.
4) There has to be a self-explaining, web based GUI available for
configuration and maintenance. Adding my own programs and creating
extensions to the GUI for them has to be practicable.
5) The base system has to provide proper security like grsec/PAX or SELinux.

Alpine Linux was one of the very few OS that met all five criteria.

> * What do you think are the benefits of using an Alpine Linux Dom0 over
Even the base system installation of any major Linux distribution (e.g.
Fedora, Ubuntu) creates much more overhead and requires higher
performance hardware, than a smaller OS like Alpine Linux or Voyage
Linux, without any considerable benefit. The implementation and
distribution of bug fixes for any non-kernel related problem takes
forever in most popular Linux and FreeBSD distributions, while Alpine
Linux has a very active XEN users and developers group supplying both,
maintenance to XEN and some degree of support through the Alpine Wiki
and this mailing list.

> where Alpine Linux Dom0 is a good choice I would also welcome them very
My Alpine Linux system centralizes a number of peripheral functions like
network routing and filtering (Privoxy), in-house, in- and outgoing
telephony with several extensions including a door intercom (Asterisk),
controlling the electric heating of the top floor of the building,
supervising the gas powered heating of the rest of the house as well as
the warm water supply (OWFS). Some of those functions have to be highly
available like the heating during winter, why changes to the related
software have to be done very cautiously, while other parts of the
installed software (e.g. Asterisk) require frequent updates to get rid
of security holes and annoying bugs.

It therefore is recommended to install the software required to be
highly available onto a virtual machine (DomU) in order to isolate it
from changes to the rest of the software. Further, if the Dom0 somehow
becomes inoperable, the DomU can easily be transferred to any other
system using the Alpine Linux XEN LiveCD in order to restore the highly
needed functions shortly.

Hope it helps, Tiger

---

---

From: Florian Heigl <[email-masked]>
Date: Sun, 20 Jan 2013 18:38:06 +0200

Hi,
Time goes just too fast.
Better I get started on an reply.

* Why did you choose Alpine Linux as your Dom0?
1) size: It has a lean codebase, a very vanilla and modern kernel, which
makes it realistic to apply changes without risk of introducing new issues.
Examples that are relevant for me were: OpenVswitch. Another example is
Flashcache (for example Flashcache is still in Catchup on resilience
features like ssd loss handling. There might be a nice and tiny patch that
does all I want. It is thus really important to be able to add some patches
to flashcache with smaller means than "yum -y upgrade"
On a distro that is mostly outdated plus important patches plus backports,
this can be much, much harder, resulting in more frustration on my side,
not to mention the difference in "OPEX" for doing those changes.
Another example would be taming the monster named ixgbe + vnics.
This or NPIV are highly relevant functions for virtualization if you want
abstraction "done right". They're practically impossible to use on major
distros though.

2) Unique features.
I found out about Alpine not as a Xen distro - I found it because I was
looking for something that goes beyond the commonly available networking
options, be it very old (bridging) or newer (openvswitch+gre as the current
practice).
I want to be able to run a really virtualized infrastructure and after
months found out there is only one distro that offers DMVPN.
Next I found out that distro is made with a very network-engineeric
mindset, being able to run from RAM and actually designed to make that
easy. I've in the past made CentOS and later OracleVM (google: xen black
magic) run "almost stateless" from a readonly root with a lot of ram-backed
tmpfs, and it was as far as you can take those RHEL-based distros. You'll
also be just as far from any idea of vendor support with such a setup.
Just imagine my surprise when I found Alpine comes with this designed in
and commonly run in a ram-backed mode.
Why is that so important?
Because, let's be honest, dom0 is not important. Important are those VMs
I'm running for other people and that pesky dom0 should be incredibly
indestructible and immortal so it can always serve them. No matter if all
my disks failed, the networking died or the sun is sending nasty rays
upsetting my ECC memory (Yes, Alpine helps me with that too because it has
a current kernel and so it can read the MCE data passed from Xen)

3. Advantages over other dom0 distros
the distros are split in three groups currently:
- Distros not designed for embedded-ish use. They can be used in the sense
of a dom0, but they are trying to suit everyone.
Yes, you can strip down all of them, but thats something different than
someone checking their being usable to some task in the first place.
Virtualization, in their context, is running a VM on the dev's laptop and
be amazed that it works. Thus they'll also focus on libvirt and
virt-manager. Worse, for trying to build a stable platform is their
tendency towards desktop parts like dbus, udev (yeah I said it) and
upstart/systemd (and I said it again).

Debian
Ubuntu
RHEL*
The first 3 usually don't have a fully working Xen, or it's outdated, or
it's not supported right now[tm].

SUSE (ok, they get many points for being on the edge of things most of the
time)

- Distros that are hypervisor-optimized, but except to be some other
system's worker node.
Oracle VM
Oracle VM has been my fav platform and I'm certified to build or break it,
but let's be honest - Oracle VM is for running Oracle VMs. I don't do that
all that much.
XCP
XenServer
(SmartOS, too, and I love Zones so I'll live with it using KVM instead of
Xen)

I've made a point to strip / rebuild Oracle VM so that it runs on it's own.
That was successful and I've used that setup for a few years. What turned
me off (for my case) was that I needed a newer Xen + Kernel setup to bring
in all those goodies.
I'll never again use any of those distros in their "normal" mode which is
all a messed up python-tracebacks and U-U-I-D mess.

- Distros I can't afford:
SUSE Carrier Grade Linux (Here I could also run Veritas Cluster / FS which
would mean a stable storage subsystem. But that I can't afford either)
Montavista " " " (Ok, that's using KVM but I'd suck it up if I had that on
all my servers)

- Distros that don't exist as far as I'm concerned:
Symatec's Xen Datacenter platform
xVM

tl;dr / quotable part :)
Alpine does not try to set a direction for VM management, nor on anything
else. This means it's possible to build a well-integrated robust platform.
Due to the small footprint it's possible to easily adjust it to my needs,
add new features and verify the whole platform is working as intended.
I quite miss something like kickstart, but to be honest I can now simply
install a host using "dd" and adjusting the IP. In other distros you need
powerful installation frameworks to tame a complexity Alpine simply avoids
the having used the "simple stick" on time.

Greetings
Florian

In case anyone wonders if I'm simply unable to stick with a distro - no :)
I'm using Xen very long, felt the need for some embedded distro very early,
rolled my own (XenDistro) and used that for 5 years-ish. That brought along
a curiosity and so I simply tested every new thing that people came up with.
At work, we used XenServer and I've supported that platform since the 3.x
days, creating the base my dislike of anything that has a UUID in it - but
I pretty much like the 6.x series so far.

2013/1/18 Roger Pau Monné <[email-masked]>

-- 
the purpose of libvirt is to provide an abstraction layer hiding all xen
features added since 2006 until they were finally understood and copied by
the kvm devs.